[RFC][PATCH v12 8/8] Drop DT_GNU_FLAGS_1/DF_GNU_1_UNIQUE from the libpthread DSO

Adhemerval Zanella adhemerval.zanella@linaro.org
Mon Aug 9 20:10:17 GMT 2021



On 08/07/2021 13:32, Vivek Das Mohapatra via Libc-alpha wrote:
> libpthread should have no contents that are sensitive
> to duplication anymore, so doesn't require special
> treatment under dlmopen.

LGTM, but this patch should be merged with the one that actually adds
actually handles DT_GNU_FLAGS_1/DF_GNU_1_UNIQUE.

> ---
>  extra-lib.mk  | 2 ++
>  htl/Makefile  | 3 ++-
>  nptl/Makefile | 3 ++-
>  3 files changed, 6 insertions(+), 2 deletions(-)
> 
> diff --git a/extra-lib.mk b/extra-lib.mk
> index 9051958ec0..38184adae1 100644
> --- a/extra-lib.mk
> +++ b/extra-lib.mk
> @@ -102,9 +102,11 @@ $(objpfx)$(lib).so: $(firstword $($(lib)-map) \
>  					    $(filter $(lib).map, \
>  						     $(version-maps))))
>  ifneq ($(ld-zunique),yes)
> +ifneq ($(lib),libpthread)
>  $(objpfx)$(lib).so: $(common-objpfx)/elf/dynamic-notes.os
>  endif
>  endif
> +endif
>  
>  endif
>  
> diff --git a/htl/Makefile b/htl/Makefile
> index c2a25dcd79..ce6d9a8cd1 100644
> --- a/htl/Makefile
> +++ b/htl/Makefile
> @@ -202,9 +202,10 @@ $(inst_libdir)/libpthread_syms.a: $(srcdir)/libpthread_syms.a $(+force)
>  libc-link.so = $(common-objpfx)libc.so
>  
>  extra-B-pthread.so = -B$(common-objpfx)htl/
> +# Turn off DF_GNU_1_UNIQUE for libpthread now that it's a stub.
>  LDFLAGS-pthread.so = -Wl,--enable-new-dtags,-z,nodelete,-z,initfirst
>  ifeq ($(ld-zunique),yes)
> -LDFLAGS-pthread.so += -Wl,-z,unique
> +LDFLAGS-pthread.so += -Wl,-z,nounique
>  endif
>  
>  include ../Rules
> diff --git a/nptl/Makefile b/nptl/Makefile
> index 81353b9455..7fcddbb263 100644
> --- a/nptl/Makefile
> +++ b/nptl/Makefile
> @@ -376,8 +376,9 @@ CPPFLAGS-tst-pthread-gdb-attach-static.c := \
>  tst-pthread-gdb-attach-no-pie = yes
>  
>  LDFLAGS-pthread.so = -Wl,--enable-new-dtags,-z,nodelete,-z,initfirst
> +# Turn off DF_GNU_1_UNIQUE for libpthread now that it's a stub.
>  ifeq ($(ld-zunique),yes)
> -LDFLAGS-pthread.so += -Wl,-z,unique
> +LDFLAGS-pthread.so += -Wl,-z,nounique
>  endif
>  
>  tests += tst-cancelx7 tst-cancelx17 tst-cleanupx4
> 


More information about the Libc-alpha mailing list