This is the mail archive of the libc-hacker@sources.redhat.com mailing list for the glibc project.

Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Proper dependencies for cancellable syscalls


The cancellable syscalls use <sysdep-cancel.h> instead of
<sysdeps.h>, and s-proto.d does not contain the correct
dependencies.

Andreas.

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.
	* s-proto-cancel.S: New file.

--- sysdeps/unix/Makefile.~1.84.~	2001-07-16 10:44:59.000000000 +0200
+++ sysdeps/unix/Makefile	2002-12-28 00:25:41.000000000 +0100
@@ -297,22 +297,24 @@ $(common-objpfx)sysd-syscalls: $(..)sysd
 	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
--- sysdeps/unix/make-syscalls.sh.~1.30.~	2002-12-16 22:05:03.000000000 +0100
+++ sysdeps/unix/make-syscalls.sh	2002-12-27 23:56:28.000000000 +0100
@@ -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 | \
--- /dev/null	2002-10-07 10:49:18.000000000 +0200
+++ sysdeps/unix/s-proto-cancel.S	2002-12-27 23:49:31.000000000 +0100
@@ -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>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]