glibc/include
Ulrich Drepper c9ff0187a6 Introduce TLS descriptors for i386 and x86_64.
* 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.
2008-05-13 05:41:30 +00:00
..
arpa * include/resolv.h: Adjust __libc_res_nquery and __libc_res_nsend 2008-05-10 23:27:39 +00:00
bits * misc/error.h: Use __const instead of const. 2007-10-07 17:29:37 +00:00
gnu * sysdeps/generic/bits/libc-tsd.h [USE___THREAD]: Conditional 2002-10-11 10:52:20 +00:00
net Update. 2004-06-30 07:43:11 +00:00
netinet * nis/nis_addmember.c (nis_addmember): Avoid unnecessary copying. 2006-05-25 17:16:17 +00:00
protocols (abmon): Remove spaces. 1998-11-12 18:03:43 +00:00
rpc * include/rpc/pmap_prot.h: Mark all functions as hidden. 2006-05-15 20:46:12 +00:00
rpcsvc * nis/nis_domain_of.c (__nis_domain_of): New function. 2007-04-19 14:28:01 +00:00
sys Redefine __nonnull so that test for incorrect parameters in the libc code itself are not omitted. 2007-05-10 20:15:11 +00:00
aio.h typo. 2006-01-04 07:35:13 +00:00
aliases.h Declare __getaliasent_r as hidden. 2002-03-18 23:38:37 +00:00
alloca.h 2005-01-05 Mike Frysinger <vapier@gentoo.org> 2006-01-06 09:55:30 +00:00
argp.h Update. 2000-12-28 15:08:51 +00:00
argz.h 2002-08-03 Roland McGrath <roland@redhat.com> 2002-08-04 01:28:06 +00:00
assert.h * sysdeps/mach/_strerror.c (__strerror_r): Add libc_hidden_def. 2002-08-30 01:31:18 +00:00
atomic.h . 2007-07-31 13:33:18 +00:00
byteswap.h Update. 1998-04-10 10:52:25 +00:00
caller.h Header with call site checker definitions. 2004-03-27 02:43:52 +00:00
complex.h Update. 1998-08-03 16:47:01 +00:00
ctype.h Update. 2004-03-16 10:10:13 +00:00
des.h Update. 1998-03-24 10:39:42 +00:00
dirent.h [BZ #2226] 2006-02-12 21:41:44 +00:00
dlfcn.h * elf/dl-open.c (dl_open_worker): Declare l in 2 different 2007-03-17 17:09:13 +00:00
elf.h Update. 2000-06-08 04:48:56 +00:00
endian.h Update. 2001-03-30 05:34:59 +00:00
envz.h 2002-08-03 Roland McGrath <roland@redhat.com> 2002-08-04 01:28:06 +00:00
err.h * include/sys/syslog.h: Use libc_hidden_proto for syslog, vsyslog. 2002-08-03 12:59:33 +00:00
errno.h . 2007-07-31 13:33:18 +00:00
error.h Update. 1997-06-21 02:59:26 +00:00
execinfo.h * debug/pread64_chk.c: Use __libc_pread64 instead of __pread64. 2005-06-14 15:55:44 +00:00
fcntl.h * io/Makefile (aux): Add have_o_cloexec. 2007-08-03 04:09:03 +00:00
features.h * include/features.h (__GLIBC_MINOR__): Bump to 8. 2008-04-11 17:33:24 +00:00
fenv.h * sysdeps/powerpc/fpu/fenv_libc.h: Add libm_hidden_proto for 2008-04-12 00:51:34 +00:00
fnmatch.h * include/sys/resource.h: Use libc_hidden_proto for getpriority, 2002-08-04 03:50:21 +00:00
fpu_control.h Update. 1999-11-23 17:22:17 +00:00
ftw.h Update. 1997-06-21 02:59:26 +00:00
gconv.h Update. 1997-11-18 02:50:07 +00:00
getopt_int.h Update. 2004-03-09 10:36:53 +00:00
getopt.h Update. 2004-03-09 10:36:53 +00:00
glob.h Update. 2004-07-01 17:50:47 +00:00
gmp.h * include/gmp.h: Include/gmp-mparam.h. * stdlib/strtod.c: Include gmp-mparam.h before gmp.h and gmp-impl.h. 2003-03-14 05:48:18 +00:00
gnu-versions.h Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
grp.h * include/sys/wait.h (__waitpid): Add libc_hidden_proto. 2002-08-13 01:08:15 +00:00
iconv.h Update. 1999-08-21 00:38:15 +00:00
ifaddrs.h * include/ifaddrs.h: Remove in6ai_temporary. 2007-11-14 06:58:35 +00:00
inline-hashtab.h Introduce TLS descriptors for i386 and x86_64. 2008-05-13 05:41:30 +00:00
langinfo.h * locale/nl_langinfo.c (nl_langinfo): Just call __nl_langinfo_l. 2007-12-14 03:54:07 +00:00
libc-internal.h * include/libc-internal.h: Declare __libc_thread_freeres. 2003-02-22 22:46:40 +00:00
libc-symbols.h . 2007-07-31 13:33:18 +00:00
libgen.h Update. 1997-06-21 02:59:26 +00:00
libintl.h * debug/pread64_chk.c: Use __libc_pread64 instead of __pread64. 2005-06-14 15:55:44 +00:00
libio.h Update. 2002-12-20 09:33:33 +00:00
limits.h (LLONG_MIN, LLONG_MAX, ULLONG_MAX): Make sure these are defined for -D_GNU_SOURCE or -D_ISOC99_SOURCE even when not -std=c99. 2005-10-16 15:32:33 +00:00
link.h * include/link.h (FORCED_DYNAMIC_TLS_OFFSET): Define. 2008-01-17 20:20:00 +00:00
locale.h (__uselocale): Add libc_hidden_proto. 2007-02-02 15:29:40 +00:00
malloc.h * include/malloc.h: Remove _int_new_arena prototype. 2005-10-12 20:49:06 +00:00
math.h Update. 2002-09-10 01:40:26 +00:00
mcheck.h * include/sys/resource.h: Use libc_hidden_proto for getpriority, 2002-08-04 03:50:21 +00:00
memory.h Update. 1997-06-21 02:59:26 +00:00
mntent.h Update. 2002-04-09 20:36:24 +00:00
monetary.h Update. 2004-03-14 21:12:06 +00:00
mqueue.h Update. 2004-04-13 02:15:43 +00:00
netdb.h Declare __gethostbyaddr2_r and __gethostbyname3_r. 2007-10-30 00:43:16 +00:00
netgroup.h Update. 1997-06-21 02:59:26 +00:00
nl_types.h Update. 1997-12-22 20:53:38 +00:00
nss.h Update. 1997-06-21 02:59:26 +00:00
nsswitch.h Update. 1997-06-21 02:59:26 +00:00
obstack.h Update. 2002-08-04 09:27:27 +00:00
poll.h Update. 2000-08-21 16:02:48 +00:00
printf.h Update. 2002-08-03 07:02:10 +00:00
pthread.h * sysdeps/generic/libc-tls.c (__libc_setup_tls): Make the phdr loop 2002-08-05 06:38:00 +00:00
pty.h Update. 2004-10-24 21:29:41 +00:00
pwd.h * include/bits/dlfcn.h: New file. 2002-08-10 07:54:55 +00:00
regex.h * posix/regex_internal.h (re_sub_match_top_t): Remove unused member 2005-09-06 21:15:13 +00:00
resolv.h Adjust __libc_res_nquery and __libc_res_nsend prototypes. 2008-05-10 23:22:49 +00:00
sched.h * include/sys/stat.h: Add libc_hidden_proto for __fxstatat64. 2006-01-11 17:57:46 +00:00
search.h * include/sys/resource.h: Use libc_hidden_proto for getpriority, 2002-08-04 03:50:21 +00:00
set-hooks.h Update. 2003-06-11 21:57:23 +00:00
setjmp.h Update. 2003-08-31 18:10:47 +00:00
sgtty.h Update. 1997-06-21 02:59:26 +00:00
shadow.h * include/bits/dlfcn.h: New file. 2002-08-10 07:54:55 +00:00
shlib-compat.h . 2007-07-31 13:33:18 +00:00
signal.h * sysdeps/unix/sysv/linux/ia64/sigsuspend.c: File removed. 2006-07-31 05:58:51 +00:00
spawn.h Update. 2000-10-01 19:15:29 +00:00
stab.h Update. 1997-06-21 02:59:26 +00:00
stdio_ext.h * include/stdio_ext.h (__fsetlocking): Define as macro. 2007-10-01 21:21:46 +00:00
stdio.h * include/stdio.h (__asprintf_chk, __dprintf_chk, 2008-03-05 07:05:13 +00:00
stdlib.h * stdlib/stdlib.h: Define __compar_d_fn_t. Declare qsort_r. 2007-11-13 17:21:43 +00:00
string.h * include/string.h: Only redefine strndupa if this is really for 2007-01-13 21:31:45 +00:00
strings.h Update. 1997-06-21 02:59:26 +00:00
stub-tag.h [BZ #715] 2005-02-11 10:17:19 +00:00
stubs-biarch.h [BZ #715] 2005-02-11 10:17:19 +00:00
stubs-prologue.h * sysdeps/generic/bits/libc-tsd.h [USE___THREAD]: Conditional 2002-10-11 10:52:20 +00:00
syscall.h Update. 1997-06-21 02:59:26 +00:00
sysexits.h Update. 1997-06-21 02:59:26 +00:00
syslog.h Update. 1997-06-21 02:59:26 +00:00
tar.h Update. 1997-06-21 02:59:26 +00:00
termios.h * include/unistd.h (seteuid, setegid): Add libc_hidden_proto. 2002-08-13 00:24:58 +00:00
tgmath.h Update. 1998-09-06 23:45:24 +00:00
time.h * include/time.h: Declare __tzset_parse_tz and __tzset_compute. 2007-10-14 09:15:45 +00:00
tls.h . 2007-07-31 13:33:18 +00:00
ttyent.h * include/search.h: Use libc_hidden_proto for hsearch_r, lfind. 2002-08-04 01:29:29 +00:00
ucontext.h Update. 1999-10-12 18:17:41 +00:00
ulimit.h Update. 1999-11-23 17:22:17 +00:00
unistd.h 2006-07-30 Roland McGrath <roland@redhat.com> 2006-07-31 05:57:52 +00:00
utime.h * include/stdlib.h: Use libc_hidden_proto for qsort. 2002-08-03 22:26:33 +00:00
utmp.h Update. 2004-10-24 21:29:41 +00:00
values.h Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
wchar.h * include/stdio.h (__isoc99_fscanf, __isoc99_scanf, 2007-09-18 19:04:01 +00:00
wctype.h Update. 2004-03-16 10:10:13 +00:00
wordexp.h * include/unistd.h: Use libc_hidden_proto for _exit, alarm, confstr, 2002-08-04 03:30:56 +00:00
xlocale.h Update. 1997-06-21 02:59:26 +00:00