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>
* 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)
++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];

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. */
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;

View file

@ -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;

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
? 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))

View file

@ -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;

View file

@ -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;

View file

@ -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