diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | Makeconfig | 3 | ||||
-rw-r--r-- | nptl/Makefile | 6 | ||||
-rw-r--r-- | sysdeps/unix/Makefile | 4 | ||||
-rw-r--r-- | sysdeps/unix/make-syscalls.sh | 8 |
5 files changed, 17 insertions, 10 deletions
@@ -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 d7cf0aa031..d269936f32 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 00cf40d695..a55d7f5e92 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 4ab06ba33e..2696e7fb62 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 0ec8b28fd2..ca82e1f331 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 *@*) |