glibc/sysdeps/i386
Roland McGrath ba79d61b44 * Makerules ($(common-objpfx)libc.so): Depend on $(elfobjdir)/ld.so.
* elf/dl-close.c: New file.
	* elf/link.h: Declare _dl_close.
	* elf/Makefile (routines): Add dl-close.
	* elf/dlclose.c (dlclose): Use _dl_close.

	* elf/Makefile ($(objpfx)librtld.so): Remove libelf from deps.

	* elf/dl-runtime.c (_dl_global_scope): New variable.
	(_dl_object_relocation_scope): New function.
	(fixup): Use it.
	* elf/rtld.c (dl_main): Use it.
	* elf/dl-open.c (_dl_open): Use it.  If (MODE & RTLD_GLOBAL), set the
	l_global bit and append the new map to _dl_global_scope.
	* elf/link.h: Declare _dl_global_scope, _dl_global_scope_alloc,
	and _dl_object_relocation_scope.

	* elf/link.h (struct link_map): Add l_loader member.
	Remove _dl_map_object_from_fd decl.
	* elf/dl-load.c (_dl_map_object): Pass LOADER to ...
	(_dl_map_object_from_fd): Take new arg LOADER and set l_loader member.
	(_dl_map_object): Try DT_RPATH from all loaders up the chain.

	* elf/dl-object.c (_dl_loaded): Variable removed.
	(_dl_default_scope): New variable replaces it.
	* elf/link.h (_dl_loaded): Remove variable decl; instead define as
	macro for _dl_default_scope[2].
	(_dl_default_scope): Declare it.
	* sysdeps/i386/dl-machine.h (RTLD_START): Use _dl_default_scope[2]
	instead of _dl_loaded.
	* sysdeps/m68k/dl-machine.h (RTLD_START): Likewise.
	* elf/rtld.c (dl_main): Use _dl_default_scope for symbol lookups.

	* elf/dl-reloc.c (_dl_relocate_object): Remove check for _dl_rtld_map.
	* elf/rtld.c (dl_main): Pass 0 for LAZY flag when re-relocating self.

	* elf/link.h (struct link_map.l_type): Remove lt_interpreter.
 	(struct link_map): Add new flag member l_global.

	* elf/dl-reloc.c (_dl_relocate_object): Check for _dl_rtld_map
	directly instead of looking for lt_interpreter.
	* sysdeps/i386/dl-machine.h (elf_machine_rel): Likewise.
	* elf/rtld.c (_dl_start): Don't bother setting BOOTSTRAP_MAP.l_type.
	(dl_main): Set _dl_rtld_map.l_type to lt_library.

	* elf/dl-deps.c (_dl_map_object_deps): Propagate MAP->l_type to
	dependencies loaded, downgrading lt_executable -> lt_library.

	* elf/dl-load.c (_dl_map_object_from_fd): Take new arg TYPE and set
	l_type from that, translating lt_library->lt_executable based on the
	file's ELF type.
	(_dl_map_object): Likewise.
	* elf/link.h: Update prototypes.
	* elf/dl-open.c: Pass type lt_loaded.
	* elf/rtld.c: Pass type lt_library.

	* elf/dl-load.c (_dl_map_object_from_fd): Handle null return from
	_dl_new_object.
	(_dl_map_object_from_fd: lose): Unchain and free L if it's not null.
	Free REALNAME, and just use NAME in error message.
	* elf/dl-object.c (_dl_new_object): If malloc fails, return null
	instead of calling _dl_signal_error.

	* elf/dl-load.c (_dl_map_object_from_fd): Close FD before signalling
	error for _dl_zerofd setup failure.

	* elf/dl-object.c (_dl_startup_loaded): Variable removed.
	* elf/link.h: Remove its decl.

	* elf/dl-reloc.c (_dl_relocate_object): Take new SCOPE arg and pass it
	through to _dl_lookup_symbol.
	* elf/link.h (_dl_relocate_object): Update comment and prototype.
	* elf/rtld.c (dl_main): Pass scope vector to _dl_relocate_object.

	* elf/dl-lookup.c (_dl_lookup_symbol): Arg SYMBOL_SCOPE is now a
	null-terminated vector of pointers, no longer a vector of exactly two.
	* elf/link.h (_dl_lookup_symbol): Update comment and prototype.

	* elf/dl-runtime.c (fixup): Set up scope for symbol lookup properly as
	done in _dl_relocate_object.

	* elf/dlopen.c: Pass "" to _dl_open when FILE is null.
