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] x86-64 TLS support


Jakub Jelinek <jakub@redhat.com> writes:

> On Fri, Sep 27, 2002 at 08:51:12AM +0200, Andreas Jaeger wrote:
>> I added a few small questions below but I didn't caught anything real
>> I guess.
>
>> > +	/* GD */
>> > +	.long	0x66666666
>> > +	leaq	sg1@tlsgd(%rip), %rdi
>> > +	call	__tls_get_addr@plt
>> > +	nop;nop;nop;nop
>> 
>> One quick question: These nops are just fillers to separate the
>> entries and not part of the GD - correct?  A nop with 4 bytes can be
>> written in a better way performancewise.
>
> The nops in the tests are to show that arbitrary instructions
> in between are allowed. Plus it is a visual separator of the sequences.

Ok, then fine with me, they serve their purpose.


>> > +#  GD -> IE because variable is referenced through IE too
>> > + +101c:	64 48 8b 04 25 00 00[ 	]+mov    %fs:0x0,%rax
>> > + +1023:	00 00 *
>> > + +1025:	48 03 05 f4 11 10 00[ 	]+add    1053172\(%rip\),%rax +# 102220 <_GLOBAL_OFFSET_TABLE_\+0x90>
>> > +#				-> R_X86_64_TPOFF64	sg2
>> 
>> Is the TPOFF64 correct here?  Looking at your writeup I see a GOTTPOFF
>
> Yes. GOTTPOFF is not a dynamic relocation. What the comment describes is
> that the instruction points to a GOT slot which has dynamic relocation xy
> against it. R_X86_64_GOTTPOFF reloc results in R_X86_64_TPOFF64 dynamic
> relocation (unless it is optimized into LE sequence in which case it has
> no dynamic relocation).

Ok.

>
>> > +  401064:	90[ 	]+nop *
>> > +  401065:	90[ 	]+nop *
>> > +  401066:	90[ 	]+nop *
>> > +  401067:	90[ 	]+nop *
>> > +#  LD
>> 
>> Isn't this a LD -> LE transition?  The header "LD" is misleading but
>> this might come from the fact that you assemble the file in different
>> ways.
>
> Of course it is LD -> LE. Changed in my copy (in ld-i386/tlsbin* too).

There were more of these transitions in that file.  Can you check the
rest also and edit it if necessary?

Andreas
-- 
 Andreas Jaeger
  SuSE Labs aj@suse.de
   private aj@arthur.inka.de
    http://www.suse.de/~aj


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