This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: RFC: TLS improvements for IA32 and AMD64/EM64T
- From: Alexandre Oliva <aoliva at redhat dot com>
- To: "Menezes, Evandro" <evandro dot menezes at amd dot com>
- Cc: "Jan Beulich" <JBeulich at novell dot com>, "Michael Matz" <matz at suse dot de>, discuss at x86-64 dot org, "Andreas Jaeger" <aj at suse dot de>, binutils at sources dot redhat dot com, libc-alpha at sources dot redhat dot com, "Michael Meissner" <michael dot meissner at amd dot com>, "H. J. Lu" <hjl at lucon dot org>
- Date: Tue, 10 Oct 2006 05:22:50 -0300
- Subject: Re: RFC: TLS improvements for IA32 and AMD64/EM64T
- References: <1449F58C868D8D4E9C72945771150BDF5215EF@SAUSEXMB1.amd.com>
On Oct 9, 2006, "Menezes, Evandro" <evandro.menezes@amd.com> wrote:
> Would you consider adding the calculations for the new relocations
> in order to improve their clarity?
I can try, although relaxations make it much trickier than it might
seem.
> I remember some examples in your paper at the GCC Summit and adding
> them to section 3.5 would be swell too.
So we're talking *really* self-contained, eh? Fair enough, I'll take
a shot.
> From your paper at the GCC Summit it's quite clear that such
> additions to the psABI would be a fine idea. Perhaps HJ would like
> to consider the corresponding additions for the i386 psABI
> extension.
H.J., do you have the i386 psABI in source form somewhere I could get
it, to make the corresponding changes?
> So, there's no question about the technical part of your proposal.
> But, as you can infer from my comments above, I'd like to improve
> the clarity of the psABI so that one wouldn't have to go to specific
> implementations to figure out the details. What do you think?
Sounds like a reasonable goal.
> -+referenced symbol binds locally, the \texttt{DTPOFF} may be omitted.
> ++referenced symbol binds locally, the relocations \texttt{R_X86_64_64} and \texttt{R_X86_64_32} may be used instead.
No, in such cases the linker omits the relocation entirely, and fills
the corresponding stop with the value it can compute itself.
> +Otherwise, such relocations are always in pairs, such that the
> -+\texttt{DTPOFF64} relocation applies to the word64 right past the
> -+corresponding \texttt{DTPMOD} relocation.
> ++\texttt{R_X86_64_DTPOFF64} relocation applies to the word64 right past the
> ++corresponding \texttt{R_X86_64_DTPMOD64} relocation.
Ok, I've added R_X86_64_ everywhere I'd omitted it.
Please expect an updated patch soon.
If you'd rather install a patch with these minor modifications and
keep the more detailed patch separate, let me know and I'll send you
what I have right away.
--
Alexandre Oliva http://www.lsd.ic.unicamp.br/~oliva/
Secretary for FSF Latin America http://www.fsfla.org/
Red Hat Compiler Engineer aoliva@{redhat.com, gcc.gnu.org}
Free Software Evangelist oliva@{lsd.ic.unicamp.br, gnu.org}