powerpc: Initialize rtld_global_ro for static dlopen [BZ #20802]

Initialize dl_auxv, dl_hwcap and dl_hwcap2 in rtld_global_ro for DSOs
that have been statically dlopen'ed.

Reviewed-by: Carlos O'Donell <carlos@redhat.com>
This commit is contained in:
Tulio Magno Quites Machado Filho 2020-01-10 19:14:56 -03:00
parent def9c08c94
commit c908ae0492

View File

@ -26,17 +26,26 @@ _dl_var_init (void *array[])
/* It has to match "variables" below. */
enum
{
DL_PAGESIZE = 0
DL_PAGESIZE = 0,
DL_AUXV = 1,
DL_HWCAP = 2,
DL_HWCAP2 = 3,
};
GLRO(dl_pagesize) = *((size_t *) array[DL_PAGESIZE]);
GLRO(dl_auxv) = (ElfW(auxv_t) *) *((size_t *) array[DL_AUXV]);
GLRO(dl_hwcap) = *((unsigned long int *) array[DL_HWCAP]);
GLRO(dl_hwcap2) = *((unsigned long int *) array[DL_HWCAP2]);
}
#else
static void *variables[] =
{
&GLRO(dl_pagesize)
&GLRO(dl_pagesize),
&GLRO(dl_auxv),
&GLRO(dl_hwcap),
&GLRO(dl_hwcap2),
};
static void