This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
RFC: Disallow undocumented IA32 TLS GD access
- From: "H.J. Lu" <hjl at lucon dot org>
- To: binutils at sources dot redhat dot com
- Cc: gcc at gcc dot gnu dot org, GNU C Library <libc-alpha at sources dot redhat dot com>
- Date: Thu, 23 Aug 2007 07:48:26 -0700
- Subject: RFC: Disallow undocumented IA32 TLS GD access
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.