aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2008-02-01 00:01:25 +0000
committerRoland McGrath <roland@gnu.org>2008-02-01 00:01:25 +0000
commit363a641b1c856bf497840c6f7ed975366b48eb0e (patch)
tree80fa331870fbe6a2d76692d112e84cdbed7b99f3
parent7bd00dbfeb3398bead0ff2c0a9b190791cf251fa (diff)
downloadglibc-363a641b1c856bf497840c6f7ed975366b48eb0e.zip
glibc-363a641b1c856bf497840c6f7ed975366b48eb0e.tar.gz
glibc-363a641b1c856bf497840c6f7ed975366b48eb0e.tar.bz2
* Makeconfig (sysd-rules-targets): New variable.
* sysdeps/unix/make-syscalls.sh: Use it in the rules emitted. * sysdeps/unix/Makefile (omit-deps): Append variants for each target.
-rw-r--r--ChangeLog6
-rw-r--r--Makeconfig3
-rw-r--r--nptl/Makefile6
-rw-r--r--sysdeps/unix/Makefile4
-rw-r--r--sysdeps/unix/make-syscalls.sh8
5 files changed, 17 insertions, 10 deletions
diff --git a/ChangeLog b/ChangeLog
index 8be3612..b6f044a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2008-01-31 Roland McGrath <roland@redhat.com>
+
+ * Makeconfig (sysd-rules-targets): New variable.
+ * sysdeps/unix/make-syscalls.sh: Use it in the rules emitted.
+ * sysdeps/unix/Makefile (omit-deps): Append variants for each target.
+
2008-01-30 Roland McGrath <roland@redhat.com>
* manual/libc.texinfo: Update back-cover text.
diff --git a/Makeconfig b/Makeconfig
index d7cf0aa..d269936 100644
--- a/Makeconfig
+++ b/Makeconfig
@@ -944,6 +944,9 @@ ifneq (,$(sysdep-makeconfigs))
include $(sysdep-makeconfigs)
endif
+# Compute just the target patterns. Makeconfig has set sysd-rules-patterns.
+sysd-rules-targets := $(foreach p,$(sysd-rules-patterns),\
+ $(firstword $(subst :, ,$p)))
endif # Makeconfig not yet included
diff --git a/nptl/Makefile b/nptl/Makefile
index 00cf40d..a55d7f5 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -1,4 +1,5 @@
-# Copyright (C) 2002,2003,2004,2005,2006,2007 Free Software Foundation, Inc.
+# Copyright (C) 2002,2003,2004,2005,2006,2007,2008
+# Free Software Foundation, Inc.
# This file is part of the GNU C Library.
# The GNU C Library is free software; you can redistribute it and/or
@@ -192,9 +193,6 @@ CFLAGS-tcdrain.c = -fexceptions -fasynchronous-unwind-tables
CFLAGS-pt-system.c = -fexceptions
-# Don't generate deps for calls with no sources. See sysdeps/unix/Makefile.
-omit-deps = $(unix-syscalls:%=ptw-%)
-
tests = tst-typesizes \
tst-attr1 tst-attr2 tst-attr3 \
diff --git a/sysdeps/unix/Makefile b/sysdeps/unix/Makefile
index 4ab06ba..2696e7f 100644
--- a/sysdeps/unix/Makefile
+++ b/sysdeps/unix/Makefile
@@ -1,4 +1,4 @@
-# Copyright (C) 1991,1992,1993,1994,1995,1996,1997,1998,1999,2003, 2006
+# Copyright (C) 1991,1992,1993,1994,1995,1996,1997,1998,1999,2003, 2006, 2008
# Free Software Foundation, Inc.
# This file is part of the GNU C Library.
@@ -260,7 +260,7 @@ ifndef inhibit-unix-syscalls
# which specifies objects to be compiled as simple Unix system calls.
-include $(common-objpfx)sysd-syscalls
-omit-deps += $(unix-syscalls)
+omit-deps += $(foreach t,$(sysd-rules-targets),$(unix-syscalls:%=$t))
ifeq (misc,$(subdir))
sysdep_routines += $(unix-extra-syscalls)
diff --git a/sysdeps/unix/make-syscalls.sh b/sysdeps/unix/make-syscalls.sh
index 0ec8b28..ca82e1f 100644
--- a/sysdeps/unix/make-syscalls.sh
+++ b/sysdeps/unix/make-syscalls.sh
@@ -146,9 +146,8 @@ shared-only-routines += $file
;;
*)
echo "\
-\$(foreach o,\$(object-suffixes),\$(objpfx)$file\$o) \
-\$(foreach o,\$(object-suffixes),\$(objpfx)ptw-$file\$o) \
-\$(objpfx)rtld-$file.os: \\"
+\$(foreach p,\$(sysd-rules-targets),\
+\$(foreach o,\$(object-suffixes),\$(objpfx)\$(patsubst %,\$p,$file)\$o)): \\"
;;
esac
@@ -216,7 +215,8 @@ shared-only-routines += $file
done
# And finally, pipe this all into the compiler.
- echo ' ) | $(compile-syscall)'
+ echo ' ) | $(compile-syscall) '"\
+\$(foreach p,\$(patsubst %$file,%,\$(basename \$(@F))),\$(\$(p)CPPFLAGS))"
case $weak in
*@*)