From 3325198e71fe8e600f585ef3a38c3b5240d440db Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Thu, 19 Dec 2002 09:57:54 +0000 Subject: [PATCH] Update. 2002-12-19 Ulrich Drepper * elf/rtld.c: Don't initialize _dl_dynamic_weak to 1 if RTLD_CORRECT_DYNAMIC_WEAK is defined. --- ChangeLog | 5 +++++ elf/rtld.c | 2 +- linuxthreads/ChangeLog | 5 +++++ nptl/ChangeLog | 5 +++++ nptl/sysdeps/unix/sysv/linux/i386/dl-sysdep.h | 8 ++++++++ 5 files changed, 24 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index c6943cc..c790f5b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2002-12-19 Ulrich Drepper + + * elf/rtld.c: Don't initialize _dl_dynamic_weak to 1 if + RTLD_CORRECT_DYNAMIC_WEAK is defined. + 2002-12-19 Jakub Jelinek * 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_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 + + * 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 * 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 + + * sysdeps/unix/sysv/linux/i386/dl-sysdep.h: Define + RTLD_CORRECT_DYNAMIC_WEAK. + 2002-12-19 Jakub Jelinek * 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 -- 2.7.4