summaryrefslogtreecommitdiff
path: root/sysdeps
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/generic/ldsodefs.h5
-rw-r--r--sysdeps/generic/unsecvars.h1
-rw-r--r--sysdeps/unix/sysv/linux/dl-librecon.h12
-rw-r--r--sysdeps/unix/sysv/linux/i386/dl-librecon.h5
4 files changed, 14 insertions, 9 deletions
diff --git a/sysdeps/generic/ldsodefs.h b/sysdeps/generic/ldsodefs.h
index afb192925a..627ed185ec 100644
--- a/sysdeps/generic/ldsodefs.h
+++ b/sysdeps/generic/ldsodefs.h
@@ -337,6 +337,11 @@ struct rtld_global
/* File descriptor to write debug messages to. */
EXTERN int _dl_debug_fd;
+ /* -1 if the dynamic linker should honor library load bias,
+ 0 if not, -2 use the default (honor biases for normal
+ binaries, don't honor for PIEs). */
+ EXTERN ElfW(Addr) _dl_use_load_bias;
+
#ifdef _LIBC_REENTRANT
EXTERN void **(*_dl_error_catch_tsd) (void) __attribute__ ((const));
#endif
diff --git a/sysdeps/generic/unsecvars.h b/sysdeps/generic/unsecvars.h
index efb9515951..88fba19b23 100644
--- a/sysdeps/generic/unsecvars.h
+++ b/sysdeps/generic/unsecvars.h
@@ -7,6 +7,7 @@
"LD_ORIGIN_PATH\0" \
"LD_DEBUG_OUTPUT\0" \
"LD_PROFILE\0" \
+ "LD_USE_LOAD_BIAS\0" \
"GCONV_PATH\0" \
"HOSTALIASES\0" \
"LOCALDOMAIN\0" \
diff --git a/sysdeps/unix/sysv/linux/dl-librecon.h b/sysdeps/unix/sysv/linux/dl-librecon.h
index afe1ec4b72..97de79640d 100644
--- a/sysdeps/unix/sysv/linux/dl-librecon.h
+++ b/sysdeps/unix/sysv/linux/dl-librecon.h
@@ -1,5 +1,5 @@
/* Optional code to distinguish library flavours.
- Copyright (C) 2001, 2002 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Jakub Jelinek <jakub@redhat.com>, 2001.
@@ -44,12 +44,12 @@ _dl_osversion_init (char *assume_kernel)
}
/* Recognizing extra environment variables. */
-#define EXTRA_LD_ENVVARS EXTRA_LD_ENVVARS_LINUX
-#define EXTRA_LD_ENVVARS_LINUX \
- case 13: \
+#define EXTRA_LD_ENVVARS_13 \
if (memcmp (envline, "ASSUME_KERNEL", 13) == 0) \
- _dl_osversion_init (&envline[14]); \
- break; \
+ { \
+ _dl_osversion_init (&envline[14]); \
+ break; \
+ }
#define DL_OSVERSION_INIT \
do { \
diff --git a/sysdeps/unix/sysv/linux/i386/dl-librecon.h b/sysdeps/unix/sysv/linux/i386/dl-librecon.h
index 3163c58103..f5a9f65166 100644
--- a/sysdeps/unix/sysv/linux/i386/dl-librecon.h
+++ b/sysdeps/unix/sysv/linux/i386/dl-librecon.h
@@ -1,5 +1,5 @@
/* Optional code to distinguish library flavours.
- Copyright (C) 1998, 2001, 2002 Free Software Foundation, Inc.
+ Copyright (C) 1998, 2001, 2002, 2003 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
@@ -48,8 +48,7 @@
while (0)
/* Recognizing extra environment variables. */
-#undef EXTRA_LD_ENVVARS
-#define EXTRA_LD_ENVVARS EXTRA_LD_ENVVARS_LINUX \
+#define EXTRA_LD_ENVVARS \
case 15: \
if (memcmp (envline, "LIBRARY_VERSION", 15) == 0) \
GL(dl_correct_cache_id) = envline[16] == '5' ? 2 : 3; \