From 30639e79d3370243ee5ef3a029204a4c71e15856 Mon Sep 17 00:00:00 2001 From: Florian Weimer Date: Mon, 28 Jun 2021 09:51:01 +0200 Subject: Linux: Cleanups after librt move librt.so is no longer installed for PTHREAD_IN_LIBC, and tests are not linked against it. $(librt) is introduced globally for shared tests that need to be linked for both PTHREAD_IN_LIBC and !PTHREAD_IN_LIBC. GLIBC_PRIVATE symbols that were needed during the transition are removed again. Reviewed-by: Carlos O'Donell --- rt/Makefile | 13 ++++++++++--- rt/Versions | 13 ------------- rt/aio_misc.c | 14 -------------- rt/aio_notify.c | 8 -------- rt/aio_sigqueue.c | 1 - 5 files changed, 10 insertions(+), 39 deletions(-) (limited to 'rt') diff --git a/rt/Makefile b/rt/Makefile index f8a47622d0..113cea03a5 100644 --- a/rt/Makefile +++ b/rt/Makefile @@ -28,9 +28,7 @@ routines = \ shm_open \ shm_unlink \ -librt-routines = \ - librt-compat \ - +librt-routines = librt-compat librt-shared-only-routines = librt-compat $(librt-routines-var) += \ @@ -64,6 +62,13 @@ $(librt-routines-var) += \ timer_gettime \ timer_settime \ +ifeq ($(pthread-in-libc),yes) +# Pretend that librt.so is a linker script, so that the symbolic +# link is not installed. +install-lib-ldscripts = librt.so +$(inst_libdir)/librt.so: +endif + tests := tst-shm tst-timer tst-timer2 \ tst-aio tst-aio64 tst-aio2 tst-aio3 tst-aio4 tst-aio5 tst-aio6 \ tst-aio7 tst-aio8 tst-aio9 tst-aio10 \ @@ -98,6 +103,7 @@ LDFLAGS-rt.so = -Wl,--enable-new-dtags,-z,nodelete $(objpfx)librt.so: $(shared-thread-library) +ifneq ($(pthread-in-libc),yes) ifeq (yes,$(build-shared)) $(addprefix $(objpfx),$(tests) $(tests-internal)): \ $(objpfx)librt.so $(shared-thread-library) @@ -105,5 +111,6 @@ else $(addprefix $(objpfx),$(tests)) $(tests-internal): \ $(objpfx)librt.a $(static-thread-library) endif +endif # !$(pthread-in-libc) tst-mqueue7-ARGS = -- $(host-test-program-cmd) diff --git a/rt/Versions b/rt/Versions index 7e41beae06..a3dc72cff4 100644 --- a/rt/Versions +++ b/rt/Versions @@ -95,19 +95,6 @@ libc { shm_open; shm_unlink; } -%if PTHREAD_IN_LIBC - GLIBC_PRIVATE { - __aio_enqueue_request; - __aio_find_req; - __aio_find_req_fd; - __aio_free_request; - __aio_notify; - __aio_notify_only; - __aio_remove_request; - __aio_requests_mutex; - __aio_sigqueue; - } -%endif } librt { GLIBC_2.1 { diff --git a/rt/aio_misc.c b/rt/aio_misc.c index 953d6e7613..acbd4f3623 100644 --- a/rt/aio_misc.c +++ b/rt/aio_misc.c @@ -735,24 +735,10 @@ add_request_to_runlist (struct requestlist *newrequest) } #if PTHREAD_IN_LIBC -libc_hidden_data_def (__aio_requests_mutex) -libc_hidden_def (__aio_enqueue_request) -libc_hidden_def (__aio_find_req) -libc_hidden_def (__aio_find_req_fd) -libc_hidden_def (__aio_free_request) -libc_hidden_def (__aio_remove_request) - versioned_symbol (libc, __aio_init, aio_init, GLIBC_2_34); # if OTHER_SHLIB_COMPAT (librt, GLIBC_2_1, GLIBC_2_34) compat_symbol (librt, __aio_init, aio_init, GLIBC_2_1); # endif - #else /* !PTHREAD_IN_LIBC */ -librt_hidden_data_def (__aio_requests_mutex) -librt_hidden_def (__aio_enqueue_request) -librt_hidden_def (__aio_find_req) -librt_hidden_def (__aio_find_req_fd) -librt_hidden_def (__aio_free_request) -librt_hidden_def (__aio_remove_request) weak_alias (__aio_init, aio_init) #endif /* !PTHREAD_IN_LIBC */ diff --git a/rt/aio_notify.c b/rt/aio_notify.c index 432000e34b..0fa84f203c 100644 --- a/rt/aio_notify.c +++ b/rt/aio_notify.c @@ -160,11 +160,3 @@ __aio_notify (struct requestlist *req) waitlist = next; } } - -#if PTHREAD_IN_LIBC -libc_hidden_def (__aio_notify) -libc_hidden_def (__aio_notify_only) -#else -librt_hidden_def (__aio_notify) -librt_hidden_def (__aio_notify_only) -#endif diff --git a/rt/aio_sigqueue.c b/rt/aio_sigqueue.c index 0ad95ae04c..84848bacd8 100644 --- a/rt/aio_sigqueue.c +++ b/rt/aio_sigqueue.c @@ -28,5 +28,4 @@ __aio_sigqueue (int sig, const union sigval val, pid_t caller_pid) __set_errno (ENOSYS); return -1; } -librt_hidden_def (__aio_sigqueue) stub_warning (__aio_sigqueue) -- cgit 1.4.1