about summary refs log tree commit diff
path: root/nptl
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2021-05-25 11:30:23 +0200
committerFlorian Weimer <fweimer@redhat.com>2021-05-25 11:30:23 +0200
commit3b638095a575451b3c92ebd0b45f11578d07f26d (patch)
treeafdef512892f9006fd35a157deae30620f888656 /nptl
parent709e3709a02636fb9ce79fad727b09140989864c (diff)
downloadglibc-3b638095a575451b3c92ebd0b45f11578d07f26d.tar.gz
glibc-3b638095a575451b3c92ebd0b45f11578d07f26d.tar.xz
glibc-3b638095a575451b3c92ebd0b45f11578d07f26d.zip
nptl: Do not install libpthread.so and do not link tests with it
Keep installing libpthread.a, so that -lpthread works.

Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>
Diffstat (limited to 'nptl')
-rw-r--r--nptl/Makefile29
1 files changed, 5 insertions, 24 deletions
diff --git a/nptl/Makefile b/nptl/Makefile
index 64cd0dcbf6..6697ba8dd4 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -204,12 +204,15 @@ routines = \
   unwind \
   vars \
 
-shared-only-routines = forward
 static-only-routines = pthread_atfork
-
 libpthread-routines = libpthread-compat
 libpthread-shared-only-routines = libpthread-compat
 
+# Pretend that libpthread.so is a linker script, so that the symbolic
+# link is not installed.
+install-lib-ldscripts = libpthread.so
+$(inst_libdir)/libpthread.so:
+
 # Since cancellation handling is in large parts handled using exceptions
 # we have to compile some files with exception handling enabled, some
 # even with asynchronous unwind tables.
@@ -374,8 +377,6 @@ else
 tests-printers-libs := $(static-thread-library)
 endif
 
-LDFLAGS-pthread.so = -Wl,--enable-new-dtags,-z,nodelete
-
 tests += tst-cancelx7 tst-cancelx17
 
 ifeq ($(build-shared),yes)
@@ -548,35 +549,15 @@ else
 librt = $(common-objpfx)rt/librt.a
 endif
 
-# `make check' sometimes triggers a rebuild of librt.so using this Makefile,
-# which ignores librt's dependence on libpthread
-$(common-objpfx)rt/librt.so: $(shared-thread-library)
-
 $(objpfx)tst-cancel17: $(librt)
 $(objpfx)tst-cancelx17: $(librt)
 
 LDLIBS-tst-cancel24 = -Wl,--no-as-needed -lstdc++
 LDLIBS-tst-cancel24-static = $(LDLIBS-tst-cancel24)
 
-# Make sure we link with the thread library.
 ifeq ($(build-shared),yes)
-$(addprefix $(objpfx), \
-  $(filter-out $(tests-static) $(xtests-static) $(tests-reverse) \
-    $(tests-nolibpthread), \
-    $(tests) $(tests-internal) $(xtests) $(test-srcs) $(tests-container))): \
-	$(objpfx)libpthread.so
 $(objpfx)tst-unload: $(libdl)
-# $(objpfx)../libc.so is used instead of $(common-objpfx)libc.so,
-# since otherwise libpthread.so comes before libc.so when linking.
-$(addprefix $(objpfx), $(tests-reverse)): \
-  $(objpfx)../libc.so $(objpfx)libpthread.so
-$(objpfx)../libc.so: $(common-objpfx)libc.so ;
-$(addprefix $(objpfx),$(tests-static) $(xtests-static)): $(objpfx)libpthread.a
-else
-$(addprefix $(objpfx),$(tests) $(test-srcs)): $(objpfx)libpthread.a
-endif
 
-ifeq ($(build-shared),yes)
 generated += multidir.mk tst-tls6.out
 endif