mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-15 09:30:06 +00:00
31a9bc8c55
libgcc ifunc resolvers that access hwcap via a field in the tcb can't be called until the thread pointer is set up. Other ifunc resolvers might need access to at_platform. This patch sets up a fake thread pointer early to a copy of tcbhead_t. hwcapinfo.c already had local variables for hwcap and at_platform, replace them with an entire tcbhead_t. It's not that large and this way we easily ensure hwcap and at_platform are at the same relative offsets as they are in the real thread block. The patch also conditionally disables part of tst-tlsifunc-static, "bar address read from IFUNC resolver is incorrect". We can't get a proper address for a thread variable before glibc initialises tls. Reviewed-by: Tulio Magno Quites Machado Filho <tuliom@linux.ibm.com> |
||
---|---|---|
.. | ||
bits | ||
elide.h | ||
Makefile | ||
pthread_spin_lock.c | ||
pthread_spin_trylock.c | ||
pthread_spin_unlock.c | ||
pthread-offsets.h | ||
pthreaddef.h | ||
tcb-offsets.sym | ||
thread_pointer.h | ||
tls.h |