RFC: Disallow undocumented IA32 TLS GD access

H.J. Lu hjl@lucon.org
Thu Aug 23 15:03:00 GMT 2007


IA32 TLS GD access model specifies

leal    foo@TLSGD(,%ebx,1), %eax
call    ___tls_get_addr

But the current linker also accepts

leal    foo@TLSGD(%ebx), %eax
call    ___tls_get_addr

However, GD->IE transition needs one more byte to change it to

movl %gs:0, %eax; subl $foo@gottpoff(%reg), %eax

I'd like to change the linker to accept

leal    foo@TLSGD(%ebx), %eax
call    ___tls_get_addr

only if there is a nop after it. Is there any objection?


H.J.



More information about the Binutils mailing list