This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Problematic behavior of -Av8plus/-xarch=v8plus on SPARC


On Mon, Mar 01, 2010 at 07:28:40PM +0100, Eric Botcazou wrote:
> That part isn't because, when -flto is specified, GCC can generate essentially 
> empty assembly files (containing only strings) that are thus assembled into v8 
> object files by gas, while regular assembly files are assembled into v8+ ones.
> As a result, lto1 chokes when trying to load them together.
> 
> Now the Sun assembler (at least Sun WorkShop 6 2001/04/02 and 2003/12/18) 
> behaves differently: while you need to specify -xarch=v8plus to assemble v9 
> insns, if you specify it, you get a v8+ object file whatever its contents.
> 
> What should we do here?  Teach lto1 that v8 and v8+ are essentially the same, 
> change the behavior of -Av8plus/-xarch=v8plus to match that of Sun as, or 
> something else?

I'd say treat them essentially the same (like e.g. glibc and binutils do).
I don't think lto1 needs to care about the difference, for ld (ld.so etc.)
merging only EM_SPARC objects together means resulting EM_SPARC,
as soon as there is at least one EM_SPARC32PLUS object the result is
EM_SPARC32PLUS.  And, EM_SPARCV9 is incompatible with those other two.

	Jakub


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]