sparc gold support...

David Miller davem@davemloft.net
Mon Mar 31 03:17:00 GMT 2008


I'm actively working on a sparc port of GOLD and I'll
post here the generic issues I run into as I hit them.

The first roadblock I've hit was lack of -Y support,
even on GNU Linux we pass that into the Linker
command line and expect it to work.  This was
simple and I'm implemented support for -Y.  I'll
submit that patch once I have the Sparc port in
a somewhat submittable state since the option is
pointless without sparc targets.

Next, I need to be able to mix different machine_code objects in a
single link.  The old BFD based 'ld' allowed it so we have to continue
doing so.

Basically, if you have a mix of EM_SPARC and EM_SPARC32PLUS objects,
it should link successfully and the resulting object is marked as
EM_SPARC32PLUS.  Every GNU/Linux sparc system is going to run into
this because:

/usr/lib/crt1.o is EM_SPARC
/usr/lib/crti.o is EM_SPARC32PLUS

So linking anything requires allowing this kind of mixing situation.

I tried to synthesize this with different target selector
instantiations, but couldn't get it to work such that the object.cc
compatibility test would pass. :-(

Any suggestions?

Thanks.



More information about the Binutils mailing list