Update.
authorUlrich Drepper <drepper@redhat.com>
Sun, 25 Aug 2002 07:22:45 +0000 (07:22 +0000)
committerUlrich Drepper <drepper@redhat.com>
Sun, 25 Aug 2002 07:22:45 +0000 (07:22 +0000)
2002-08-25  Ulrich Drepper  <drepper@redhat.com>

* sysdeps/i386/elf/configure.in: Unconditionally define
PI_STATIC_AND_HIDDEN.
* elf/rtld.c (DONT_USE_BOOTSTRAP_MAP): Define only if
PI_STATIC_AND_HIDDEN is defined as well.
* config.h.in: Add PI_STATIC_AND_HIDDEN entry.

* elf/rtld.c (dl_main): Likewise.

ChangeLog
config.h.in
elf/rtld.c
sysdeps/i386/elf/configure
sysdeps/i386/elf/configure.in

index 06ac25d..7b21893 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2002-08-25  Ulrich Drepper  <drepper@redhat.com>
+
+       * sysdeps/i386/elf/configure.in: Unconditionally define
+       PI_STATIC_AND_HIDDEN.
+       * elf/rtld.c (DONT_USE_BOOTSTRAP_MAP): Define only if
+       PI_STATIC_AND_HIDDEN is defined as well.
+       * config.h.in: Add PI_STATIC_AND_HIDDEN entry.
+
 2002-08-24  Ulrich Drepper  <drepper@redhat.com>
 
        * sysdeps/ia64/bzero.S: Define __bzero as well.
@@ -37,6 +45,7 @@
        * elf/dl-load.c: Likewise.
        * iconv/iconvconfig.c: Likewise.
        * iconv/iconv_prog.c (process_block): Likewise.
+       * elf/rtld.c (dl_main): Likewise.
 
        * sysdeps/unix/sysv/linux/ia64/Makefile: Define _ASM_IA64_CURRENT_H
        macro to calm down the compiler.
index 70d805b..014d841 100644 (file)
    sections.  */
 #undef HAVE_INITFINI_ARRAY
 
+/* Define if the access to static and hidden variables is position independent
+   and does not need relocations.  */
+#undef PI_STATIC_AND_HIDDEN
+
 
 /* Defined to some form of __attribute__ ((...)) if the compiler supports
    a different, more efficient calling convention.  */
index e74da54..6907505 100644 (file)
@@ -129,7 +129,7 @@ TLS_INIT_HELPER
    is fine, too.  The latter is impotant here.  We can avoid setting
    up a temporary link map for ld.so if we can mark _rtld_global as
    hidden.  */
-#ifdef HAVE_HIDDEN
+#if defined PI_STATIC_AND_HIDDEN && defined HAVE_HIDDEN
 # define DONT_USE_BOOTSTRAP_MAP        1
 #endif
 
@@ -1215,7 +1215,7 @@ cannot allocate TLS data structures for initial thread");
        }
 
       if (__builtin_expect (mode, trace) != trace)
-       for (i = 1; i < _dl_argc; ++i)
+       for (i = 1; i < (unsigned int) _dl_argc; ++i)
          {
            const ElfW(Sym) *ref = NULL;
            ElfW(Addr) loadbase;
index 0e8003e..b9e5d7e 100755 (executable)
@@ -37,3 +37,8 @@ EOF
 
 fi
 fi
+
+cat >> confdefs.h <<\EOF
+#define PI_STATIC_AND_HIDDEN 1
+EOF
+
index e83555e..3c27d01 100644 (file)
@@ -30,3 +30,7 @@ if test $libc_cv_386_tls = yes; then
   AC_DEFINE(HAVE_TLS_SUPPORT)
 fi
 fi
+
+dnl It is always possible to access static and hidden symbols in an
+dnl position independent way.
+AC_DEFINE(PI_STATIC_AND_HIDDEN)