aboutsummaryrefslogtreecommitdiff
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.zip
glibc-3325198e71fe8e600f585ef3a38c3b5240d440db.tar.gz
glibc-3325198e71fe8e600f585ef3a38c3b5240d440db.tar.bz2
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 c6943cc..c790f5b 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 a05034e..9b08b96 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 a5760c7..fb66538 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 2ab96bc..86fd4ed 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 0481fce..8f541c5 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