mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-24 02:03:35 +08:00
c9ff0187a6
* include/inline-hashtab.h: New file, copied from 2005's libiberty, with fix for memory leak imported afterwards by Glauber de Oliveira Costa. * elf/tlsdeschtab.h: New file. * elf/dl-reloc.c (_dl_try_allocate_static_tls): Extract from... (_dl_allocate_static_tls): ... here. Rearrange failure path. (CHECK_STATIC_TLS): Move to... * elf/dynamic-link.h: ... this file. (TRY_STATIC_TLS): New macro. * elf/dl-conflict.c (CHECK_STATIC_TLS, TRY_STATIC_TLS): Override. * elf/elf.h (R_386_TLS_GOTDESC, R_386_TLS_DESC_CALL, R_386_TLS_DESC): Define. (R_X86_64_PC64, R_X86_GOTOFF64, R_X86_64_GOTPC32): Merge from binutils. (R_X86_64_GOTPC32_TLSDESC, R_X86_64_TLSDESC_CALL, R_X86_64_TLSDESC): Define. (R_386_NUM, R_X86_64_NUM): Adjust. * sysdeps/i386/Makefile (sysdep-dl-routines, sysdep_routines, systep-rtld-routines): Add tlsdesc and dl-tlsdesc for elf subdir. (gen-as-const-headers): Add tlsdesc.sym to csu subdir. * sysdeps/i386/dl-lookupcfg.h: New file. Introduce _dl_unmap to release tlsdesc_table. * sysdeps/i386/dl-machine.h: Include dl-tlsdesc.h. (elf_machine_type_class): Mark R_386_TLS_DESC as PLT class. (elf_machine_rel): Handle R_386_TLS_DESC. (elf_machine_rela): Likewise. (elf_machine_lazy_rel): Likewise. (elf_machine_lazy_rela): Likewise. * sysdeps/i386/dl-tls.h (struct dl_tls_index): Name it. * sysdeps/i386/dl-tlsdesc.S: New file. * sysdeps/i386/dl-tlsdesc.h: New file. * sysdeps/i386/tlsdesc.c: New file. * sysdeps/i386/tlsdesc.sym: New file. * sysdeps/i386/bits/linkmap.h (struct link_map_machine): Add tlsdesc_table. * sysdeps/x86_64/Makefile (sysdep-dl-routines, sysdep_routines, systep-rtld-routines): Add tlsdesc and dl-tlsdesc for elf subdir. (gen-as-const-headers): Add tlsdesc.sym to csu subdir. * sysdeps/x86_64/dl-lookupcfg.h: New file. Introduce _dl_unmap to release tlsdesc_table. * sysdeps/x86_64/dl-machine.h: Include dl-tlsdesc.h. (elf_machine_runtime_setup): Set up lazy TLSDESC GOT entry. (elf_machine_type_class): Mark R_X86_64_TLSDESC as PLT class. (elf_machine_rel): Handle R_X86_64_TLSDESC. (elf_machine_rela): Likewise. (elf_machine_lazy_rel): Likewise. * sysdeps/x86_64/dl-tls.h (struct dl_tls_index): Name it. (__tls_get_addr): Do not declare for non-shared compiles. * sysdeps/x86_64/dl-tlsdesc.S: New file. * sysdeps/x86_64/dl-tlsdesc.h: New file. * sysdeps/x86_64/tlsdesc.c: New file. * sysdeps/x86_64/tlsdesc.sym: New file. * sysdeps/x86_64/bits/linkmap.h (struct link_map_machine): Add tlsdesc_table for both 32- and 64-bit structs. |
||
---|---|---|
.. | ||
arpa | ||
bits | ||
gnu | ||
net | ||
netinet | ||
protocols | ||
rpc | ||
rpcsvc | ||
sys | ||
aio.h | ||
aliases.h | ||
alloca.h | ||
argp.h | ||
argz.h | ||
assert.h | ||
atomic.h | ||
byteswap.h | ||
caller.h | ||
complex.h | ||
ctype.h | ||
des.h | ||
dirent.h | ||
dlfcn.h | ||
elf.h | ||
endian.h | ||
envz.h | ||
err.h | ||
errno.h | ||
error.h | ||
execinfo.h | ||
fcntl.h | ||
features.h | ||
fenv.h | ||
fnmatch.h | ||
fpu_control.h | ||
ftw.h | ||
gconv.h | ||
getopt_int.h | ||
getopt.h | ||
glob.h | ||
gmp.h | ||
gnu-versions.h | ||
grp.h | ||
iconv.h | ||
ifaddrs.h | ||
inline-hashtab.h | ||
langinfo.h | ||
libc-internal.h | ||
libc-symbols.h | ||
libgen.h | ||
libintl.h | ||
libio.h | ||
limits.h | ||
link.h | ||
locale.h | ||
malloc.h | ||
math.h | ||
mcheck.h | ||
memory.h | ||
mntent.h | ||
monetary.h | ||
mqueue.h | ||
netdb.h | ||
netgroup.h | ||
nl_types.h | ||
nss.h | ||
nsswitch.h | ||
obstack.h | ||
poll.h | ||
printf.h | ||
pthread.h | ||
pty.h | ||
pwd.h | ||
regex.h | ||
resolv.h | ||
sched.h | ||
search.h | ||
set-hooks.h | ||
setjmp.h | ||
sgtty.h | ||
shadow.h | ||
shlib-compat.h | ||
signal.h | ||
spawn.h | ||
stab.h | ||
stdio_ext.h | ||
stdio.h | ||
stdlib.h | ||
string.h | ||
strings.h | ||
stub-tag.h | ||
stubs-biarch.h | ||
stubs-prologue.h | ||
syscall.h | ||
sysexits.h | ||
syslog.h | ||
tar.h | ||
termios.h | ||
tgmath.h | ||
time.h | ||
tls.h | ||
ttyent.h | ||
ucontext.h | ||
ulimit.h | ||
unistd.h | ||
utime.h | ||
utmp.h | ||
values.h | ||
wchar.h | ||
wctype.h | ||
wordexp.h | ||
xlocale.h |