From e9c7764ec9fe328dfac0c01a7f609d6a2a9bac00 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Tue, 7 Jan 2003 18:54:08 +0000 Subject: [PATCH] Update. 2003-01-07 Jakub Jelinek * elf/rtld.c (_rtld_global): Remove _dl_dynamic_weak initializer. * elf/dl-support.c (_dl_dynamic_weak): Initialize to 0. --- ChangeLog | 5 +++++ elf/dl-support.c | 9 +-------- elf/rtld.c | 9 +-------- math/libm-test.inc | 4 ++-- nptl/ChangeLog | 9 +++++++++ nptl/sysdeps/unix/sysv/linux/i386/dl-sysdep.h | 17 +++++------------ nptl/sysdeps/unix/sysv/linux/i386/i686/dl-sysdep.h | 17 +++++------------ 7 files changed, 28 insertions(+), 42 deletions(-) diff --git a/ChangeLog b/ChangeLog index a3fdae2..704edc0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2003-01-07 Jakub Jelinek + + * elf/rtld.c (_rtld_global): Remove _dl_dynamic_weak initializer. + * elf/dl-support.c (_dl_dynamic_weak): Initialize to 0. + 2003-01-07 Ulrich Drepper * math/libm-test.inc (significand_test): New function. diff --git a/elf/dl-support.c b/elf/dl-support.c index eae0895..0b7c119 100644 --- a/elf/dl-support.c +++ b/elf/dl-support.c @@ -1,5 +1,5 @@ /* Support for dynamic linking code in static libc. - Copyright (C) 1996-2001, 2002 Free Software Foundation, Inc. + Copyright (C) 1996-2002, 2003 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -41,14 +41,7 @@ size_t _dl_platformlen; int _dl_debug_mask; int _dl_lazy; -/* 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. Bummer. --drepper */ -#if 0 int _dl_dynamic_weak; -#else -int _dl_dynamic_weak = 1; -#endif /* If nonzero print warnings about problematic situations. */ int _dl_verbose; diff --git a/elf/rtld.c b/elf/rtld.c index b8e7f9a..bd66149 100644 --- a/elf/rtld.c +++ b/elf/rtld.c @@ -1,5 +1,5 @@ /* Run time dynamic linker. - Copyright (C) 1995-1999, 2000, 2001, 2002 Free Software Foundation, Inc. + Copyright (C) 1995-2002, 2003 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -91,13 +91,6 @@ struct rtld_global _rtld_global = /* Get architecture specific initializer. */ #include ._dl_debug_fd = STDERR_FILENO, -#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. - Bummer. --drepper */ - ._dl_dynamic_weak = 1, -#endif #ifdef NEED_DL_SYSINFO ._dl_sysinfo = DL_SYSINFO_DEFAULT, #endif diff --git a/math/libm-test.inc b/math/libm-test.inc index 783e4cc..c9ab066 100644 --- a/math/libm-test.inc +++ b/math/libm-test.inc @@ -51,14 +51,14 @@ pow, remainder, remquo, rint, lrint, llrint, round, lround, llround, scalb, scalbn, scalbln, signbit, sin, sincos, sinh, sqrt, tan, tanh, tgamma, trunc, - y0, y1, yn + y0, y1, yn, significand and for the following complex math functions: cabs, cacos, cacosh, carg, casin, casinh, catan, catanh, ccos, ccosh, cexp, clog, cpow, cproj, csin, csinh, csqrt, ctan, ctanh. At the moment the following functions aren't tested: - drem, significand, nan + drem, nan Parameter handling is primitive in the moment: --verbose=[0..3] for different levels of output: diff --git a/nptl/ChangeLog b/nptl/ChangeLog index 7532892..aa422d3 100644 --- a/nptl/ChangeLog +++ b/nptl/ChangeLog @@ -1,3 +1,12 @@ +2003-01-07 Jakub Jelinek + + * sysdeps/unix/sysv/linux/i386/dl-sysdep.h + (RTLD_CORRECT_DYNAMIC_WEAK): Remove. + (DL_SYSINFO_IMPLEMENTATION): Change into .text section and back. + * sysdeps/unix/sysv/linux/i386/i686/dl-sysdep.h + (RTLD_CORRECT_DYNAMIC_WEAK): Remove. + (DL_SYSINFO_IMPLEMENTATION): Change into .text section and back. + 2003-01-06 Jakub Jelinek * pthreadP.h (LIBC_CANCEL_HANDLED): Define. diff --git a/nptl/sysdeps/unix/sysv/linux/i386/dl-sysdep.h b/nptl/sysdeps/unix/sysv/linux/i386/dl-sysdep.h index 5e59962..4c29c15 100644 --- a/nptl/sysdeps/unix/sysv/linux/i386/dl-sysdep.h +++ b/nptl/sysdeps/unix/sysv/linux/i386/dl-sysdep.h @@ -1,5 +1,5 @@ /* System-specific settings for dynamic linker code. IA-32 version. - Copyright (C) 2002 Free Software Foundation, Inc. + Copyright (C) 2002, 2003 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -34,15 +34,6 @@ # define RTLD_PRIVATE_ERRNO 0 #endif -/* 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 sysenter/syscall instructions. To signal the presence and where to @@ -58,12 +49,14 @@ extern void _dl_sysinfo_int80 (void) attribute_hidden; # define DL_SYSINFO_DEFAULT (uintptr_t) _dl_sysinfo_int80 # define DL_SYSINFO_IMPLEMENTATION \ - asm (".type _dl_sysinfo_int80,@function\n\t" \ + asm (".text\n\t" \ + ".type _dl_sysinfo_int80,@function\n\t" \ ".hidden _dl_sysinfo_int80\n" \ "_dl_sysinfo_int80:\n\t" \ "int $0x80;\n\t" \ "ret;\n\t" \ - ".size _dl_sysinfo_int80,.-_dl_sysinfo_int80"); + ".size _dl_sysinfo_int80,.-_dl_sysinfo_int80\n\t" \ + ".previous"); #endif #endif /* dl-sysdep.h */ diff --git a/nptl/sysdeps/unix/sysv/linux/i386/i686/dl-sysdep.h b/nptl/sysdeps/unix/sysv/linux/i386/i686/dl-sysdep.h index d7328fe..b880238 100644 --- a/nptl/sysdeps/unix/sysv/linux/i386/i686/dl-sysdep.h +++ b/nptl/sysdeps/unix/sysv/linux/i386/i686/dl-sysdep.h @@ -1,5 +1,5 @@ /* System-specific settings for dynamic linker code. IA-32 version. - Copyright (C) 2002 Free Software Foundation, Inc. + Copyright (C) 2002, 2003 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -34,15 +34,6 @@ # define RTLD_PRIVATE_ERRNO 0 #endif -/* 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 sysenter/syscall instructions. To signal the presence and where to @@ -55,12 +46,14 @@ extern void _dl_sysinfo_int80 (void) attribute_hidden; # define DL_SYSINFO_DEFAULT (uintptr_t) _dl_sysinfo_int80 # define DL_SYSINFO_IMPLEMENTATION \ - asm (".type _dl_sysinfo_int80,@function\n\t" \ + asm (".text\n\t" \ + ".type _dl_sysinfo_int80,@function\n\t" \ ".hidden _dl_sysinfo_int80\n" \ "_dl_sysinfo_int80:\n\t" \ "int $0x80;\n\t" \ "ret;\n\t" \ - ".size _dl_sysinfo_int80,.-_dl_sysinfo_int80"); + ".size _dl_sysinfo_int80,.-_dl_sysinfo_int80\n\t" \ + ".previous"); #endif #endif /* dl-sysdep.h */ -- 2.7.4