mirror of git://sourceware.org/git/glibc.git
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>
This commit is contained in:
parent
709e3709a0
commit
3b638095a5
|
|
@ -204,12 +204,15 @@ routines = \
|
||||||
unwind \
|
unwind \
|
||||||
vars \
|
vars \
|
||||||
|
|
||||||
shared-only-routines = forward
|
|
||||||
static-only-routines = pthread_atfork
|
static-only-routines = pthread_atfork
|
||||||
|
|
||||||
libpthread-routines = libpthread-compat
|
libpthread-routines = libpthread-compat
|
||||||
libpthread-shared-only-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
|
# Since cancellation handling is in large parts handled using exceptions
|
||||||
# we have to compile some files with exception handling enabled, some
|
# we have to compile some files with exception handling enabled, some
|
||||||
# even with asynchronous unwind tables.
|
# even with asynchronous unwind tables.
|
||||||
|
|
@ -374,8 +377,6 @@ else
|
||||||
tests-printers-libs := $(static-thread-library)
|
tests-printers-libs := $(static-thread-library)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
LDFLAGS-pthread.so = -Wl,--enable-new-dtags,-z,nodelete
|
|
||||||
|
|
||||||
tests += tst-cancelx7 tst-cancelx17
|
tests += tst-cancelx7 tst-cancelx17
|
||||||
|
|
||||||
ifeq ($(build-shared),yes)
|
ifeq ($(build-shared),yes)
|
||||||
|
|
@ -548,35 +549,15 @@ else
|
||||||
librt = $(common-objpfx)rt/librt.a
|
librt = $(common-objpfx)rt/librt.a
|
||||||
endif
|
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-cancel17: $(librt)
|
||||||
$(objpfx)tst-cancelx17: $(librt)
|
$(objpfx)tst-cancelx17: $(librt)
|
||||||
|
|
||||||
LDLIBS-tst-cancel24 = -Wl,--no-as-needed -lstdc++
|
LDLIBS-tst-cancel24 = -Wl,--no-as-needed -lstdc++
|
||||||
LDLIBS-tst-cancel24-static = $(LDLIBS-tst-cancel24)
|
LDLIBS-tst-cancel24-static = $(LDLIBS-tst-cancel24)
|
||||||
|
|
||||||
# Make sure we link with the thread library.
|
|
||||||
ifeq ($(build-shared),yes)
|
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)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
|
generated += multidir.mk tst-tls6.out
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,11 @@
|
||||||
|
|
||||||
have-thread-library = yes
|
have-thread-library = yes
|
||||||
|
|
||||||
shared-thread-library = $(common-objpfx)nptl/libpthread.so
|
# The thread library is integrated.
|
||||||
static-thread-library = $(common-objpfx)nptl/libpthread.a
|
shared-thread-library =
|
||||||
|
static-thread-library =
|
||||||
|
|
||||||
|
# Some tests need this to load their own test objects, and system
|
||||||
|
# libraries used by memusagestat need to link against the empty
|
||||||
|
# libpthread.so.0, not the (potentially non-empty) system version.
|
||||||
rpath-dirs += nptl
|
rpath-dirs += nptl
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue