about summary refs log tree commit diff
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2016-09-14 16:02:06 +0200
committerFlorian Weimer <fweimer@redhat.com>2016-09-14 16:02:06 +0200
commita0a9b6e376b75c07b4f65f270f008ce035bbf536 (patch)
tree631d70c64f836515b95b6c204fa73bb396efa284
parent02bbfb414f367c73196e6f23fa7435a08c92449f (diff)
downloadglibc-a0a9b6e376b75c07b4f65f270f008ce035bbf536.tar.gz
glibc-a0a9b6e376b75c07b4f65f270f008ce035bbf536.tar.xz
glibc-a0a9b6e376b75c07b4f65f270f008ce035bbf536.zip
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.)
-rw-r--r--ChangeLog17
-rw-r--r--nptl/Makefile21
-rw-r--r--sysdeps/ia64/nptl/Makefile4
-rw-r--r--sysdeps/nacl/Makefile3
-rw-r--r--sysdeps/nptl/Makeconfig4
-rw-r--r--sysdeps/s390/nptl/Makefile4
-rw-r--r--sysdeps/unix/sysv/linux/alpha/Makefile4
7 files changed, 38 insertions, 19 deletions
diff --git a/ChangeLog b/ChangeLog
index 46ca5fa700..646c336dae 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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
diff --git a/nptl/Makefile b/nptl/Makefile
index 2ddcd2b4e4..e8de1bc7e1 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -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 \
diff --git a/sysdeps/ia64/nptl/Makefile b/sysdeps/ia64/nptl/Makefile
index 1e6be8eea8..4bc1a18d0c 100644
--- a/sysdeps/ia64/nptl/Makefile
+++ b/sysdeps/ia64/nptl/Makefile
@@ -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
diff --git a/sysdeps/nacl/Makefile b/sysdeps/nacl/Makefile
index 71a4f8fa4b..a25bd6957f 100644
--- a/sysdeps/nacl/Makefile
+++ b/sysdeps/nacl/Makefile
@@ -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)
diff --git a/sysdeps/nptl/Makeconfig b/sysdeps/nptl/Makeconfig
index 2f4918d112..babee94746 100644
--- a/sysdeps/nptl/Makeconfig
+++ b/sysdeps/nptl/Makeconfig
@@ -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-%:%
diff --git a/sysdeps/s390/nptl/Makefile b/sysdeps/s390/nptl/Makefile
index 3a391c8217..352edc0504 100644
--- a/sysdeps/s390/nptl/Makefile
+++ b/sysdeps/s390/nptl/Makefile
@@ -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
diff --git a/sysdeps/unix/sysv/linux/alpha/Makefile b/sysdeps/unix/sysv/linux/alpha/Makefile
index 3b523b70cf..1e858ce727 100644
--- a/sysdeps/unix/sysv/linux/alpha/Makefile
+++ b/sysdeps/unix/sysv/linux/alpha/Makefile
@@ -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