1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-07-29 11:41:21 +03:00

Fix NEED_DL_SYSINFO_DSO conditionals.

This commit is contained in:
Roland McGrath
2013-03-01 14:44:44 -08:00
parent 4e9b599577
commit 7775448e57
8 changed files with 23 additions and 10 deletions

View File

@ -1,3 +1,16 @@
2013-03-01 Roland McGrath <roland@hack.frob.com>
* 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 <carlos@redhat.com> 2013-03-01 Carlos O'Donell <carlos@redhat.com>
* csu/libc-start.c (__pthread_initialize_minimal): Revert last change. * csu/libc-start.c (__pthread_initialize_minimal): Revert last change.

View File

@ -51,7 +51,7 @@ _dl_important_hwcaps (const char *platform, size_t platform_len, size_t *sz,
if ((masked & (1ULL << n)) != 0) if ((masked & (1ULL << n)) != 0)
++cnt; ++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". /* 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. */ 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. */ /* Create temporary data structure to generate result table. */
struct r_strlenpair temp[cnt]; struct r_strlenpair temp[cnt];
m = 0; m = 0;
#if defined NEED_DL_SYSINFO || defined NEED_DL_SYSINFO_DSO #ifdef NEED_DL_SYSINFO_DSO
if (dsocaps != NULL) if (dsocaps != NULL)
{ {
const ElfW(Word) mask = ((const ElfW(Word) *) dsocaps)[-1]; const ElfW(Word) mask = ((const ElfW(Word) *) dsocaps)[-1];

View File

@ -158,7 +158,7 @@ struct dl_scope_free_list *_dl_scope_free_list;
/* Needed for improved syscall handling on at least x86/Linux. */ /* Needed for improved syscall handling on at least x86/Linux. */
uintptr_t _dl_sysinfo = DL_SYSINFO_DEFAULT; uintptr_t _dl_sysinfo = DL_SYSINFO_DEFAULT;
#endif #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. */ /* Address of the ELF headers in the vsyscall page. */
const ElfW(Ehdr) *_dl_sysinfo_dso; 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; GL(dl_sysinfo) = av->a_un.a_val;
break; break;
#endif #endif
#if defined NEED_DL_SYSINFO || defined NEED_DL_SYSINFO_DSO #ifdef NEED_DL_SYSINFO_DSO
case AT_SYSINFO_EHDR: case AT_SYSINFO_EHDR:
GL(dl_sysinfo_dso) = (void *) av->a_un.a_val; GL(dl_sysinfo_dso) = (void *) av->a_un.a_val;
break; break;

View File

@ -167,7 +167,7 @@ _dl_sysdep_start (void **start_argptr,
new_sysinfo = av->a_un.a_val; new_sysinfo = av->a_un.a_val;
break; break;
#endif #endif
#if defined NEED_DL_SYSINFO || defined NEED_DL_SYSINFO_DSO #ifdef NEED_DL_SYSINFO_DSO
case AT_SYSINFO_EHDR: case AT_SYSINFO_EHDR:
GLRO(dl_sysinfo_dso) = (void *) av->a_un.a_val; GLRO(dl_sysinfo_dso) = (void *) av->a_un.a_val;
break; break;

View File

@ -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 GL(dl_rtld_map).l_next = (i + 1 < main_map->l_searchlist.r_nlist
? main_map->l_searchlist.r_list[i + 1] ? main_map->l_searchlist.r_list[i + 1]
: NULL); : NULL);
#if defined NEED_DL_SYSINFO || defined NEED_DL_SYSINFO_DSO #ifdef NEED_DL_SYSINFO_DSO
if (GLRO(dl_sysinfo_map) != NULL if (GLRO(dl_sysinfo_map) != NULL
&& GL(dl_rtld_map).l_prev->l_next == GLRO(dl_sysinfo_map) && GL(dl_rtld_map).l_prev->l_next == GLRO(dl_sysinfo_map)
&& GL(dl_rtld_map).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) if (dyn->d_tag == DT_NEEDED)
{ {
l = l->l_next; 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 /* Skip the VDSO since it's not part of the list
of objects we brought in via DT_NEEDED entries. */ of objects we brought in via DT_NEEDED entries. */
if (l == GLRO(dl_sysinfo_map)) if (l == GLRO(dl_sysinfo_map))

View File

@ -20,7 +20,7 @@ static inline void __attribute__ ((always_inline))
setup_vdso (struct link_map *main_map __attribute__ ((unused)), setup_vdso (struct link_map *main_map __attribute__ ((unused)),
struct link_map ***first_preload __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) if (GLRO(dl_sysinfo_dso) == NULL)
return; return;

View File

@ -538,7 +538,7 @@ struct rtld_global_ro
EXTERN uintptr_t _dl_sysinfo; EXTERN uintptr_t _dl_sysinfo;
#endif #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. /* The vsyscall page is a virtual DSO pre-mapped by the kernel.
This points to its ELF header. */ This points to its ELF header. */
EXTERN const ElfW(Ehdr) *_dl_sysinfo_dso; EXTERN const ElfW(Ehdr) *_dl_sysinfo_dso;

View File

@ -43,7 +43,7 @@ int
attribute_hidden attribute_hidden
_dl_discover_osversion (void) _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 (GLRO(dl_sysinfo_map) != NULL)
{ {
/* If the kernel-supplied DSO contains a note indicating the kernel's /* If the kernel-supplied DSO contains a note indicating the kernel's