+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.
* 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.
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. */
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
}
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;
fi
fi
+
+cat >> confdefs.h <<\EOF
+#define PI_STATIC_AND_HIDDEN 1
+EOF
+
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)