Remove the ptw-% patterns

Nothing depends on the PTW macro anymore, so the mechanism to define
PTW for recompliations of libc routines is no longer needed.  The
source files are still recompiled for the nptl directory, just without
the “ptw-” prefix.

(Reducing the number of pattern rules in sysd-rules is critical for
improving make performance.)
This commit is contained in:
Florian Weimer 2016-09-14 16:02:06 +02:00
parent 02bbfb414f
commit a0a9b6e376
7 changed files with 38 additions and 19 deletions

View File

@ -1,3 +1,20 @@
2016-09-14 Florian Weimer <fweimer@redhat.com>
Remove support for compiling wrappers with PTW.
* sysdeps/nptl/Makeconfig: Drop ptw- support.
* nptl/Makefile (pthread-compat-wrappers): Define.
(libpthread-routines): Use pthread-compat-wrappers.
* sysdeps/unix/sysv/linux/alpha/Makefile
(libpthread-routines, libpthread-shared-only-routines): Remove
ptw- prefix.
* sysdeps/s390/nptl/Makefile
(libpthread-routines, libpthread-shared-only-routines): Likewise.
* sysdeps/ia64/nptl/Makefile
(libpthread-routines, libpthread-shared-only-routines): Likewise.
* sysdeps/nacl/Makefile (libpthread-routines): Use
pthread-compat-wrappers to filter the routines list instead of the
ptw- prefix.
2016-09-13 Paul E. Murphy <murphyp@linux.vnet.ibm.com>
* sysdeps/ieee754/ldbl-128/e_acoshl.c: Wrap long double literals

View File

@ -33,6 +33,18 @@ routines = alloca_cutoff forward libc-lowlevellock libc-cancellation \
register-atfork unregister-atfork
shared-only-routines = forward
# We need to provide certain routines for compatibility with existing
# binaries.
pthread-compat-wrappers = \
write read close fcntl accept \
connect recv recvfrom send \
sendto fsync lseek llseek \
msync nanosleep open open64 pause \
pread pread64 pwrite pwrite64 \
tcdrain wait waitpid msgrcv msgsnd \
sigwait sigsuspend \
recvmsg sendmsg
libpthread-routines = nptl-init vars events version pt-interp \
pthread_create pthread_exit pthread_detach \
pthread_join pthread_tryjoin pthread_timedjoin \
@ -108,14 +120,7 @@ libpthread-routines = nptl-init vars events version pt-interp \
lowlevellock lowlevelrobustlock \
lll_timedlock_wait lll_timedwait_tid \
pt-fork pt-vfork \
ptw-write ptw-read ptw-close ptw-fcntl ptw-accept \
ptw-connect ptw-recv ptw-recvfrom ptw-send \
ptw-sendto ptw-fsync ptw-lseek ptw-llseek \
ptw-msync ptw-nanosleep ptw-open ptw-open64 ptw-pause \
ptw-pread ptw-pread64 ptw-pwrite ptw-pwrite64 \
ptw-tcdrain ptw-wait ptw-waitpid ptw-msgrcv ptw-msgsnd \
ptw-sigwait ptw-sigsuspend \
ptw-recvmsg ptw-sendmsg \
$(pthread-compat-wrappers) \
pt-raise pt-system \
flockfile ftrylockfile funlockfile \
sigaction \

View File

@ -20,6 +20,6 @@ gen-as-const-headers += tcb-offsets.sym
endif
ifeq ($(subdir),nptl)
libpthread-routines += ptw-sysdep ptw-sigblock ptw-sigprocmask
libpthread-shared-only-routines += ptw-sysdep ptw-sigblock ptw-sigprocmask
libpthread-routines += sysdep sigblock sigprocmask
libpthread-shared-only-routines += sysdep sigblock sigprocmask
endif

View File

@ -123,7 +123,8 @@ endif
ifeq ($(subdir),nptl)
# We do not need any wrappers in libpthread.
libpthread-routines := $(filter-out ptw-%,$(libpthread-routines))
libpthread-routines := \
$(filter-out $(pthread-compat-wrappers),$(libpthread-routines))
endif
ifeq ($(subdir),misc)

View File

@ -26,7 +26,3 @@ shared-thread-library = $(common-objpfx)nptl/libpthread_nonshared.a \
static-thread-library = $(common-objpfx)nptl/libpthread.a
rpath-dirs += nptl
# This makes for ptw-*.? object rules in sysd-rules.
ptw-CPPFLAGS := -DPTW
sysd-rules-patterns += ptw-%:%

View File

@ -20,6 +20,6 @@ gen-as-const-headers += tcb-offsets.sym
endif
ifeq ($(subdir),nptl)
libpthread-routines += ptw-sysdep
libpthread-shared-only-routines += ptw-sysdep
libpthread-routines += sysdep
libpthread-shared-only-routines += sysdep
endif

View File

@ -39,6 +39,6 @@ endif # math
ifeq ($(subdir),nptl)
# pull in __syscall_error routine, __sigprocmask, __syscall_rt_sigaction
libpthread-routines += ptw-sysdep ptw-sigprocmask ptw-rt_sigaction
libpthread-shared-only-routines += ptw-sysdep ptw-sigprocmask ptw-rt_sigaction
libpthread-routines += sysdep sigprocmask rt_sigaction
libpthread-shared-only-routines += sysdep sigprocmask rt_sigaction
endif