This is the mail archive of the binutils@sources.redhat.com 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: [PATCH] Sparc32 ELF TLS fixes


On Mon, 11 Apr 2005 22:16:06 +0200
Jakub Jelinek <jakub@redhat.com> wrote:

> The relocation are then misnamed, but guess we have to live with that.
> The values used in those relocations are never negative, so it makes sense.

I don't think they are misnamed, the "X" stands for Xor as in "Xor
instruction" or "relocation to a sethi/xor".  Anyways, it's silly
to argue about this :-)

The compiler has to emit XOR instructions in both cases, since we
don't know what the final (post TLS transition) relocation type will
be.

> I see
> FAIL: S-records with constructors
> failure both without and with this patch (SREC tests don't use TLS,
> so that's not surprising).

Yes, this is being discussed in a seperate thread.  When outputting
ELF we get .rodata section merging, when outputting SREC we do not.
So the VMA of the .bss section (which sits after .rodata) changes,
and thus relocations to .bss sections change, and thus instructions
quoted by the SREC records look different, causing the comparison
failure.

There are several tests in the testsuite which potentially suffer from
this kind of problem.  Tests which depend upon strict addresses of
some section will always fail when some new BFD backend optimization or
transformation is added.

> You apparently missed also:
> 
> 	* ld-sparc/tlssunpic32.dd: Update for TLS relocation fixes.

Sorry, I left this out of my patch by accident.


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