diff options
author | Ulrich Drepper <drepper@redhat.com> | 2003-01-07 18:54:08 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2003-01-07 18:54:08 +0000 |
commit | e9c7764ec9fe328dfac0c01a7f609d6a2a9bac00 (patch) | |
tree | c3c78725d69fee180a843ee9cac5be0238f22447 | |
parent | 95b0af0dd7f9982f3bf8cfb28950a746b88d0efd (diff) | |
download | glibc-e9c7764ec9fe328dfac0c01a7f609d6a2a9bac00.tar glibc-e9c7764ec9fe328dfac0c01a7f609d6a2a9bac00.tar.gz glibc-e9c7764ec9fe328dfac0c01a7f609d6a2a9bac00.tar.bz2 glibc-e9c7764ec9fe328dfac0c01a7f609d6a2a9bac00.zip |
Update.
2003-01-07 Jakub Jelinek <jakub@redhat.com>
* elf/rtld.c (_rtld_global): Remove _dl_dynamic_weak initializer.
* elf/dl-support.c (_dl_dynamic_weak): Initialize to 0.
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | elf/dl-support.c | 9 | ||||
-rw-r--r-- | elf/rtld.c | 9 | ||||
-rw-r--r-- | math/libm-test.inc | 4 | ||||
-rw-r--r-- | nptl/ChangeLog | 9 | ||||
-rw-r--r-- | nptl/sysdeps/unix/sysv/linux/i386/dl-sysdep.h | 17 | ||||
-rw-r--r-- | nptl/sysdeps/unix/sysv/linux/i386/i686/dl-sysdep.h | 17 |
7 files changed, 28 insertions, 42 deletions
@@ -1,3 +1,8 @@ +2003-01-07 Jakub Jelinek <jakub@redhat.com> + + * 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 <drepper@redhat.com> * math/libm-test.inc (significand_test): New function. diff --git a/elf/dl-support.c b/elf/dl-support.c index eae08954a2..0b7c119696 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 b8e7f9af6b..bd66149dd1 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-procinfo.c> ._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 783e4cc854..c9ab066cb1 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 753289261c..aa422d3c46 100644 --- a/nptl/ChangeLog +++ b/nptl/ChangeLog @@ -1,3 +1,12 @@ +2003-01-07 Jakub Jelinek <jakub@redhat.com> + + * 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 <jakub@redhat.com> * 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 5e59962a48..4c29c150f7 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 d7328fe219..b880238a93 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 */ |