gcc for ARM in thumb mode
Richard Earnshaw
rearnsha@arm.com
Sat Feb 22 14:25:00 GMT 2003
> aha, somone who might know.
>
> Apologies if this is a can of worms :)
Very wriggly ones ;-)
>
> Is it possible to link ADS/SDT compiled libraries using an arm targetted
> gcc?
In summary no. GCC and ADS do not use the same procedure call standard,
so while you might "get away with it", the chances are that something will
come along quietly and bite you when you are least expecting it (the
differences are largely in the corners, but they do exist and some of the
corners have plenty of dust).
Note that ADS and SDT don't share a common ABI either (though you might be
able to persuade the ADS compiler to generate SDT confoming code -- I've
never tried it).
>
> gcc currently complains about the EABI version number being different. Is
> there any significant difference in the elf files between the compiler
> toolchains?
To be pedantic, gcc isn't complaining, but the GNU linker is. Objects
created by ADS are marked differently to those created by GCC/GAS.
>
> I did some searches for info
>
> it appears that there is/was a collision with the EF_ARM_SYMSARESORTED and
> EF_INTERWORK flags from EABI 0 is this still the case?
Don't know the answer to that one, sorry.
> I can't seem to find any information on interworking. Has this been
> deprecated in favour of some other method of calling between ARM and thumb
> code?
GCC's interworking code has been tested even less thoroughly than just
plain thumb code (which is to say it hasn't had much testing at all).
That all sounds a bit negative. The best encouragement I can give is that
ARM is currently working on a new and far more tightly laid down EABI
standard; this will be taking the Generic C++ ABI as the base for C++
code. Once this work is complete it would be nice to see configurations
of GCC conforming to it.
R.
More information about the Gcc
mailing list