From 7775448e570a2bd77886548fc3e9af5007814a8b Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Fri, 1 Mar 2013 14:44:44 -0800 Subject: [PATCH] Fix NEED_DL_SYSINFO_DSO conditionals. --- ChangeLog | 13 +++++++++++++ elf/dl-hwcaps.c | 4 ++-- elf/dl-support.c | 4 ++-- elf/dl-sysdep.c | 2 +- elf/rtld.c | 4 ++-- elf/setup-vdso.h | 2 +- sysdeps/generic/ldsodefs.h | 2 +- sysdeps/unix/sysv/linux/dl-sysdep.c | 2 +- 8 files changed, 23 insertions(+), 10 deletions(-) diff --git a/ChangeLog b/ChangeLog index 46edfc0..b826b91 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,16 @@ +2013-03-01 Roland McGrath + + * elf/dl-hwcaps.c (_dl_important_hwcaps): + Change [NEED_DL_SYSINFO || NEED_DL_SYSINFO_DSO] conditionals + to just [NEED_DL_SYSINFO_DSO]. + * elf/dl-support.c: Likewise. + * elf/dl-sysdep.c (_dl_sysdep_start): Likewise. + * elf/rtld.c (dl_main): Likewise. + * elf/setup-vdso.h (setup_vdso): Likewise. + * sysdeps/generic/ldsodefs.h (struct rtld_global_ro): Likewise. + * sysdeps/unix/sysv/linux/dl-sysdep.c + (_dl_discover_osversion): Likewise. + 2013-03-01 Carlos O'Donell * csu/libc-start.c (__pthread_initialize_minimal): Revert last change. diff --git a/elf/dl-hwcaps.c b/elf/dl-hwcaps.c index d3214e5..8d49383 100644 --- a/elf/dl-hwcaps.c +++ b/elf/dl-hwcaps.c @@ -51,7 +51,7 @@ _dl_important_hwcaps (const char *platform, size_t platform_len, size_t *sz, if ((masked & (1ULL << n)) != 0) ++cnt; -#if defined NEED_DL_SYSINFO || defined NEED_DL_SYSINFO_DSO +#ifdef NEED_DL_SYSINFO_DSO /* The system-supplied DSO can contain a note of type 2, vendor "GNU". This gives us a list of names to treat as fake hwcap bits. */ @@ -104,7 +104,7 @@ _dl_important_hwcaps (const char *platform, size_t platform_len, size_t *sz, /* Create temporary data structure to generate result table. */ struct r_strlenpair temp[cnt]; m = 0; -#if defined NEED_DL_SYSINFO || defined NEED_DL_SYSINFO_DSO +#ifdef NEED_DL_SYSINFO_DSO if (dsocaps != NULL) { const ElfW(Word) mask = ((const ElfW(Word) *) dsocaps)[-1]; diff --git a/elf/dl-support.c b/elf/dl-support.c index 5075687..b2bf312 100644 --- a/elf/dl-support.c +++ b/elf/dl-support.c @@ -158,7 +158,7 @@ struct dl_scope_free_list *_dl_scope_free_list; /* Needed for improved syscall handling on at least x86/Linux. */ uintptr_t _dl_sysinfo = DL_SYSINFO_DEFAULT; #endif -#if defined NEED_DL_SYSINFO || defined NEED_DL_SYSINFO_DSO +#ifdef NEED_DL_SYSINFO_DSO /* Address of the ELF headers in the vsyscall page. */ const ElfW(Ehdr) *_dl_sysinfo_dso; @@ -217,7 +217,7 @@ _dl_aux_init (ElfW(auxv_t) *av) GL(dl_sysinfo) = av->a_un.a_val; break; #endif -#if defined NEED_DL_SYSINFO || defined NEED_DL_SYSINFO_DSO +#ifdef NEED_DL_SYSINFO_DSO case AT_SYSINFO_EHDR: GL(dl_sysinfo_dso) = (void *) av->a_un.a_val; break; diff --git a/elf/dl-sysdep.c b/elf/dl-sysdep.c index 42bc814..d8f3dd2 100644 --- a/elf/dl-sysdep.c +++ b/elf/dl-sysdep.c @@ -167,7 +167,7 @@ _dl_sysdep_start (void **start_argptr, new_sysinfo = av->a_un.a_val; break; #endif -#if defined NEED_DL_SYSINFO || defined NEED_DL_SYSINFO_DSO +#ifdef NEED_DL_SYSINFO_DSO case AT_SYSINFO_EHDR: GLRO(dl_sysinfo_dso) = (void *) av->a_un.a_val; break; diff --git a/elf/rtld.c b/elf/rtld.c index 4014ef1..23238ad 100644 --- a/elf/rtld.c +++ b/elf/rtld.c @@ -1768,7 +1768,7 @@ ERROR: ld.so: object '%s' cannot be loaded as audit interface: %s; ignored.\n", GL(dl_rtld_map).l_next = (i + 1 < main_map->l_searchlist.r_nlist ? main_map->l_searchlist.r_list[i + 1] : NULL); -#if defined NEED_DL_SYSINFO || defined NEED_DL_SYSINFO_DSO +#ifdef NEED_DL_SYSINFO_DSO if (GLRO(dl_sysinfo_map) != NULL && GL(dl_rtld_map).l_prev->l_next == GLRO(dl_sysinfo_map) && GL(dl_rtld_map).l_next != GLRO(dl_sysinfo_map)) @@ -1880,7 +1880,7 @@ ERROR: ld.so: object '%s' cannot be loaded as audit interface: %s; ignored.\n", if (dyn->d_tag == DT_NEEDED) { l = l->l_next; -#if defined NEED_DL_SYSINFO || defined NEED_DL_SYSINFO_DSO +#ifdef NEED_DL_SYSINFO_DSO /* Skip the VDSO since it's not part of the list of objects we brought in via DT_NEEDED entries. */ if (l == GLRO(dl_sysinfo_map)) diff --git a/elf/setup-vdso.h b/elf/setup-vdso.h index 1878fae..a98dfec 100644 --- a/elf/setup-vdso.h +++ b/elf/setup-vdso.h @@ -20,7 +20,7 @@ static inline void __attribute__ ((always_inline)) setup_vdso (struct link_map *main_map __attribute__ ((unused)), struct link_map ***first_preload __attribute__ ((unused))) { -#if defined NEED_DL_SYSINFO || defined NEED_DL_SYSINFO_DSO +#ifdef NEED_DL_SYSINFO_DSO if (GLRO(dl_sysinfo_dso) == NULL) return; diff --git a/sysdeps/generic/ldsodefs.h b/sysdeps/generic/ldsodefs.h index 01a2712..408737a 100644 --- a/sysdeps/generic/ldsodefs.h +++ b/sysdeps/generic/ldsodefs.h @@ -538,7 +538,7 @@ struct rtld_global_ro EXTERN uintptr_t _dl_sysinfo; #endif -#if defined NEED_DL_SYSINFO || defined NEED_DL_SYSINFO_DSO +#ifdef NEED_DL_SYSINFO_DSO /* The vsyscall page is a virtual DSO pre-mapped by the kernel. This points to its ELF header. */ EXTERN const ElfW(Ehdr) *_dl_sysinfo_dso; diff --git a/sysdeps/unix/sysv/linux/dl-sysdep.c b/sysdeps/unix/sysv/linux/dl-sysdep.c index a4ca119..e80cb8d 100644 --- a/sysdeps/unix/sysv/linux/dl-sysdep.c +++ b/sysdeps/unix/sysv/linux/dl-sysdep.c @@ -43,7 +43,7 @@ int attribute_hidden _dl_discover_osversion (void) { -#if (defined NEED_DL_SYSINFO || defined NEED_DL_SYSINFO_DSO) && defined SHARED +#if defined NEED_DL_SYSINFO_DSO && defined SHARED if (GLRO(dl_sysinfo_map) != NULL) { /* If the kernel-supplied DSO contains a note indicating the kernel's -- 2.7.4