[Buildroot] Building ARM with Soft-float

Bernhard Fischer rep.dot.nop at gmail.com
Fri Sep 28 17:01:09 UTC 2007


On Fri, Sep 28, 2007 at 06:28:08PM +0200, Ulf Samuelsson wrote:
>fre 2007-09-28 klockan 10:56 +0200 skrev Ulf Samuelsson:
>> Tried the Integrator-926ejs default.
>> =>	This works:
>> 
>
>Beeing trying the ARM integrator softfloat the whole day.
>
>Vanilla configuration works.
>generic-arm, instead of arm926ejs works
>
>oabi, instead of eabi, generates a new problem
>which was not present a week ago.
>The C compiler seems to be built with EABI...

double-check, triple-check your BR2_GNU_TARGET_SUFFIX

And i'm not doing OABI ;)
>
>My configuration is as follows
>> grep ABI .config
>BR2_ARM_OABI=y
># BR2_ARM_EABI is not set
>> grep ABI toolchain_build_arm_nofpu/uClibc-0.9.29/.config
>CONFIG_ARM_OABI=y
># CONFIG_ARM_EABI is not set
>> grep abi .config
>BR2_GNU_TARGET_SUFFIX="uclibc-linux-gnueabi"

yea, that'd be it. Everything is fine.
>
>I compile the file a.c:  
>
>> cat a.c
>#ifdef  __ARM_EABI__
>#warning "EABI"
>#endif
>> ./arm-uclibc-linux-gnueabi-gcc a.c
>a.c:2:2: warning: #warning "EABI"
>
>Why is this?

See above
>
>This results in a failure, since
>uClibc/include/bits/sysnum.h is generated from 
><kernel-header>/asm/arch/unistd.h
>and if __ARM_EABI__ is set, then 
>the Syscall numbers are wrong, and the 
>_NR_syscall definition is not (base+113)
>as it was one week ago
>#define _NR_syscall  (<base>+113)
>instead it is
>#define _NR_syscall  _NR_syscall
>
>so the build of syscalls.c in uClibc fails.
>
>I can't see anything in the toolset which configures
>the ABI for the compiler.

Please look more carefully (see above)



More information about the buildroot mailing list