1996-06-10 20:19:39 +00:00
..
elf Fri Aug 25 12:12:42 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> 1995-08-25 19:23:32 +00:00
fpu * sysdeps/i386/fpu/__math.h (logb): Correct contraint from =u to =t. 1996-05-29 05:12:55 +00:00
i486 Sun May 26 15:15:08 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> 1996-05-26 19:19:51 +00:00
i586 Updated from /src/gmp-2.0 1996-05-07 21:04:52 +00:00
__longjmp.S Fri Sep 1 16:16:12 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> 1995-09-01 22:25:08 +00:00
abort.c initial import 1995-02-18 01:27:10 +00:00
add_n.S Updated from /src/gmp-2.0 1996-05-07 21:04:52 +00:00
addmul_1.S Updated from /src/gmp-2.0 1996-05-07 21:04:52 +00:00
asm-syntax.h initial import 1995-02-18 01:27:10 +00:00
bsd-_setjmp.S Use JUMPTARGET macro in jmp insn. 1995-07-23 00:53:42 +00:00
bsd-setjmp.S Use JUMPTARGET macro in jmp insn. 1995-07-23 00:53:42 +00:00
bytesex.h initial import 1995-02-18 01:27:10 +00:00
bzero.c initial import 1995-02-18 01:27:10 +00:00
dl-machine.h * Makerules ($(common-objpfx)libc.so): Depend on $(elfobjdir)/ld.so. 1996-06-10 20:19:39 +00:00
ffs.c initial import 1995-02-18 01:27:10 +00:00
gmp-mparam.h Updated from /src/gmp-2.0 1996-05-07 21:04:52 +00:00
Implies * elf/link.h: Include elfclass.h to define __ELF_NATIVE_CLASS. 1996-06-10 13:03:12 +00:00
init-first.c Thu Sep 21 00:03:53 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> 1995-09-21 06:24:21 +00:00
jmp_buf.h Rewrote i386 setjmp in assembly. 1995-08-31 17:33:01 +00:00
ldbl2mpn.c Wed Mar 20 11:28:49 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> 1996-03-21 15:20:37 +00:00
lshift.S Updated from /src/gmp-2.0 1996-05-07 21:04:52 +00:00
Makefile * math/Makefile (libm-support, libm-calls): New variables. 1996-06-05 03:29:45 +00:00
memchr.S Sat Oct 14 02:52:36 1995 Ulrich Drepper <drepper@ipd.info.uni-karlsruhe.de> 1995-10-16 01:37:51 +00:00
memcmp.S Mon Feb 26 10:22:30 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu> 1996-02-27 00:55:03 +00:00
memcopy.h initial import 1995-02-18 01:27:10 +00:00
memset.c initial import 1995-02-18 01:27:10 +00:00
mul_1.S Updated from /src/gmp-2.0 1996-05-07 21:04:52 +00:00
rshift.S Updated from /src/gmp-2.0 1996-05-07 21:04:52 +00:00
setjmp.S Mon Mar 18 13:20:46 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu> 1996-03-18 18:32:47 +00:00
stpcpy.S Sat Oct 14 02:52:36 1995 Ulrich Drepper <drepper@ipd.info.uni-karlsruhe.de> 1995-10-16 01:37:51 +00:00
stpncpy.S Sat Oct 14 02:52:36 1995 Ulrich Drepper <drepper@ipd.info.uni-karlsruhe.de> 1995-10-16 01:37:51 +00:00
strchr.S Sat Oct 14 02:52:36 1995 Ulrich Drepper <drepper@ipd.info.uni-karlsruhe.de> 1995-10-16 01:37:51 +00:00
strcspn.S Sat Oct 14 02:52:36 1995 Ulrich Drepper <drepper@ipd.info.uni-karlsruhe.de> 1995-10-16 01:37:51 +00:00
strlen.c initial import 1995-02-18 01:27:10 +00:00
strpbrk.S Sat Oct 14 02:52:36 1995 Ulrich Drepper <drepper@ipd.info.uni-karlsruhe.de> 1995-10-16 01:37:51 +00:00
strrchr.S Tue May 14 19:42:04 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> 1996-05-15 15:49:26 +00:00
strspn.S Sat Oct 14 02:52:36 1995 Ulrich Drepper <drepper@ipd.info.uni-karlsruhe.de> 1995-10-16 01:37:51 +00:00
strtok_r.S Sun May 26 15:15:08 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> 1996-05-26 19:19:51 +00:00
strtok.S Thu May 30 11:24:05 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> 1996-05-30 16:12:42 +00:00
sub_n.S Updated from /src/gmp-2.0 1996-05-07 21:04:52 +00:00
submul_1.S Updated from /src/gmp-2.0 1996-05-07 21:04:52 +00:00