aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2003-01-07 18:54:08 +0000
committerUlrich Drepper <drepper@redhat.com>2003-01-07 18:54:08 +0000
commite9c7764ec9fe328dfac0c01a7f609d6a2a9bac00 (patch)
treec3c78725d69fee180a843ee9cac5be0238f22447
parent95b0af0dd7f9982f3bf8cfb28950a746b88d0efd (diff)
downloadglibc-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--ChangeLog5
-rw-r--r--elf/dl-support.c9
-rw-r--r--elf/rtld.c9
-rw-r--r--math/libm-test.inc4
-rw-r--r--nptl/ChangeLog9
-rw-r--r--nptl/sysdeps/unix/sysv/linux/i386/dl-sysdep.h17
-rw-r--r--nptl/sysdeps/unix/sysv/linux/i386/i686/dl-sysdep.h17
7 files changed, 28 insertions, 42 deletions
diff --git a/ChangeLog b/ChangeLog
index a3fdae2caf..704edc0dc8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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 */