glibc/include
Ulrich Drepper 32e6df3621 Update.
2001-12-11  Jakub Jelinek  <jakub@redhat.com>

	* elf/Makefile (dl-routines): Add conflict.
	(rtld-ldscript-in, rtld-ldscript, rtld-parms): Remove.
	(ld.so): Add _begin local symbol.
	* elf/elf.h (DT_VALTAGIDX, DT_VALNUM, DT_ADDRTAGIDX, DT_ADDRNUM):
	Define.
	* elf/dl-deps.c (_dl_build_local_scope): New.
	(_dl_map_object_deps): If LD_TRACE_PRELINKING, compute local scopes
	of all libraries.
	* elf/do-rel.h (VALIDX): Define.
	(elf_dynamic_do_rel): If ELF_MACHINE_PLT_REL is defined, don't do
	lazy binding for RELA.  If DT_GNU_PRELINKED, DT_RELACOUNT relocations
	can be skipped.
	* elf/dl-conflict.c: New file.
	* elf/dl-lookup.c (_dl_debug_bindings): New.
	(_dl_lookup_symbol): Use _dl_debug_bindings.  Reference_name is always
	non-NULL.
	(_dl_lookup_symbol_skip): Likewise.
	(_dl_lookup_versioned_symbol): Likewise.
	(_dl_lookup_versioned_symbol_skip): Likewise.
	* elf/dl-runtime.c (PLTREL): If ELF_MACHINE_PLT_REL is defined,
	define to ElfW(Rel).
	* elf/dynamic-link.h (elf_get_dynamic_info): Record selected dynamic
	tags in the DT_VALRNGLO..DT_VALRNGHI and DT_ADDRRNGLO..DT_ADDRRNGHI
	ranges.
	Don't adjust address dynamic tags if l_addr is 0.
	* elf/rtld.c (_dl_trace_prelink, _dl_trace_prelink_map): New variables.
	(_dl_start): Skip ELF_DYNAMIC_RELOCATE if ld.so is prelinked.
	(VALIDX, ADDRIDX): Define.
	(_dl_start_final): Initialize _dl_rtld_map's l_map_start and l_map_end.
	(dl_main): Print library list for LD_TRACE_PRELINKING.
	If prelinking information can be used, skip relocating libraries and
	call _dl_resolve_conflicts instead.
	(process_envvars): Handle LD_TRACE_PRELINKING envvar.
	* elf/dl-load.c (_dl_map_object): Don't create fake libs
	if LD_TRACE_PRELINKING.
	* include/link.h (struct link_map) [l_info]: Add DT_VALNUM
	+ DT_ADDRNUM.
	* sysdeps/generic/ldsodefs.h (_dl_trace_prelink_map): New declaration.
	(DL_DEBUG_PRELINK): Define.
	(_dl_resolve_conflicts): Add prototype.

	* sysdeps/alpha/dl-machine.h (elf_machine_runtime_setup): Reinitialize
	.plt for prelinked libraries where prelinking info cannot be used.
	(elf_machine_rela): If relocating R_ALPHA_JMP_SLOT in .gnu.conflict
	section, use RESOLVE_CONFLICT_FIND_MAP to find out reloc's link_map.
	* sysdeps/arm/bits/link.h: New file.
	* sysdeps/arm/dl-machine.h (elf_machine_runtime_setup): Save original
	content of .got[1].
	(ELF_MACHINE_NO_RELA): Only define if RTLD_BOOTSTRAP.
	(ELF_MACHINE_PLT_REL): Define.
	(elf_machine_rela, elf_machine_rela_relative): New.
	(elf_machine_lazy_rel): Reinitialize R_ARM_JUMP_SLOT address instead
	of adjusting it if prelinked and prelinking cannot be used.
	* sysdeps/i386/bits/link.h: New file.
	* sysdeps/i386/dl-machine.h (elf_machine_runtime_setup): Save original
	content of .got[1].
	(ELF_MACHINE_NO_RELA): Only define if RTLD_BOOTSTRAP.
	(ELF_MACHINE_PLT_REL): Define.
	(elf_machine_rela, elf_machine_rela_relative): New.
	(elf_machine_lazy_rel): Reinitialize R_386_JUMP_SLOT address instead
	of adjusting it if prelinked and prelinking cannot be used.
	* sysdeps/powerpc/dl-machine.h (elf_machine_rela): If relocating
	conflicts, skip finaladdr computation.  Use RESOLVE_CONFLICT_FIND_MAP
	to find out map for R_PPC_JMP_SLOT relocs.
	* sysdeps/sparc/sparc32/dl-machine.h (VALIDX): Define.
	(OPCODE_BA): Define.
	(elf_machine_runtime_setup): Reinitialize .plt for prelinked
	libraries where prelinking info cannot be used.
	(sparc_fixup_plt): Renamed from elf_machine_fixup_plt.
	(elf_machine_fixup_plt): Call sparc_fixup_plt.
	(elf_machine_rela): Set value to 0 if relocating conflicts.
	Call sparc_fixup_plt for R_SPARC_JMP_SLOT.
	* sysdeps/sparc/sparc64/dl-machine.h (VALIDX): Define.
	(sparc64_fixup_plt): Fix a typo.
	(elf_machine_rela): Set value to 0 if relocating conflicts.
	Handle R_SPARC_JMP_SLOT relocs when relocating conflicts.
	(elf_machine_runtime_setup): Reinitialize .plt for prelinked
	libraries where prelinking info cannot be used.
	* sysdeps/sh/bits/link.h: New file.
	* sysdeps/sh/dl-machine.h (elf_machine_runtime_setup): Save original
	content of .got[1].
	(elf_machine_lazy_rel): Reinitialize R_SH_JMP_SLOT address instead
	of adjusting it if prelinked and prelinking cannot be used.
	* sysdeps/s390/s390-32/bits/link.h: New file.
	* sysdeps/s390/s390-32/dl-machine.h (elf_machine_runtime_setup):
	Save original content of .got[1].
	(elf_machine_lazy_rel): Reinitialize R_390_JMP_SLOT address instead
	of adjusting it if prelinked and prelinking cannot be used.
	* sysdeps/s390/s390-64/bits/link.h: New file.
	* sysdeps/s390/s390-64/dl-machine.h (elf_machine_runtime_setup):
	Save original content of .got[1].
	(elf_machine_lazy_rel): Reinitialize R_390_JMP_SLOT address instead
	of adjusting it if prelinked and prelinking cannot be used.
	* sysdeps/x86_64/bits/link.h: New file.
	* sysdeps/x86_64/dl-machine.h (elf_machine_runtime_setup):
	Save original content of .got[1].
	(elf_machine_lazy_rel): Reinitialize R_X86_64_JMP_SLOT address instead
	of adjusting it if prelinked and prelinking cannot be used.
