Link requires __eabi with different gcc

Joel Sherrill joel.sherrill at oarcorp.com
Sun Feb 25 16:09:52 UTC 2007


Leon Pollak wrote:
> Ralf, thank you.
> Yes, I am doing a thing a bit weird...:-))
> I have a working demo project for mpc8247 under cygwin.
> I took the project directory AS-IS and try to receive the same result under 
> Linux and RTEMS tool chain. So, I use the original makefile and sources.
>
> On Sunday 25 February 2007, you wrote:
>   
>> Why do you use LD to link? Use gcc or g++ to link, linking is much more
>> than invoking LD, esp. with rtems (gcc -q rtems)
>>     
> This was how they did this...
> OK, I changed to gcc. The error is:
> /opt/rtems-4.7/lib/gcc/powerpc-rtems4.7/4.1.1/libgcc.a(eabi.o):(.got2+0x4): 
> undefined reference to `_SDA_BASE_'
> /opt/rtems-4.7/lib/gcc/powerpc-rtems4.7/4.1.1/libgcc.a(eabi.o):(.got2+0x10): 
> undefined reference to `_SDA2_BASE_'
> collect2: ld returned 1 exit status
>
> I searched all the rtems4.7 tarball - no reference to these variables in any 
> linkcmds file.
>
>   
I see them in the default ldscripts installed with the tools.  They 
don't sound new and
normally new, required linker symbols break every BSP at the same.  Anything
special about this demo?

 grep SDA2_BASE /opt/rtems-4.7/powerpc-rtems4.7/lib/ldscripts/*
/opt/rtems-4.7/powerpc-rtems4.7/lib/ldscripts/elf32ppc.x:    PROVIDE 
(_SDA2_BASE_ = 32768);
/opt/rtems-4.7/powerpc-rtems4.7/lib/ldscripts/elf32ppc.xbn:    PROVIDE 
(_SDA2_BASE_ = 32768);
/opt/rtems-4.7/powerpc-rtems4.7/lib/ldscripts/elf32ppc.xc:    PROVIDE 
(_SDA2_BASE_ = 32768);
/opt/rtems-4.7/powerpc-rtems4.7/lib/ldscripts/elf32ppc.xd:    PROVIDE 
(_SDA2_BASE_ = 32768);
/opt/rtems-4.7/powerpc-rtems4.7/lib/ldscripts/elf32ppc.xdc:    PROVIDE 
(_SDA2_BASE_ = 32768);
/opt/rtems-4.7/powerpc-rtems4.7/lib/ldscripts/elf32ppc.xdw:    PROVIDE 
(_SDA2_BASE_ = 32768);
/opt/rtems-4.7/powerpc-rtems4.7/lib/ldscripts/elf32ppc.xn:    PROVIDE 
(_SDA2_BASE_ = 32768);
/opt/rtems-4.7/powerpc-rtems4.7/lib/ldscripts/elf32ppc.xw:    PROVIDE 
(_SDA2_BASE_ = 32768);


>> I don't understand what you are doing.
>>
>> __eabi errors normally indicate linking objects of incompatible object
>> formats. This could be incompatible architectures, incompatible ABIs or
>> incompatbile toolchains.
>>     
> Well... tool chain is RTEMS 4.7. Everything is compiled from sources... What 
> and where can be else?
>
>   
>> Ralf
>>     
>
> Thank you.
>   




More information about the users mailing list