about summary refs log tree commit diff
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.gz
glibc-e9c7764ec9fe328dfac0c01a7f609d6a2a9bac00.tar.xz
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 */