summaryrefslogtreecommitdiff
path: root/elf
diff options
context:
space:
mode:
Diffstat (limited to 'elf')
-rw-r--r--elf/rtld.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/elf/rtld.c b/elf/rtld.c
index e442aa257f..45c65af904 100644
--- a/elf/rtld.c
+++ b/elf/rtld.c
@@ -2266,7 +2266,8 @@ process_envvars (enum mode *modep)
case 9:
/* Test whether we want to see the content of the auxiliary
array passed up from the kernel. */
- if (memcmp (envline, "SHOW_AUXV", 9) == 0)
+ if (!INTUSE(__libc_enable_secure)
+ && memcmp (envline, "SHOW_AUXV", 9) == 0)
_dl_show_auxv ();
break;
@@ -2299,7 +2300,8 @@ process_envvars (enum mode *modep)
break;
}
- if (memcmp (envline, "DYNAMIC_WEAK", 12) == 0)
+ if (!INTUSE(__libc_enable_secure)
+ && memcmp (envline, "DYNAMIC_WEAK", 12) == 0)
GLRO(dl_dynamic_weak) = 1;
break;
@@ -2373,7 +2375,11 @@ process_envvars (enum mode *modep)
while (*nextp != '\0');
if (__access ("/etc/suid-debug", F_OK) != 0)
- unsetenv ("MALLOC_CHECK_");
+ {
+ unsetenv ("MALLOC_CHECK_");
+ if (mode == normal)
+ GLRO(dl_debug_mask) = 0;
+ }
}
/* If we have to run the dynamic linker in debugging mode and the
LD_DEBUG_OUTPUT environment variable is given, we write the debug