Re: [arm-gnu] linking with -mabi=apcs-gnu
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [arm-gnu] linking with -mabi=apcs-gnu



On Thursday 09 March 2006 15:04, Bahadir Balban wrote:
> Hi,
>
> With 2005q3 arm-none-linux-gnuabi-gcc-3.4.4,
>
> I can produce object files with -mabi=apcs-gnu option as below:
>
> $ arm-none-linux-gnueabi-gcc -mabi=apcs-gnu -c ./src/tcp.c -DTCP -I./src
> $ arm-none-linux-gnueabi-gcc -mabi=apcs-gnu -c ./src/netpipe.c -DTCP
> -I./src
>
> But during linking I get the following:
> $ arm-none-linux-gnueabi-gcc -mabi=apcs-gnu -o NPtcp netpipe.o tcp.o
>
> /opt/arm-none-linux-gnueabi-2005q3-toolchain/bin/../lib/gcc/arm-none-linux-
>gnueabi/3.4.4/../../../../arm-none-linux-gnueabi/bin/ld: ERROR: Source
> object netpipe.o has EABI version 0, but target NPtcp has EABI version 4
> /opt/arm-none-linux-gnueabi-2005q3-toolchain/bin/../lib/gcc/arm-none-linux-
>gnueabi/3.4.4/../../../../arm-none-linux-gnueabi/bin/ld: failed to merge
> target specific data of file netpipe.o
>
> Why do I get this error during link? How do I get it to link the final
> executable with old abi?

The runtime libraries supplied with the CodeSourcery toolchains do not support 
the old apcs-gnu ABI. -mabi=apcs-gnu is only supported for compiling the 
linux kernel, and even that is deprecated with recent linux kernels.

Paul