about summary refs log tree commit diff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2002-12-19 09:57:54 +0000
committerUlrich Drepper <drepper@redhat.com>2002-12-19 09:57:54 +0000
commit3325198e71fe8e600f585ef3a38c3b5240d440db (patch)
tree55900c263f5686a5a0eaa386aea7c5131ad32992
parent74e8f2dcaa151989a5abfd21cf36ec9441d3671f (diff)
downloadglibc-3325198e71fe8e600f585ef3a38c3b5240d440db.tar.gz
glibc-3325198e71fe8e600f585ef3a38c3b5240d440db.tar.xz
glibc-3325198e71fe8e600f585ef3a38c3b5240d440db.zip
Update.
2002-12-19  Ulrich Drepper  <drepper@redhat.com>

	* elf/rtld.c: Don't initialize _dl_dynamic_weak to 1 if
	RTLD_CORRECT_DYNAMIC_WEAK is defined.
-rw-r--r--ChangeLog5
-rw-r--r--elf/rtld.c2
-rw-r--r--linuxthreads/ChangeLog5
-rw-r--r--nptl/ChangeLog5
-rw-r--r--nptl/sysdeps/unix/sysv/linux/i386/dl-sysdep.h8
5 files changed, 24 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index c6943ccb8e..c790f5b15e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2002-12-19  Ulrich Drepper  <drepper@redhat.com>
+
+	* elf/rtld.c: Don't initialize _dl_dynamic_weak to 1 if
+	RTLD_CORRECT_DYNAMIC_WEAK is defined.
+
 2002-12-19  Jakub Jelinek  <jakub@redhat.com>
 
 	* nscd/connections.c (nscd_run): Shut up warning.
diff --git a/elf/rtld.c b/elf/rtld.c
index a05034ee71..9b08b96124 100644
--- a/elf/rtld.c
+++ b/elf/rtld.c
@@ -90,7 +90,7 @@ struct rtld_global _rtld_global =
     /* Get architecture specific initializer.  */
 #include <dl-procinfo.c>
     ._dl_debug_fd = STDERR_FILENO,
-#if 1
+#ifndef RTLD_CORRECT_DYNAMIC_WEAK
     /* XXX I know about at least one case where we depend on the old
        weak behavior (it has to do with librt).  Until we get DSO
        groups implemented we have to make this the default.
diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog
index a5760c7f4e..fb665383aa 100644
--- a/linuxthreads/ChangeLog
+++ b/linuxthreads/ChangeLog
@@ -1,3 +1,8 @@
+2002-12-19  Jakub Jelinek  <jakub@redhat.com>
+
+	* forward.c (pthread_attr_init_2_0, pthread_attr_init_2_1):
+	Use return 0 as 6th argument to FORWARD4.
+
 2002-12-18  Jakub Jelinek  <jakub@redhat.com>
 
 	* sysdeps/i386/useldt.h (FLOATING_STACKS, ARCH_STACK_MAX_SIZE): Only
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index 2ab96bce51..86fd4ed80f 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -1,3 +1,8 @@
+2002-12-19  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/unix/sysv/linux/i386/dl-sysdep.h: Define
+	RTLD_CORRECT_DYNAMIC_WEAK.
+
 2002-12-19  Jakub Jelinek  <jakub@redhat.com>
 
 	* forward.c (pthread_attr_init_2_0, pthread_attr_init_2_1):
diff --git a/nptl/sysdeps/unix/sysv/linux/i386/dl-sysdep.h b/nptl/sysdeps/unix/sysv/linux/i386/dl-sysdep.h
index 0481fce185..8f541c5140 100644
--- a/nptl/sysdeps/unix/sysv/linux/i386/dl-sysdep.h
+++ b/nptl/sysdeps/unix/sysv/linux/i386/dl-sysdep.h
@@ -30,6 +30,14 @@
 
 #define RTLD_PRIVATE_ERRNO 1
 
+/* This configuration has in libc.so cancellable functions and other
+   functions which have to behave differently if the application uses
+   threads.  It is not necessary that the thread library's definitions
+   are used.  Therefore we can finally enabled the correct handling
+   of weak definitions in ld.so.  See rtld.c.  */
+
+#define RTLD_CORRECT_DYNAMIC_WEAK	1
+
 
 /* Traditionally system calls have been made using int $0x80.  A
    second method was introduced which, if possible, will use the