[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