bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug ld/12608] TLS relocations issues on alpha


From: mcree at orcon dot net.nz
Subject: [Bug ld/12608] TLS relocations issues on alpha
Date: Sat, 2 Apr 2011 00:24:28 +0000

http://sourceware.org/bugzilla/show_bug.cgi?id=12608

--- Comment #13 from Michael Cree <mcree at orcon dot net.nz> 2011-04-02 
00:24:12 UTC ---
Created attachment 5641
  --> http://sourceware.org/bugzilla/attachment.cgi?id=5641
Patch to fix relax tls

Patch to fix this issue.

On entry to elf64_alpha_relax_tls_get_addr() the instructions are already
re-ordered to be in "canonical" order rather than actual execution order so
that when pos[0] is assigned it contains the address to tlsldm.  However pos[0]
and pos[1] are then swapped if the pos[1] is the instruction before pos[0] to
get them in memory address order.  This means that by the time the register to
pass to rduniq is calculated pos[0] may not contain the tlsldm instruction. 
The patch shifts the calculation of the register before the switch of pos[0]
and pos[1].

It would be good if someone more knowledgeable about binutils than I would
verify that my analysis is correct and that the fix does not introduce any
further problems.

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]