From patchwork Fri Jun 25 11:42:40 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 44026 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id D301639C3048 for ; Fri, 25 Jun 2021 11:47:37 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D301639C3048 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1624621657; bh=YzLRO2PXRUkFOMpgEg/nRwLTShQujkLg7lU0sPT4MGY=; h=To:Subject:In-Reply-To:References:Date:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=pdtylAi4AcNmOD41CKRMUkFeqlw1C8N0HU5XOtB4aR88u5XwkjavrAWk6tIVk7uwQ i46wZRcGxaLduLbzYFo3NZEVdCSSDsWc4Ct4bZmHLdw6EEyoMibMz5ZYnM43Rg4tYA HbORSkqCpg7vQrhEnKGdYweUrKugaFfkTmTxO5CU= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by sourceware.org (Postfix) with ESMTP id 01D1B398B841 for ; Fri, 25 Jun 2021 11:42:51 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 01D1B398B841 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-31-_ScMSUoqOOCLHKoXbiXHxA-1; Fri, 25 Jun 2021 07:42:44 -0400 X-MC-Unique: _ScMSUoqOOCLHKoXbiXHxA-1 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id DB2AE193F563 for ; Fri, 25 Jun 2021 11:42:43 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-112-228.ams2.redhat.com [10.36.112.228]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 086D75C1A3 for ; Fri, 25 Jun 2021 11:42:41 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH 6/6] Linux: Cleanups after librt move In-Reply-To: References: X-From-Line: 81bd8110956e29a2492b759257ab27fe0e80fa85 Mon Sep 17 00:00:00 2001 Message-Id: <81bd8110956e29a2492b759257ab27fe0e80fa85.1624620992.git.fweimer@redhat.com> Date: Fri, 25 Jun 2021 13:42:40 +0200 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-12.0 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_SHORT, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_PASS, TXREP, URIBL_BLACK autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Florian Weimer via Libc-alpha From: Florian Weimer Reply-To: Florian Weimer Errors-To: libc-alpha-bounces+patchwork=sourceware.org@sourceware.org Sender: "Libc-alpha" 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 --- elf/Makefile | 4 +- misc/Makefile | 6 --- nptl/Makefile | 9 ---- rt/Makefile | 13 ++++-- rt/Versions | 13 ------ rt/aio_misc.c | 14 ------ rt/aio_notify.c | 8 ---- rt/aio_sigqueue.c | 1 - sysdeps/generic/aio_misc.h | 43 ++++++------------- sysdeps/htl/Makeconfig | 6 +++ sysdeps/nptl/Makeconfig | 1 + sysdeps/pthread/Makefile | 14 ++---- sysdeps/unix/sysv/linux/Makefile | 13 ------ sysdeps/unix/sysv/linux/Versions | 6 --- sysdeps/unix/sysv/linux/aio_sigqueue.c | 1 - sysdeps/unix/sysv/linux/kernel-posix-timers.h | 17 +++----- sysdeps/unix/sysv/linux/timer_create.c | 3 +- sysdeps/unix/sysv/linux/timer_routines.c | 10 +---- sysvipc/Makefile | 6 --- time/Makefile | 6 --- 20 files changed, 44 insertions(+), 150 deletions(-) diff --git a/elf/Makefile b/elf/Makefile index 38d08e03b8..f9dac8dcc9 100644 --- a/elf/Makefile +++ b/elf/Makefile @@ -1179,7 +1179,6 @@ localplt-built-dso := $(addprefix $(common-objpfx),\ libc.so \ elf/ld.so \ math/libm.so \ - rt/librt.so \ dlfcn/libdl.so \ resolv/libresolv.so \ ) @@ -1192,6 +1191,9 @@ endif ifeq ($(build-crypt),yes) localplt-built-dso += $(addprefix $(common-objpfx), crypt/libcrypt.so) endif +ifneq ($(pthread-in-libc),yes) +localplt-built-dso += $(addprefix $(common-objpfx), rt/librt.so) +endif vpath localplt.data $(+sysdep_dirs) diff --git a/misc/Makefile b/misc/Makefile index 66586bcc7e..ae03e26f1b 100644 --- a/misc/Makefile +++ b/misc/Makefile @@ -148,12 +148,6 @@ CFLAGS-brk.op = $(no-stack-protector) include ../Rules -ifeq (yes,$(build-shared)) -librt = $(common-objpfx)rt/librt.so -else -librt = $(common-objpfx)rt/librt.a -endif - $(objpfx)libg.a: $(dep-dummy-lib); $(make-dummy-lib) $(objpfx)tst-tsearch: $(libm) diff --git a/nptl/Makefile b/nptl/Makefile index c64e4af2f6..9b94bfcd31 100644 --- a/nptl/Makefile +++ b/nptl/Makefile @@ -535,15 +535,6 @@ $(objpfx)tst-tls6.out: tst-tls6.sh $(objpfx)tst-tls5 \ $(evaluate-test) endif -ifeq (yes,$(build-shared)) -librt = $(common-objpfx)rt/librt.so -else -librt = $(common-objpfx)rt/librt.a -endif - -$(objpfx)tst-cancel17: $(librt) -$(objpfx)tst-cancelx17: $(librt) - LDLIBS-tst-cancel24 = -Wl,--no-as-needed -lstdc++ LDLIBS-tst-cancel24-static = $(LDLIBS-tst-cancel24) diff --git a/rt/Makefile b/rt/Makefile index f8a47622d0..ef26839efd 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 libdl.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) diff --git a/sysdeps/generic/aio_misc.h b/sysdeps/generic/aio_misc.h index d9bff36e50..4d05b8cdd6 100644 --- a/sysdeps/generic/aio_misc.h +++ b/sysdeps/generic/aio_misc.h @@ -87,55 +87,36 @@ struct requestlist /* Lock for global I/O list of requests. */ -extern pthread_mutex_t __aio_requests_mutex; +extern pthread_mutex_t __aio_requests_mutex attribute_hidden; /* Enqueue request. */ extern struct requestlist *__aio_enqueue_request (aiocb_union *aiocbp, - int operation); + int operation) + attribute_hidden; /* Find request entry for given AIO control block. */ -extern struct requestlist *__aio_find_req (aiocb_union *elem); +extern struct requestlist *__aio_find_req (aiocb_union *elem) attribute_hidden; /* Find request entry for given file descriptor. */ -extern struct requestlist *__aio_find_req_fd (int fildes); +extern struct requestlist *__aio_find_req_fd (int fildes) attribute_hidden; /* Remove request from the list. */ extern void __aio_remove_request (struct requestlist *last, - struct requestlist *req, int all); + struct requestlist *req, int all) + attribute_hidden; /* Release the entry for the request. */ -extern void __aio_free_request (struct requestlist *req); +extern void __aio_free_request (struct requestlist *req) attribute_hidden; /* Notify initiator of request and tell this everybody listening. */ -extern void __aio_notify (struct requestlist *req); +extern void __aio_notify (struct requestlist *req) attribute_hidden; /* Notify initiator of request. */ -extern int __aio_notify_only (struct sigevent *sigev); +extern int __aio_notify_only (struct sigevent *sigev) attribute_hidden; /* Send the signal. */ -extern int __aio_sigqueue (int sig, const union sigval val, pid_t caller_pid); - -#if PTHREAD_IN_LIBC -libc_hidden_proto (__aio_enqueue_request) -libc_hidden_proto (__aio_find_req) -libc_hidden_proto (__aio_find_req_fd) -libc_hidden_proto (__aio_free_request) -libc_hidden_proto (__aio_notify) -libc_hidden_proto (__aio_notify_only) -libc_hidden_proto (__aio_remove_request) -libc_hidden_proto (__aio_requests_mutex) -libc_hidden_proto (__aio_sigqueue) -#else -librt_hidden_proto (__aio_enqueue_request) -librt_hidden_proto (__aio_find_req) -librt_hidden_proto (__aio_find_req_fd) -librt_hidden_proto (__aio_free_request) -librt_hidden_proto (__aio_notify) -librt_hidden_proto (__aio_notify_only) -librt_hidden_proto (__aio_remove_request) -librt_hidden_proto (__aio_requests_mutex) -librt_hidden_proto (__aio_sigqueue) -#endif +extern int __aio_sigqueue (int sig, const union sigval val, pid_t caller_pid) + attribute_hidden; #endif /* aio_misc.h */ diff --git a/sysdeps/htl/Makeconfig b/sysdeps/htl/Makeconfig index e8a8f405b0..b5c5d62b74 100644 --- a/sysdeps/htl/Makeconfig +++ b/sysdeps/htl/Makeconfig @@ -7,4 +7,10 @@ shared-thread-library = $(common-objpfx)htl/libpthread.so static-thread-library = $(..)htl/libpthread_syms.a $(common-objpfx)htl/libpthread.a bounded-thread-library = $(static-thread-library) +ifeq (yes,$(build-shared)) +librt = $(common-objpfx)rt/librt.so +else +librt = $(common-objpfx)rt/librt.a $(static-thread-library) +endif + rpath-dirs += htl diff --git a/sysdeps/nptl/Makeconfig b/sysdeps/nptl/Makeconfig index 8a9407925c..613bd7b95b 100644 --- a/sysdeps/nptl/Makeconfig +++ b/sysdeps/nptl/Makeconfig @@ -24,6 +24,7 @@ have-thread-library = yes # The thread library is integrated. shared-thread-library = static-thread-library = +librt = # Some tests need this to load their own test objects, and system # libraries used by memusagestat need to link against the empty diff --git a/sysdeps/pthread/Makefile b/sysdeps/pthread/Makefile index fedb785d38..9b862b93c4 100644 --- a/sysdeps/pthread/Makefile +++ b/sysdeps/pthread/Makefile @@ -17,13 +17,7 @@ # . ifeq ($(subdir),rt) - -ifeq (yes,$(build-shared)) -$(objpfx)tst-timer: $(objpfx)librt.so $(shared-thread-library) -else -$(objpfx)tst-timer: $(objpfx)librt.a $(static-thread-library) -endif - +$(objpfx)tst-timer: $(librt) endif ifneq (,$(filter $(subdir),htl nptl)) @@ -232,12 +226,10 @@ $(objpfx)tst-cleanup0.out: /dev/null $(objpfx)tst-cleanup0 $(objpfx)tst-cleanup0-cmp.out: $(..)sysdeps/pthread/tst-cleanup0.expect $(objpfx)tst-cleanup0.out cmp $^ > $@; \ $(evaluate-test) - -$(objpfx)tst-cancel28: $(common-objpfx)rt/librt.so -else -$(objpfx)tst-cancel28: $(common-objpfx)rt/librt.a endif +$(objpfx)tst-cancel28: $(librt) + $(objpfx)tst-fini1: $(shared-thread-library) $(objpfx)tst-fini1mod.so $(objpfx)tst-fini1mod.so: $(shared-thread-library) diff --git a/sysdeps/unix/sysv/linux/Makefile b/sysdeps/unix/sysv/linux/Makefile index 88d7cd7c1b..faea02bd1b 100644 --- a/sysdeps/unix/sysv/linux/Makefile +++ b/sysdeps/unix/sysv/linux/Makefile @@ -137,19 +137,6 @@ tests-time64 += \ CFLAGS-tst-sigcontext-get_pc.c = -fasynchronous-unwind-tables -ifeq (yes,$(build-shared)) -librt = $(common-objpfx)rt/librt.so -else -librt = $(common-objpfx)rt/librt.a -endif - -$(objpfx)tst-ppoll: $(librt) -$(objpfx)tst-ppoll-time64: $(librt) -$(objpfx)tst-sigtimedwait: $(librt) -$(objpfx)tst-sigtimedwait-time64: $(librt) -$(objpfx)tst-timerfd: $(librt) -$(objpfx)tst-timerfd-time64: $(librt) - # Generate the list of SYS_* macros for the system calls (__NR_* # macros). The file syscall-names.list contains all possible system # call names, and the generated header file produces SYS_* macros for diff --git a/sysdeps/unix/sysv/linux/Versions b/sysdeps/unix/sysv/linux/Versions index 578d55e7fd..29ed24591d 100644 --- a/sysdeps/unix/sysv/linux/Versions +++ b/sysdeps/unix/sysv/linux/Versions @@ -291,12 +291,6 @@ libc { __pread64_nocancel; __close_nocancel; __sigtimedwait; - __timer_active_sigev_thread; - __timer_active_sigev_thread_lock; - __timer_compat_list; - __timer_helper_once; - __timer_helper_tid; - __timer_start_helper_thread; # functions used by nscd __netlink_assert_response; } diff --git a/sysdeps/unix/sysv/linux/aio_sigqueue.c b/sysdeps/unix/sysv/linux/aio_sigqueue.c index bd0da6e763..0b0f347197 100644 --- a/sysdeps/unix/sysv/linux/aio_sigqueue.c +++ b/sysdeps/unix/sysv/linux/aio_sigqueue.c @@ -44,4 +44,3 @@ __aio_sigqueue (int sig, const union sigval val, pid_t caller_pid) return INLINE_SYSCALL (rt_sigqueueinfo, 3, info.si_pid, sig, &info); } -libc_hidden_def (__aio_sigqueue) diff --git a/sysdeps/unix/sysv/linux/kernel-posix-timers.h b/sysdeps/unix/sysv/linux/kernel-posix-timers.h index 5799c1eaa3..9109166f29 100644 --- a/sysdeps/unix/sysv/linux/kernel-posix-timers.h +++ b/sysdeps/unix/sysv/linux/kernel-posix-timers.h @@ -26,27 +26,23 @@ extern int __no_posix_timers attribute_hidden; /* Callback to start helper thread. */ -extern void __timer_start_helper_thread (void); -libc_hidden_proto (__timer_start_helper_thread) +extern void __timer_start_helper_thread (void) attribute_hidden; /* Control variable for helper thread creation. */ -extern pthread_once_t __timer_helper_once; -libc_hidden_proto (__timer_helper_once) +extern pthread_once_t __timer_helper_once attribute_hidden; /* Called from fork so that the new subprocess re-creates the notification thread if necessary. */ void __timer_fork_subprocess (void) attribute_hidden; /* TID of the helper thread. */ -extern pid_t __timer_helper_tid; -libc_hidden_proto (__timer_helper_tid) +extern pid_t __timer_helper_tid attribute_hidden; /* List of active SIGEV_THREAD timers. */ -extern struct timer *__timer_active_sigev_thread; -libc_hidden_proto (__timer_active_sigev_thread) +extern struct timer *__timer_active_sigev_thread attribute_hidden; + /* Lock for __timer_active_sigev_thread. */ -extern pthread_mutex_t __timer_active_sigev_thread_lock; -libc_hidden_proto (__timer_active_sigev_thread_lock) +extern pthread_mutex_t __timer_active_sigev_thread_lock attribute_hidden; extern __typeof (timer_create) __timer_create; libc_hidden_proto (__timer_create) @@ -118,5 +114,4 @@ timerid_to_kernel_timer (timer_t timerid) #if TIMER_T_WAS_INT_COMPAT # define OLD_TIMER_MAX 256 extern timer_t __timer_compat_list[OLD_TIMER_MAX]; -libc_hidden_proto (__timer_compat_list) #endif diff --git a/sysdeps/unix/sysv/linux/timer_create.c b/sysdeps/unix/sysv/linux/timer_create.c index 58099e3204..fb904a86e3 100644 --- a/sysdeps/unix/sysv/linux/timer_create.c +++ b/sysdeps/unix/sysv/linux/timer_create.c @@ -146,8 +146,7 @@ compat_symbol (librt, ___timer_create, timer_create, GLIBC_2_3_3); # endif # if OTHER_SHLIB_COMPAT (librt, GLIBC_2_2, GLIBC_2_3_3) -timer_t __timer_compat_list[OLD_TIMER_MAX] __attribute__ ((nocommon)); -libc_hidden_data_def (__timer_compat_list) +timer_t __timer_compat_list[OLD_TIMER_MAX]; int __timer_create_old (clockid_t clock_id, struct sigevent *evp, int *timerid) diff --git a/sysdeps/unix/sysv/linux/timer_routines.c b/sysdeps/unix/sysv/linux/timer_routines.c index e0bb169370..30ad32b4fc 100644 --- a/sysdeps/unix/sysv/linux/timer_routines.c +++ b/sysdeps/unix/sysv/linux/timer_routines.c @@ -26,13 +26,10 @@ /* List of active SIGEV_THREAD timers. */ -struct timer *__timer_active_sigev_thread __attribute__ ((nocommon)); -libc_hidden_data_def (__timer_active_sigev_thread) +struct timer *__timer_active_sigev_thread; /* Lock for _timer_active_sigev_thread. */ -pthread_mutex_t __timer_active_sigev_thread_lock __attribute__ ((nocommon)) - = PTHREAD_MUTEX_INITIALIZER; -libc_hidden_data_def (__timer_active_sigev_thread_lock) +pthread_mutex_t __timer_active_sigev_thread_lock = PTHREAD_MUTEX_INITIALIZER; struct thread_start_data { @@ -112,12 +109,10 @@ timer_helper_thread (void *arg) /* Control variable for helper thread creation. */ pthread_once_t __timer_helper_once __attribute__ ((nocommon)) = PTHREAD_ONCE_INIT; -libc_hidden_data_def (__timer_helper_once) /* TID of the helper thread. */ pid_t __timer_helper_tid __attribute__ ((nocommon)); -libc_hidden_data_def (__timer_helper_tid) /* Reset variables so that after a fork a new helper thread gets started. */ @@ -159,4 +154,3 @@ __timer_start_helper_thread (void) /* No need for the attribute anymore. */ __pthread_attr_destroy (&attr); } -libc_hidden_def (__timer_start_helper_thread) diff --git a/sysvipc/Makefile b/sysvipc/Makefile index d2acb6a70b..5f1995c05f 100644 --- a/sysvipc/Makefile +++ b/sysvipc/Makefile @@ -39,11 +39,5 @@ include ../Rules CFLAGS-msgrcv.c += -fexceptions -fasynchronous-unwind-tables CFLAGS-msgsnd.c += -fexceptions -fasynchronous-unwind-tables -ifeq (yes,$(build-shared)) -librt = $(common-objpfx)rt/librt.so -else -librt = $(common-objpfx)rt/librt.a -endif - $(objpfx)test-sysvsem: $(librt) $(objpfx)test-sysvsem-time64: $(librt) diff --git a/time/Makefile b/time/Makefile index 0bea84966c..38e3a7f4c7 100644 --- a/time/Makefile +++ b/time/Makefile @@ -86,12 +86,6 @@ $(objpfx)tst-strftime2.out: $(gen-locales) $(objpfx)tst-strftime3.out: $(gen-locales) endif -ifeq (yes,$(build-shared)) -librt = $(common-objpfx)rt/librt.so -else -librt = $(common-objpfx)rt/librt.a -endif - $(objpfx)tst-clock_nanosleep: $(librt) $(objpfx)tst-clock_nanosleep-time64: $(librt)