From 86147bbeec25624cb26bb7646cdbc3a49bc56bf5 Mon Sep 17 00:00:00 2001 From: Szabolcs Nagy Date: Tue, 3 May 2022 17:01:44 +0100 Subject: rtld: Remove DL_ARGV_NOT_RELRO and make _dl_skip_args const _dl_skip_args is always 0, so the target specific code that modifies argv after relro protection is applied is no longer used. After the patch relro protection is applied to _dl_argv consistently on all targets. Reviewed-by: Florian Weimer Reviewed-by: Adhemerval Zanella --- elf/rtld.c | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) (limited to 'elf') diff --git a/elf/rtld.c b/elf/rtld.c index 6e8ed430e2..069940d73f 100644 --- a/elf/rtld.c +++ b/elf/rtld.c @@ -156,16 +156,10 @@ static void dl_main_state_init (struct dl_main_state *state); extern char **_environ attribute_hidden; static void process_envvars (struct dl_main_state *state); -#ifdef DL_ARGV_NOT_RELRO -int _dl_argc attribute_hidden; -char **_dl_argv = NULL; -/* Nonzero if we were run directly. */ -unsigned int _dl_skip_args attribute_hidden; -#else int _dl_argc attribute_relro attribute_hidden; char **_dl_argv attribute_relro = NULL; -unsigned int _dl_skip_args attribute_relro attribute_hidden; -#endif +/* Always 0, only kept for not-yet-updated target start code. */ +const unsigned int _dl_skip_args attribute_hidden; rtld_hidden_data_def (_dl_argv) #ifndef THREAD_SET_STACK_GUARD -- cgit v1.2.3