aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog59
-rw-r--r--config.h.in3
-rwxr-xr-xconfigure112
-rw-r--r--configure.in1
-rw-r--r--elf/Versions10
-rw-r--r--elf/dl-close.c6
-rw-r--r--elf/dl-iteratephdr.c4
-rw-r--r--elf/dl-lookup.c4
-rw-r--r--elf/dl-misc.c10
-rw-r--r--elf/dl-open.c6
-rw-r--r--elf/dl-support.c6
-rw-r--r--elf/do-lookup.h2
-rw-r--r--elf/rtld.c63
-rw-r--r--linuxthreads/ChangeLog5
-rw-r--r--linuxthreads/pthread.c8
-rw-r--r--sysdeps/alpha/dl-machine.h12
-rw-r--r--sysdeps/arm/dl-machine.h18
-rw-r--r--sysdeps/cris/dl-machine.h16
-rw-r--r--sysdeps/generic/dl-cache.c8
-rw-r--r--sysdeps/generic/dl-origin.c13
-rw-r--r--sysdeps/generic/dl-sysdep.c9
-rw-r--r--sysdeps/generic/ldsodefs.h44
-rw-r--r--sysdeps/hppa/dl-fptr.c17
-rw-r--r--sysdeps/hppa/dl-machine.h18
-rw-r--r--sysdeps/i386/dl-machine.h4
-rw-r--r--sysdeps/i386/i686/Versions5
-rw-r--r--sysdeps/ia64/Versions3
-rw-r--r--sysdeps/ia64/dl-machine.h4
-rw-r--r--sysdeps/m68k/dl-machine.h10
-rw-r--r--sysdeps/mach/hurd/dl-sysdep.c5
-rw-r--r--sysdeps/mips/dl-machine.h16
-rw-r--r--sysdeps/mips/mips64/dl-machine.h14
-rw-r--r--sysdeps/powerpc/dl-machine.c16
-rw-r--r--sysdeps/powerpc/dl-start.S4
-rw-r--r--sysdeps/powerpc/elf/libc-start.c8
-rw-r--r--sysdeps/s390/s390-32/dl-machine.h16
-rw-r--r--sysdeps/s390/s390-64/dl-machine.h16
-rw-r--r--sysdeps/sh/dl-machine.h22
-rw-r--r--sysdeps/sparc/Versions6
-rw-r--r--sysdeps/sparc/sparc32/dl-machine.h31
-rw-r--r--sysdeps/sparc/sparc64/dl-machine.h12
-rw-r--r--sysdeps/unix/clock_gettime.c10
-rw-r--r--sysdeps/unix/clock_settime.c9
-rw-r--r--sysdeps/unix/sysv/aix/libc-start.c10
-rw-r--r--sysdeps/unix/sysv/aix/start-libc.c6
-rw-r--r--sysdeps/unix/sysv/linux/ia64/dl-static.c8
-rw-r--r--sysdeps/unix/sysv/linux/init-first.c7
-rw-r--r--sysdeps/unix/sysv/linux/m68k/getpagesize.c8
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc32/getpagesize.c11
-rw-r--r--sysdeps/x86_64/Versions5
-rw-r--r--sysdeps/x86_64/dl-machine.h22
51 files changed, 389 insertions, 353 deletions
diff --git a/ChangeLog b/ChangeLog
index ead120d008..3ed5c393e1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,64 @@
2002-01-31 Ulrich Drepper <drepper@redhat.com>
+ * sysdeps/generic/ldsodefs.h: Add _dl_load_lock, _dl_lazy,
+ _dl_dynamic_weak, _dl_fpu_control, _dl_cpuclock_offset, and
+ _dl_debug_fd to rtld_global.
+ * elf/Versions: Likewise.
+ * elf/dl-close.c: Likewise.
+ * elf/dl-iteratephdr.c: Likewise.
+ * elf/dl-lookup.c: Likewise.
+ * elf/dl-misc.c: Likewise.
+ * elf/dl-open.c: Likewise.
+ * elf/dl-support.c: Likewise.
+ * elf/do-lookup.h: Likewise.
+ * elf/rtld.c: Likewise.
+ * sysdeps/generic/dl-cache.c: Likewise.
+ * sysdeps/generic/dl-sysdep.c: Likewise.
+ * sysdeps/ia64/Versions: Likewise.
+ * sysdeps/unix/clock_gettime.c: Likewise.
+ * sysdeps/unix/clock_settime.c: Likewise.
+ * sysdeps/unix/sysv/linux/init-first.c: Likewise.
+ * sysdeps/sparc/Versions: Removed.
+ * sysdeps/i386/i686/Versions : Removed.
+ * sysdeps/x86_64/Versions: Removed.
+ * configure.in: Define HAVE_PROTECTED if .protected is available.
+ * config.h.in: Add entry for HAVE_PROTECTED.
+
+2002-01-31 Jakub Jelinek <jakub@redhat.com.
+
+ * sysdeps/alpha/dl-machine.h: Move global variables for SHARED
+ code in struct _rtld_global. Export this struct, remove all
+ exports for the signal variables.
+ * sysdeps/arm/dl-machine: Likewise.
+ * sysdeps/generic/dl-origin: Likewise.
+ * sysdeps/generic/dl-sysdep: Likewise.
+ * sysdeps/generic/dl-cache: Likewise.
+ * sysdeps/hppa/dl-fptr: Likewise.
+ * sysdeps/hppa/dl-machine: Likewise.
+ * sysdeps/cris/dl-machine: Likewise.
+ * sysdeps/i386/dl-machine: Likewise.
+ * sysdeps/ia64/dl-machine: Likewise.
+ * sysdeps/m68k/dl-machine: Likewise.
+ * sysdeps/mach/hurd/dl-sysdep: Likewise.
+ * sysdeps/mips/mips64/dl-machine: Likewise.
+ * sysdeps/mips/dl-machine: Likewise.
+ * sysdeps/powerpc/elf/libc-start: Likewise.
+ * sysdeps/powerpc/dl-machine: Likewise.
+ * sysdeps/powerpc/dl-start: Likewise.
+ * sysdeps/sparc/sparc32/dl-machine: Likewise.
+ * sysdeps/sparc/sparc64/dl-machine: Likewise.
+ * sysdeps/sh/dl-machine: Likewise.
+ * sysdeps/s390/s390-32/dl-machine: Likewise.
+ * sysdeps/s390/s390-64/dl-machine: Likewise.
+ * sysdeps/unix/sysv/aix/libc-start: Likewise.
+ * sysdeps/unix/sysv/aix/start-libc: Likewise.
+ * sysdeps/unix/sysv/linux/ia64/dl-static: Likewise.
+ * sysdeps/unix/sysv/linux/m68k/getpagesize: Likewise.
+ * sysdeps/unix/sysv/linux/sparc/sparc32/getpagesize: Likewise.
+ * sysdeps/x86_64/dl-machine: Likewise.
+
+2002-01-31 Ulrich Drepper <drepper@redhat.com>
+
* sysdeps/posix/readv.c: Don't use alloca if the memory requirements
are too high.
diff --git a/config.h.in b/config.h.in
index 917674bad6..53e761d57b 100644
--- a/config.h.in
+++ b/config.h.in
@@ -96,6 +96,9 @@
/* Define if the linker supports the -z combreloc option. */
#undef HAVE_Z_COMBRELOC
+/* Define if the assembler supported .protected. */
+#undef HAVE_PROTECTED
+
/* Defined to some form of __attribute__ ((...)) if the compiler supports
a different, more efficient calling convention. */
diff --git a/configure b/configure
index de60d6b4d7..c7571cb6cd 100755
--- a/configure
+++ b/configure
@@ -2789,9 +2789,13 @@ fi
echo "$ac_t""$libc_cv_asm_protected_directive" 1>&6
+ cat >> confdefs.h <<\EOF
+#define HAVE_PROTECTED 1
+EOF
+
echo $ac_n "checking for -z nodelete option""... $ac_c" 1>&6
-echo "configure:2795: checking for -z nodelete option" >&5
+echo "configure:2799: checking for -z nodelete option" >&5
if eval "test \"`echo '$''{'libc_cv_z_nodelete'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2800,7 +2804,7 @@ int _start (void) { return 42; }
EOF
if { ac_try='${CC-cc} -shared -o conftest.so conftest.c
-nostartfiles -nostdlib
- -Wl,--enable-new-dtags,-z,nodelete 1>&5'; { (eval echo configure:2804: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }
+ -Wl,--enable-new-dtags,-z,nodelete 1>&5'; { (eval echo configure:2808: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }
then
libc_cv_z_nodelete=yes
else
@@ -2813,7 +2817,7 @@ echo "$ac_t""$libc_cv_z_nodelete" 1>&6
echo $ac_n "checking for -z nodlopen option""... $ac_c" 1>&6
-echo "configure:2817: checking for -z nodlopen option" >&5
+echo "configure:2821: checking for -z nodlopen option" >&5
if eval "test \"`echo '$''{'libc_cv_z_nodlopen'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2822,7 +2826,7 @@ int _start (void) { return 42; }
EOF
if { ac_try='${CC-cc} -shared -o conftest.so conftest.c
-nostartfiles -nostdlib
- -Wl,--enable-new-dtags,-z,nodlopen 1>&5'; { (eval echo configure:2826: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }
+ -Wl,--enable-new-dtags,-z,nodlopen 1>&5'; { (eval echo configure:2830: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }
then
libc_cv_z_nodlopen=yes
else
@@ -2835,7 +2839,7 @@ echo "$ac_t""$libc_cv_z_nodlopen" 1>&6
echo $ac_n "checking for -z initfirst option""... $ac_c" 1>&6
-echo "configure:2839: checking for -z initfirst option" >&5
+echo "configure:2843: checking for -z initfirst option" >&5
if eval "test \"`echo '$''{'libc_cv_z_initfirst'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2844,7 +2848,7 @@ int _start (void) { return 42; }
EOF
if { ac_try='${CC-cc} -shared -o conftest.so conftest.c
-nostartfiles -nostdlib
- -Wl,--enable-new-dtags,-z,initfirst 1>&5'; { (eval echo configure:2848: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }
+ -Wl,--enable-new-dtags,-z,initfirst 1>&5'; { (eval echo configure:2852: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }
then
libc_cv_z_initfirst=yes
else
@@ -2857,14 +2861,14 @@ echo "$ac_t""$libc_cv_z_initfirst" 1>&6
echo $ac_n "checking for -Bgroup option""... $ac_c" 1>&6
-echo "configure:2861: checking for -Bgroup option" >&5
+echo "configure:2865: checking for -Bgroup option" >&5
if eval "test \"`echo '$''{'libc_cv_Bgroup'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.c <<EOF
int _start (void) { return 42; }
EOF
- if { ac_try='${CC-cc} -shared -o conftest.so conftest.c -Wl,-Bgroup -nostdlib 1>&5'; { (eval echo configure:2868: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }
+ if { ac_try='${CC-cc} -shared -o conftest.so conftest.c -Wl,-Bgroup -nostdlib 1>&5'; { (eval echo configure:2872: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }
then
libc_cv_Bgroup=yes
else
@@ -2877,7 +2881,7 @@ echo "$ac_t""$libc_cv_Bgroup" 1>&6
echo $ac_n "checking for -z combreloc""... $ac_c" 1>&6
-echo "configure:2881: checking for -z combreloc" >&5
+echo "configure:2885: checking for -z combreloc" >&5
if eval "test \"`echo '$''{'libc_cv_z_combreloc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2887,7 +2891,7 @@ int foo (void) { return bar (); }
EOF
if { ac_try='${CC-cc} -shared -o conftest.so conftest.c
-nostdlib -nostartfiles
- -Wl,-z,combreloc 1>&5'; { (eval echo configure:2891: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }
+ -Wl,-z,combreloc 1>&5'; { (eval echo configure:2895: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }
then
if readelf -S conftest.so | grep '\.rel\(a\|\)\.dyn' > /dev/null; then
libc_cv_z_combreloc=yes
@@ -2912,12 +2916,12 @@ fi
if test $elf != yes; then
echo $ac_n "checking for .init and .fini sections""... $ac_c" 1>&6
-echo "configure:2916: checking for .init and .fini sections" >&5
+echo "configure:2920: checking for .init and .fini sections" >&5
if eval "test \"`echo '$''{'libc_cv_have_initfini'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2921 "configure"
+#line 2925 "configure"
#include "confdefs.h"
int main() {
@@ -2926,7 +2930,7 @@ asm (".section .init");
asm ("${libc_cv_dot_text}");
; return 0; }
EOF
-if { (eval echo configure:2930: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:2934: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
libc_cv_have_initfini=yes
else
@@ -2949,7 +2953,7 @@ fi
if test $elf = yes -a $gnu_ld = yes; then
echo $ac_n "checking whether cc puts quotes around section names""... $ac_c" 1>&6
-echo "configure:2953: checking whether cc puts quotes around section names" >&5
+echo "configure:2957: checking whether cc puts quotes around section names" >&5
if eval "test \"`echo '$''{'libc_cv_have_section_quotes'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -2986,19 +2990,19 @@ if test $elf = yes; then
else
if test $ac_cv_prog_cc_works = yes; then
echo $ac_n "checking for _ prefix on C symbol names""... $ac_c" 1>&6
-echo "configure:2990: checking for _ prefix on C symbol names" >&5
+echo "configure:2994: checking for _ prefix on C symbol names" >&5
if eval "test \"`echo '$''{'libc_cv_asm_underscores'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 2995 "configure"
+#line 2999 "configure"
#include "confdefs.h"
asm ("_glibc_foobar:");
int main() {
glibc_foobar ();
; return 0; }
EOF
-if { (eval echo configure:3002: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+if { (eval echo configure:3006: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
libc_cv_asm_underscores=yes
else
@@ -3013,17 +3017,17 @@ fi
echo "$ac_t""$libc_cv_asm_underscores" 1>&6
else
echo $ac_n "checking for _ prefix on C symbol names""... $ac_c" 1>&6
-echo "configure:3017: checking for _ prefix on C symbol names" >&5
+echo "configure:3021: checking for _ prefix on C symbol names" >&5
if eval "test \"`echo '$''{'libc_cv_asm_underscores'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 3022 "configure"
+#line 3026 "configure"
#include "confdefs.h"
void underscore_test(void) {
return; }
EOF
-if { (eval echo configure:3027: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:3031: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
if grep _underscore_test conftest* >/dev/null; then
rm -f conftest*
libc_cv_asm_underscores=yes
@@ -3055,7 +3059,7 @@ if test $elf = yes; then
fi
echo $ac_n "checking for assembler .weak directive""... $ac_c" 1>&6
-echo "configure:3059: checking for assembler .weak directive" >&5
+echo "configure:3063: checking for assembler .weak directive" >&5
if eval "test \"`echo '$''{'libc_cv_asm_weak_directive'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3078,7 +3082,7 @@ echo "$ac_t""$libc_cv_asm_weak_directive" 1>&6
if test $libc_cv_asm_weak_directive = no; then
echo $ac_n "checking for assembler .weakext directive""... $ac_c" 1>&6
-echo "configure:3082: checking for assembler .weakext directive" >&5
+echo "configure:3086: checking for assembler .weakext directive" >&5
if eval "test \"`echo '$''{'libc_cv_asm_weakext_directive'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3125,14 +3129,14 @@ EOF
;;
hppa*linux*)
echo $ac_n "checking for assembler line separator""... $ac_c" 1>&6
-echo "configure:3129: checking for assembler line separator" >&5
+echo "configure:3133: checking for assembler line separator" >&5
if eval "test \"`echo '$''{'libc_cv_asm_line_sep'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.s <<EOF
nop ; is_old_puffin
EOF
- if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:3136: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
+ if { ac_try='${CC-cc} -c $CFLAGS conftest.s 1>&5'; { (eval echo configure:3140: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
libc_cv_asm_line_sep='!'
else
if test -z "$enable_hacker_mode"; then
@@ -3154,7 +3158,7 @@ EOF
esac
echo $ac_n "checking for ld --no-whole-archive""... $ac_c" 1>&6
-echo "configure:3158: checking for ld --no-whole-archive" >&5
+echo "configure:3162: checking for ld --no-whole-archive" >&5
if eval "test \"`echo '$''{'libc_cv_ld_no_whole_archive'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@@ -3165,7 +3169,7 @@ __throw () {}
EOF
if { ac_try='${CC-cc} $CFLAGS
-nostdlib -nostartfiles -Wl,--no-whole-archive
- -o conftest conftest.c 1>&5'; { (eval echo configure:3169: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
+ -o