This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 1/2] powerpc: Initialize rtld_global_ro for static dlopen [BZ #20802]


On 1/10/20 5:27 PM, Tulio Magno Quites Machado Filho wrote:
> Notice this patch is required in order to let the static dlopen test
> from the next patch to work.

OK for master. Please check with Siddhesh about committing this.

Reviewed-by: Carlos O'Donell <carlos@redhat.com>

> ----8<----
> 
> Initialize dl_auxv, dl_hwcap and dl_hwcap2 in rtld_global_ro for DSOs
> that have been statically dlopen'ed.
> ---
>  sysdeps/unix/sysv/linux/powerpc/dl-static.c | 13 +++++++++++--
>  1 file changed, 11 insertions(+), 2 deletions(-)
> 
> diff --git a/sysdeps/unix/sysv/linux/powerpc/dl-static.c b/sysdeps/unix/sysv/linux/powerpc/dl-static.c
> index 48fec16dca..59ce4e8972 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/dl-static.c
> +++ b/sysdeps/unix/sysv/linux/powerpc/dl-static.c
> @@ -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,

OK. Add auxv, hwcap and hwcap2 in that order.

>      };
>  
>    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]);

OK. Matches order above for auxv, hwcap, and hwcap2.

>  }
>  
>  #else
>  
>  static void *variables[] =
>  {
> -  &GLRO(dl_pagesize)
> +  &GLRO(dl_pagesize),
> +  &GLRO(dl_auxv),
> +  &GLRO(dl_hwcap),
> +  &GLRO(dl_hwcap2),

OK. Matches order above.

>  };
>  
>  static void
> 


-- 
Cheers,
Carlos.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]