about summary refs log tree commit diff
path: root/sysdeps/x86
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2020-12-03 13:33:44 +0100
committerFlorian Weimer <fweimer@redhat.com>2020-12-03 13:48:55 +0100
commit1d9cbb96082e646de7515a1667efa041ffb79958 (patch)
treeb52e641f97c37dfed401538a038a4ae058ea87ce /sysdeps/x86
parent7c331116971d38e57703af4097ed13ab6bef91d0 (diff)
downloadglibc-1d9cbb96082e646de7515a1667efa041ffb79958.tar.gz
glibc-1d9cbb96082e646de7515a1667efa041ffb79958.tar.xz
glibc-1d9cbb96082e646de7515a1667efa041ffb79958.zip
x86: Fix THREAD_SELF definition to avoid ld.so crash (bug 27004)
The previous definition of THREAD_SELF did not tell the compiler
that %fs (or %gs) usage is invalid for the !DL_LOOKUP_GSCOPE_LOCK
case in _dl_lookup_symbol_x.  As a result, ld.so could try to use the
TCB before it was initialized.

As the comment in tls.h explains, asm volatile is undesirable here.
Using the __seg_fs (or __seg_gs) namespace does not interfere with
optimization, and expresses that THREAD_SELF is potentially trapping.
Diffstat (limited to 'sysdeps/x86')
0 files changed, 0 insertions, 0 deletions