about summary refs log tree commit diff
path: root/sysdeps
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2002-12-30 00:12:56 +0000
committerRoland McGrath <roland@gnu.org>2002-12-30 00:12:56 +0000
commitc99dac3600301c1cb9d236466e311694a694c023 (patch)
tree93e948946bf0f807b2300d9722aa97b23e35fbfb /sysdeps
parent4aeb650e63ca7d7cdb62ce081ba7ddd9b6dfb683 (diff)
downloadglibc-c99dac3600301c1cb9d236466e311694a694c023.tar.gz
glibc-c99dac3600301c1cb9d236466e311694a694c023.tar.xz
glibc-c99dac3600301c1cb9d236466e311694a694c023.zip
* sysdeps/unix/Makefile: Include $(common-objpfx)s-proto-cancel.d.
	($(common-objpfx)s-%.d): Generalized from
	$(common-objpfx)s-proto.d rule.
	(common-generated): Add s-proto-cancel.d.
	* sysdeps/unix/make-syscalls.sh: Use s-proto-cancel.d for
	cancellable syscalls.
	* sysdeps/unix/s-proto-cancel.S: New file.
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/unix/Makefile12
-rw-r--r--sysdeps/unix/make-syscalls.sh4
-rw-r--r--sysdeps/unix/s-proto-cancel.S5
3 files changed, 14 insertions, 7 deletions
diff --git a/sysdeps/unix/Makefile b/sysdeps/unix/Makefile
index db09b9454c..d6aabb4c98 100644
--- a/sysdeps/unix/Makefile
+++ b/sysdeps/unix/Makefile
@@ -297,22 +297,24 @@ $(common-objpfx)sysd-syscalls: $(..)sysdeps/unix/make-syscalls.sh \
 	mv -f $@T $@
 endif
 
-# This syscall objects depend on s-proto.d, which is generated to
-# specify dependencies generated syscalls with have on headers.
+# The syscall objects depend on s-proto.d or s-proto-cancel.d, which
+# are generated to specify dependencies generated syscalls have on
+# headers.
 ifdef subdir
 ifndef no_deps
 # These deps use file names relative to a subdir, so don't
 # include them in the parent directory.
 -include $(common-objpfx)s-proto.d
+-include $(common-objpfx)s-proto-cancel.d
 endif
 endif
 
-$(common-objpfx)s-proto.d: $(common-objpfx)%.d: $(..)sysdeps/unix/%.S \
-			   $(wildcard $(+sysdep_dirs:%=%/syscalls.list))
+$(common-objpfx)s-%.d: $(..)sysdeps/unix/s-%.S \
+		       $(wildcard $(+sysdep_dirs:%=%/syscalls.list))
 # Don't try to use compat.h in the db2 subdir
 	$(subst -include ./compat.h,,$(+make-deps))
 
-common-generated += s-proto.d
+common-generated += s-proto.d s-proto-cancel.d
 postclean-generated += sysd-syscalls
 
 endif
diff --git a/sysdeps/unix/make-syscalls.sh b/sysdeps/unix/make-syscalls.sh
index 932f48d295..bbc8d43108 100644
--- a/sysdeps/unix/make-syscalls.sh
+++ b/sysdeps/unix/make-syscalls.sh
@@ -139,7 +139,7 @@ shared-only-routines += $file
     ;;
   esac
 
-  echo '		$(common-objpfx)s-proto.d'
+  echo "		\$(common-objpfx)s-proto$cancellable.d"
   case x"$callnum" in
   x_)
   echo "\
@@ -248,7 +248,7 @@ shared-only-routines += $file
     # generate makefile envelope & rule head
     echo "ifeq (,\$(filter $file,\$(bp-thunks)))"
     echo "bp-thunks += $file"
-    echo "\$(objpfx)\$(bppfx)$file.ob: \$(common-objpfx)s-proto.d"
+    echo "\$(objpfx)\$(bppfx)$file.ob: \$(common-objpfx)s-proto$cancellable.d"
 
     # generate macro head
     echo "	(echo '#define $callname(`echo $arglist | \
diff --git a/sysdeps/unix/s-proto-cancel.S b/sysdeps/unix/s-proto-cancel.S
new file mode 100644
index 0000000000..042be3c8df
--- /dev/null
+++ b/sysdeps/unix/s-proto-cancel.S
@@ -0,0 +1,5 @@
+/* This file exists just to have its dependencies determined.
+   Those dependencies are then used for the objects of the cancellable
+   system calls.  */
+
+#include <sysdep-cancel.h>