From 0e077a7eea286a8efd63460d0ea5d99e44a86b71 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Thu, 24 Jul 2008 18:33:44 +0000 Subject: * elf/elf.h: Define AT_EXECFN. * elf/rtld.c [!__ASSUME_AT_EXECFN] (process_envvars): Don't handle LD_ORIGIN_PATH. * elf/dl-sysdep.c (_dl_sysdep_start): Handle AT_EXECFN. * elf/dl-support.c: Define _dl_execfn. Don't define _dl_origin_path if __ASSUME_AT_EXECFN is defined. (_dl_aux_init): Handle AT_EXECFN. * sysdeps/unix/sysv/linux/kernel-features.h: Define __ASSUME_AT_EXECFN for 2.6.27 and up. * sysdeps/generic/ldsodefs.h (rtld_global_ro): Add _dl_execfn. Don't define _dl_origin_path if __ASSUME_AT_EXECFN is defined. * sysdeps/unix/sysv/linux/dl-origin.c (_dl_get_origin): Use _dl_execfn if available and avoid compatibility code if __ASSUME_AT_EXECFN is defined. --- elf/dl-sysdep.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'elf/dl-sysdep.c') diff --git a/elf/dl-sysdep.c b/elf/dl-sysdep.c index dd55905e14..1ff7a350be 100644 --- a/elf/dl-sysdep.c +++ b/elf/dl-sysdep.c @@ -173,6 +173,9 @@ _dl_sysdep_start (void **start_argptr, GLRO(dl_sysinfo_dso) = (void *) av->a_un.a_val; break; #endif + case AT_EXECFN: + GLRO(dl_execfn) = (void *) av->a_un.a_val; + break; #ifdef DL_PLATFORM_AUXV DL_PLATFORM_AUXV #endif -- cgit v1.2.3