mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-24 10:22:41 +08:00
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:
parent
def9c08c94
commit
c908ae0492
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user