2001-12-12 00:21:26 +00:00
..
arpa Update. 2000-04-04 06:38:32 +00:00
bits Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
gnu Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
netinet Add prototype for foo. 2000-12-27 19:58:36 +00:00
protocols (abmon): Remove spaces. 1998-11-12 18:03:43 +00:00
rpc Update. 2001-03-26 05:17:47 +00:00
rpcsvc * include/rpcsvc/nis.h: New. Bounce to nis/rpcsvc. * include/rpcsvc/nis_tags.h: Likewise. * include/rpcsvc/nislib.h: Likewise. 1998-02-04 10:32:05 +00:00
sys send returns ssize_t. 2001-04-24 13:36:50 +00:00
aio.h Update. 1999-11-23 17:22:17 +00:00
aliases.h * include/netinet/ether.h (DECLARE_NSS_PROTOTYPES): New. 2000-12-19 09:50:44 +00:00
alloca.h Update. 1999-11-23 17:22:17 +00:00
argp.h Update. 2000-12-28 15:08:51 +00:00
argz.h Update. 1997-06-21 02:59:26 +00:00
assert.h Update. 1997-06-21 02:59:26 +00:00
byteswap.h Update. 1998-04-10 10:52:25 +00:00
complex.h Update. 1998-08-03 16:47:01 +00:00
ctype.h Update. 1997-06-21 02:59:26 +00:00
des.h Update. 1998-03-24 10:39:42 +00:00
dirent.h Update. 2001-08-20 07:17:10 +00:00
dlfcn.h Update. 2001-09-23 02:10:30 +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 Update. 1997-06-21 02:59:26 +00:00
err.h Update. 1997-06-21 02:59:26 +00:00
errno.h Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
error.h Update. 1997-06-21 02:59:26 +00:00
execinfo.h Update. 1999-11-23 17:22:17 +00:00
fcntl.h Update. 2001-02-05 17:12:57 +00:00
features.h * include/features.h (__GLIBC_HAVE_LONG_LONG): Define for 2001-11-19 10:12:15 +00:00
fenv.h Add prototype for foo. 2000-12-27 19:58:36 +00:00
fnmatch.h Update. 1997-06-21 02:59:26 +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.h Update. 2000-12-27 20:25:30 +00:00
glob.h Update. 2000-08-19 16:58:09 +00:00
gmp.h Update. 2000-12-05 17:34:28 +00:00
gnu-versions.h Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
grp.h Add prototype for foo. 2000-12-27 19:58:36 +00:00
iconv.h Update. 1999-08-21 00:38:15 +00:00
langinfo.h Undo last patch. 2000-09-26 17:19:47 +00:00
libc-internal.h Update. 2001-04-23 19:01:10 +00:00
libc-symbols.h Update. 2001-08-03 23:04:10 +00:00
libgen.h Update. 1997-06-21 02:59:26 +00:00
libintl.h Update. 2000-08-28 23:52:21 +00:00
limits.h Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
linewrap.h Update. 1997-06-21 02:59:26 +00:00
link.h Update. 2001-12-12 00:21:26 +00:00
locale.h Update. 2001-12-10 01:37:56 +00:00
malloc.h Update. 1997-06-21 02:59:26 +00:00
math.h Update. 1999-11-23 17:22:17 +00:00
mcheck.h Update. 1997-06-21 02:59:26 +00:00
memory.h Update. 1997-06-21 02:59:26 +00:00
mntent.h Update. 1999-11-23 17:22:17 +00:00
monetary.h Update. 1997-06-21 02:59:26 +00:00
netdb.h Update. 2000-12-27 20:25:30 +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. 1997-06-21 02:59:26 +00:00
poll.h Update. 2000-08-21 16:02:48 +00:00
printf.h Update. 2000-12-27 07:56:28 +00:00
pthread.h Update. 2001-02-06 18:27:57 +00:00
pwd.h Add prototype for foo. 2000-12-27 19:58:36 +00:00
regex.h Update. 1998-12-08 13:12:47 +00:00
resolv.h Update. 2000-12-27 20:25:30 +00:00
sched.h Update. 2000-07-27 22:01:07 +00:00
search.h Update. 1999-11-23 17:31:31 +00:00
set-hooks.h Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
setjmp.h Update. 2000-12-27 20:25:30 +00:00
sgtty.h Update. 1997-06-21 02:59:26 +00:00
shadow.h Add prototype for foo. 2000-12-27 19:58:36 +00:00
shlib-compat.h Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
signal.h Update. 2001-02-05 19:55:22 +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 2001-07-20 Roland McGrath <roland@frob.com> 2001-07-21 05:09:59 +00:00
stdio.h Update. 2001-02-06 18:27:57 +00:00
stdlib.h Update. 2001-02-06 18:27:57 +00:00
string.h Update. 2001-08-30 23:22:02 +00:00
strings.h Update. 1997-06-21 02:59:26 +00:00
stub-tag.h Update. 1997-10-15 05:34:02 +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 Update. 2000-12-27 20:25:30 +00:00
tgmath.h Update. 1998-09-06 23:45:24 +00:00
time.h Update. 2000-11-01 08:10:10 +00:00
ttyent.h Update. 1997-06-21 02:59:26 +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 Update. 2001-03-21 18:53:05 +00:00
utime.h Update. 1997-06-21 02:59:26 +00:00
utmp.h Update. 1999-11-23 17:22:17 +00:00
values.h Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
wchar.h Update. 2001-08-17 07:51:36 +00:00
wctype.h Update. 2001-02-06 18:27:57 +00:00
wordexp.h Update. 1997-06-21 02:59:26 +00:00
xlocale.h Update. 1997-06-21 02:59:26 +00:00