summaryrefslogtreecommitdiff
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)
* 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>