From 6bc6bd3b10e6c2fd4c656647aa643919b0519825 Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Fri, 10 Oct 2014 11:13:11 +0000 Subject: Don't use INTVARDEF/INTUSE with __libc_enable_secure (bug 14132). Continuing the removal of the obsolete INTDEF / INTVARDEF / INTUSE mechanism, this patch replaces its use for __libc_enable_secure with the use of rtld_hidden_data_def and rtld_hidden_proto. Tested for x86_64 that installed stripped shared libraries are unchanged by the patch. [BZ #14132] * elf/dl-sysdep.c (__libc_enable_secure): Use rtld_hidden_data_def instead of INTVARDEF. (_dl_sysdep_start): Do not use INTUSE with __libc_enable_secure. * sysdeps/mach/hurd/dl-sysdep.c (__libc_enable_secure): Use rtld_hidden_data_def instead of INTVARDEF. (_dl_sysdep_start): Do not use INTUSE with __libc_enable_secure. * elf/dl-deps.c (expand_dst): Likewise. * elf/dl-load.c (_dl_dst_count): Likewise. (_dl_dst_substitute): Likewise. (decompose_rpath): Likewise. (_dl_init_paths): Likewise. (open_path): Likewise. (_dl_map_object): Likewise. * elf/rtld.c (dl_main): Likewise. (process_dl_audit): Likewise. (process_envvars): Likewise. * include/unistd.h [IS_IN_rtld] (__libc_enable_secure_internal): Remove declaration. (__libc_enable_secure): Use rtld_hidden_proto. --- include/unistd.h | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) (limited to 'include') diff --git a/include/unistd.h b/include/unistd.h index 5a016b1..762acc0 100644 --- a/include/unistd.h +++ b/include/unistd.h @@ -151,10 +151,7 @@ libc_hidden_proto (__sbrk) environment variables that normally affect them. */ extern int __libc_enable_secure attribute_relro; extern int __libc_enable_secure_decided; -#ifdef IS_IN_rtld -/* XXX The #ifdef should go. */ -extern int __libc_enable_secure_internal attribute_relro attribute_hidden; -#endif +rtld_hidden_proto (__libc_enable_secure) /* Various internal function. */ -- cgit v1.1