diff options
Diffstat (limited to 'sysdeps')
-rw-r--r-- | sysdeps/generic/ldsodefs.h | 5 | ||||
-rw-r--r-- | sysdeps/generic/unsecvars.h | 1 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/dl-librecon.h | 12 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/i386/dl-librecon.h | 5 |
4 files changed, 14 insertions, 9 deletions
diff --git a/sysdeps/generic/ldsodefs.h b/sysdeps/generic/ldsodefs.h index afb1929..627ed18 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 efb9515..88fba19 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 afe1ec4..97de796 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 3163c58..f5a9f65 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; \ |