aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog10
-rw-r--r--sysdeps/unix/Makefile12
-rw-r--r--sysdeps/unix/make-syscalls.sh4
-rw-r--r--sysdeps/unix/s-proto-cancel.S5
4 files changed, 24 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog
index a128a80..983d826 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2002-12-28 Andreas Schwab <schwab@suse.de>
+
+ * 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.
+
2002-12-29 Roland McGrath <roland@redhat.com>
* resolv/res_libc.c: Move _res defn magic after res_init defn
diff --git a/sysdeps/unix/Makefile b/sysdeps/unix/Makefile
index db09b94..d6aabb4 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 932f48d..bbc8d43 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 0000000..042be3c
--- /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>