[oe] arm kernel configurations

Tom Talpey tmtalpey at rcn.com
Thu Oct 30 16:45:58 UTC 2008


At 11:08 AM 10/30/2008, Phil Blundell wrote:
>On Thu, 2008-10-30 at 10:40 -0400, Tom Talpey wrote:
>> At 11:26 AM 10/29/2008, Phil Blundell wrote:
>> >- if your userspace is pure EABI, make sure that you have
>> >CONFIG_OABI_COMPAT turned off.
>> 
>> My kernel(s) have all hung during exec of init when trying this.
>> Are you able to turn this off with non-thumb userspace?
>
>Yes, it doesn't require Thumb.  Are you sure that your userspace really
>is compiled for EABI and not OABI?

Yes:

>>[tmt at tmt bin]$ ./arm-angstrom-linux-gnueabi-gcc -v
>>Using built-in specs.
>>Target: arm-angstrom-linux-gnueabi
>>Configured with: /home/tmt/armdev/H1940/oe/build-h1940-gpe/tmp/work/armv4t-angstrom-linux-gnueabi/gcc-cross-4.2.4-r1/gcc-4.2.4/configure --build=i686-linux --host=i686-linux --target=arm-angstrom-linux-gnueabi --prefix=/home/tmt/armdev/H1940/oe/build-h1940-gpe/tmp/cross --exec_prefix=/home/tmt/armdev/H1940/oe/build-h1940-gpe/tmp/cross --bindir=/home/tmt/armdev/H1940/oe/build-h1940-gpe/tmp/cross/bin --sbindir=/home/tmt/armdev/H1940/oe/build-h1940-gpe/tmp/cross/bin --libexecdir=/home/tmt/armdev/H1940/oe/build-h1940-gpe/tmp/cross/libexec --datadir=/home/tmt/armdev/H1940/oe/build-h1940-gpe/tmp/cross/share --sysconfdir=/home/tmt/armdev/H1940/oe/build-h1940-gpe/tmp/cross/etc --sharedstatedir=/home/tmt/armdev/H1940/oe/build-h1940-gpe/tmp/cross/com --localstatedir=/home/tmt/armdev/H1940/oe/build-h1940-gpe/tmp/cross/var --libdir=/home/tmt/armdev/H1940/oe/build-h1940-gpe/tmp/cross/lib --includedir=/home/tmt/armdev/H1940/oe/build-h1940-gpe/tmp/cross/include --oldincludedir=/home/tmt/armdev/H1940/oe/build-h1940-gpe/tmp/cross/include --infodir=/home/tmt/armdev/H1940/oe/build-h1940-gpe/tmp/cross/share/info --mandir=/home/tmt/armdev/H1940/oe/build-h1940-gpe/tmp/cross/share/man --with-gnu-ld --enable-shared --enable-target-optspace --enable-languages=c,c++,fortran --enable-threads=posix --enable-multilib --enable-c99 --enable-long-long --enable-symvers=gnu --enable-libstdcxx-pch --program-prefix=arm-angstrom-linux-gnueabi- --enable-libssp --disable-bootstrap --disable-libgomp --disable-libmudflap --with-float=soft --with-local-prefix=/home/tmt/armdev/H1940/oe/build-h1940-gpe/tmp/staging/arm-angstrom-linux-gnueabi/usr --with-gxx-include-dir=/home/tmt/armdev/H1940/oe/build-h1940-gpe/tmp/staging/arm-angstrom-linux-gnueabi//usr/include/c++ --with-sysroot=/home/tmt/armdev/H1940/oe/build-h1940-gpe/tmp/staging/arm-angstrom-linux-gnueabi --with-build-sysroot=/home/tmt/armdev/H1940/oe/build-h1940-gpe/tmp/staging/arm-angstrom-linux-gnueabi --disable-libunwind-exceptions --with-mpfr=/home/tmt/armdev/H1940/oe/build-h1940-gpe/tmp/staging/i686-linux/usr --enable-__cxa_atexit
>>Thread model: posix
>>gcc version 4.2.4
>>[tmt at tmt bin]$ 

>> One side effect of turning off OABI_COMPAT is that the floating
>> point emulation also vanishes. I get the same behavior if I leave
>> OABI_COMPAT on and play with fp settings.
>
>That sounds rather like some part of your userspace has been built with
>hard-fpa floating point.  FPA is basically incompatible with EABI (and I
>think all extant EABI configs in OE are soft-float) so this would also
>indicate that you are actually using OABI.

As above - the specs do include "--with-float=soft". I guess I'll have to
dig some more. Do I also need -mfloat-abi=softfp in the machine.conf like
some of the other arm's?

BTW, on the subject of turning off the kernel frame pointer, I certainly agree
it's worth it. For one thing, the tiny screen never manages to show me enough
of a backtrace on oops anyway.

But the Kconfig comment does warn that RMK will kill us! ;-)

Tom.  





More information about the Openembedded-devel mailing list