LD and ARM interworking

Dave Murphy wintermute2k4@ntlworld.com
Tue Mar 9 10:16:00 GMT 2004


Hi,

I have a problem with an arm-elf targetted tool chain I'm buildling with
respect to interworking. I've been attempting to figure out how to turn off
the interworking warning when linking objects that only contain data since
this makes no sense when there is no code to interwork. I'm using the
release source tarballs of binutils 2.14, gcc 3.3.3 & newlib 1.12.0.

In the course of this I've discovered that LD has a serious issue with the
mixing of the two types of object. It appears that if one object has the
interworking flag set then the output elf gets that flag set. This results
in warnings about blah.o does not support interworking, whereas blah.elf
does.

When the intention was to compile an executable with interworking code, this
is correct. However, when the intention was for non-interworking code, this
behaviour is wrong. It appears that LD will *never* produce the opposite
warning 'blah.o supports interworking, whereas blah.elf does not'

Is there a way of specifying that the intent is to link only objects
containing non-interworking code and produce the correct warnings for that
case when interworked objects are linked in error?

Dave



More information about the Binutils mailing list