glibc/sysdeps/unix
Ulrich Drepper c0f62c5678 [BZ #77]
Update.
	Add support for namespaces in the dynamic linker.
	* dlfcn/Makefile (libdl-routines): Add dlmopen.
	* dlfcn/Versions [libdl, GLIBC_2.3.4]: Add dlmopen.
	* dlfcn/dlfcn.h: Define Lmid_t, LM_ID_BASE, and LM_ID_NEWLM.
	Declare dlmopen.  Document RTLD_DI_LMID.
	* dlfcn/dlinfo.c: Handle RTLD_DI_LMID.
	* dlfcn/dlmopen.c: New file.
	* dlfcn/dlopen.c: Pass new parameter to _dl_open.
	* dlfcn/dlopenold.c: Likewise.
	* elf/dl-addr.c: Adjust for removal of GL(dl_loaded).
	* elf/dl-caller.c: Likewise.
	* elf/dl-close.c: Likewise.
	* elf/dl-conflict.c: Likewise.
	* elf/dl-debug.c: Likewise.
	* elf/dl-lookup.c: Likewise.
	* elf/dl-sym.c: Likewise.
	* elf/dl-version.c: Likewise.
	* elf/do-lookup.h: Likewise.
	* elf/rtld.c: Likewise.
	* sysdeps/unix/sysv/linux/i386/dl-librecon.h: Likewise.
	* elf/dl-depsc: Likewise.  Add new parameter to _dl_map_object.
	* elf/dl-fini.c: Call destructors in all namespaces.
	* elf/dl-iteratephdr.c: Compute total nloaded.  Adjust for removal of
	GL(dl_loaded).
	* elf/dl-libc.c: Pass new parameter to _dl_open.  Adjust for removal
	of GL(dl_loaded).
	* elf/dl-load.c (_dl_map_object_from_fd): Don't load ld.so a second
	time.  Reuse the one from the main namespace in all others.
	Pass new parameter to _dl_new_object.
	Adjust for removal of GL(dl_loaded).
	* elf/dl-object.c: Take new parameter.  Use it to initialize l_ns.
	Adjust for removal of GL(dl_loaded).
	* elf/dl-open.c (_dl_open): Take new parameter.
	Adjust for removal of GL(dl_loaded).
	* elf/dl-support.c: Replace global _dl_loaded etc variables with
	_dl_ns variable.
	* include/dlfcn.h: Adjust prototype of _dl_open.
	Define __LM_ID_CALLER.
	* include/link.h: Add l_real, l_ns, and l_direct_opencount elements.
	* sysdeps/generic/dl-tls.c: Bump TLS_STATIC_SURPLUS.  Since libc is
	using TLS we need memory appropriate to the number of namespaces.
	* sysdeps/generic/ldsodefs.h (struct rtld_global): Replace _dl_loaded,
	_dl_nloaded, _dl_global_scope, _dl_main_searchlist, and
	_dl_global_scope_alloc with _dl_ns element.  Define DL_NNS.
	Adjust prototypes of _dl_map_object and member in rtld_global_ro.
	* malloc/malloc.c: Include <dlfcn.h>.
	* malloc/arena.c (ptmalloc_init): If libc is not in primary namespace,
	never use brk.
	* elf/Makefile: Add rules to build and run tst-dlmopen1 and
	tst-dlmopen2.
	* elf/tst-dlmopen1.c: New file.
	* elf/tst-dlmopen1mod.c: New file.
	* elf/tst-dlmopen2.c: New file.

	* elf/dl-close.c: Improve reference counting by tracking direct loads.
	* elf/dl-lookup.c (add_dependency): Likewise.
	* elf/dl-open.c (dl_open_worker): Likewise.
	* elf/rtld.c (dl_main): Likewise.

2004-09-09  GOTO Masanori  <gotom@debian.or.jp>

	[BZ #77]
	* elf/dl-close.c: Count down l_opencount to check not only for
	l_reldeps, but also l_initfini.

2004-10-13  Ulrich Drepper  <drepper@redhat.com>
2004-10-14 02:08:23 +00:00
..
alpha 2004-10-04 Roland McGrath <roland@redhat.com> 2004-10-04 20:59:38 +00:00
arm Update. 2004-09-14 04:41:35 +00:00
bsd Update. 2004-09-14 04:41:35 +00:00
common Update. 2004-07-06 04:26:42 +00:00
i386 2004-10-04 Roland McGrath <roland@redhat.com> 2004-10-04 20:59:38 +00:00
inet Remove __GI_* aliases, already added by make-syscalls.sh. 2003-01-31 03:40:10 +00:00
mips 2003-09-09 Chris Demetriou <cgd@broadcom.com> 2003-09-09 19:22:51 +00:00
mman Update. 2002-12-15 01:00:22 +00:00
powerpc * sysdeps/powerpc/sysdep.h: Remove powerpc32 specific macros. 2002-09-20 23:46:03 +00:00
sh Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
sparc Update. 2004-09-14 04:41:35 +00:00
sysv [BZ #77] 2004-10-14 02:08:23 +00:00
x86_64 2004-10-04 Roland McGrath <roland@redhat.com> 2004-10-04 20:59:38 +00:00
_exit.S 2002-08-03 Roland McGrath <roland@redhat.com> 2002-08-04 01:28:11 +00:00
alarm.c * include/unistd.h: Use libc_hidden_proto for _exit, alarm, confstr, 2002-08-04 03:30:56 +00:00
clock_gettime.c Update. 2003-06-25 00:00:50 +00:00
clock_nanosleep.c Update. 2003-06-25 00:00:50 +00:00
clock_settime.c Update. 2004-02-19 09:02:01 +00:00
closedir.c Update. 2003-07-15 07:52:52 +00:00
configure Update. 2004-07-06 04:26:42 +00:00
configure.in 2002-10-18 Jeff Bailey <jbailey@gnu.org> 2002-10-18 19:38:06 +00:00
confstr.h initial import 1995-02-18 01:27:10 +00:00
dirfd.c Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
dirstream.h Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
Dist Update. 2003-02-21 07:07:52 +00:00
errnos-tmpl.c Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
errnos.awk initial import 1995-02-18 01:27:10 +00:00
execve.S Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
fork.S Update. 2002-12-31 20:46:11 +00:00
fxstat.c * include/unistd.h (seteuid, setegid): Add libc_hidden_proto. 2002-08-13 00:24:58 +00:00
getdents.c Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
getegid.S Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
geteuid.S Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
getlogin_r.c Jakub Jelinek <jakub@redhat.com> 2002-10-16 03:03:00 +00:00
getlogin.c Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
getpagesize.c Update. 2002-08-03 07:02:10 +00:00
getppid.S Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
grantpt.c * catgets/open_catalog.c (__open_catalog): Don't use a value type 2002-09-24 04:24:25 +00:00
Implies initial import 1995-02-18 01:27:10 +00:00
ioctls-tmpl.c initial import 1995-02-18 01:27:10 +00:00
ioctls.awk initial import 1995-02-18 01:27:10 +00:00
make_errlist.c Update. 2001-07-08 09:47:01 +00:00
make-syscalls.sh Update. 2003-08-16 06:21:46 +00:00
Makefile * sysdeps/generic/bp-thunks.h: Protect includes with [!__ASSEMBLER__]. 2003-05-02 02:21:25 +00:00
mk-local_lim.c Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
mkdir.c Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
mkfifo.c Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
nice.c (nice): Use getpriority() for the return value. 2002-09-28 19:13:13 +00:00
opendir.c Update. 2003-09-22 21:30:25 +00:00
readdir_r.c * sysdeps/unix/readdir.c: If getdents fails with ENOENT, restore errno 2002-08-28 03:26:52 +00:00
readdir.c * sysdeps/unix/readdir.c: If getdents fails with ENOENT, restore errno 2002-08-28 03:26:52 +00:00
rewinddir.c Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
rmdir.c Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
s-proto-bp.S * sysdeps/unix/Makefile: Include $(common-objpfx)s-proto-bp.d. 2003-01-15 22:10:10 +00:00
s-proto-cancel.S * sysdeps/unix/Makefile: Include $(common-objpfx)s-proto-cancel.d. 2002-12-30 00:12:56 +00:00
s-proto.S Thu Jan 18 00:32:43 1996 Roland McGrath <roland@churchy.gnu.ai.mit.edu> 1996-01-19 00:42:21 +00:00
seekdir.c Update. 2001-08-08 02:52:43 +00:00
siglist.c Update. 2002-08-04 23:32:14 +00:00
snarf-ioctls Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
sockatmark.c Update. 2001-08-17 07:51:36 +00:00
start.c * csu/elf-init.c: Update copyright terms including special exception 2004-08-16 04:51:23 +00:00
stime.c Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
Subdirs Update. 1997-08-10 18:37:15 +00:00
syscall.S Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
syscalls.list umask syscall never fails. 2003-07-27 18:24:21 +00:00
sysdep.h Update. 2003-08-17 00:37:19 +00:00
system.c initial import 1995-02-18 01:27:10 +00:00
telldir.c Update to LGPL v2.1. 2001-07-06 04:58:11 +00:00
time.c * include/libc-symbols.h (hidden_weak): Define it for [__ASSEMBLER__]. 2002-08-03 12:09:37 +00:00
utime.c Update. 2002-08-08 07:53:36 +00:00
xmknod.c Update. 2002-08-04 09:27:27 +00:00
xstat.c * include/unistd.h (seteuid, setegid): Add libc_hidden_proto. 2002-08-13 00:24:58 +00:00