diff --git a/glibc-make-3.82.patch b/glibc-make-3.82.patch new file mode 100644 index 0000000..f8608ae --- /dev/null +++ b/glibc-make-3.82.patch @@ -0,0 +1,81 @@ +From: Andreas Schwab +To: libc-hacker at sourceware dot org +Subject: [PATCH] Work around shortest-stem feature in make 3.82+ + +make 3.82+ no longer selects pattern rules by order, but by shortest +stem, so we need to add more rules to make sure we still get the right +matches. + +Andreas. + +2010-09-09 Andreas Schwab + + * Makeconfig (sysd-rules-patterns): Add rtld-%:rtld-%. + (sysd-rules-targets): Remove duplicates. + * elf/rtld-Rules ($(objpfx)rtld-%.os): Add pattern rules with + rtld-%.$o dependency. +--- + Makeconfig | 6 +++--- + elf/rtld-Rules | 9 +++++++++ + 2 files changed, 12 insertions(+), 3 deletions(-) + +diff --git a/Makeconfig b/Makeconfig +index 9778998..807c1d1 100644 +--- a/Makeconfig ++++ b/Makeconfig +@@ -966,7 +966,7 @@ endif + # emitted into sysd-rules. A sysdeps Makeconfig fragment can + # add its own special object file prefix to this list with e.g. foo-%:% + # to have foo-*.? compiled from *.? using $(foo-CPPFLAGS). +-sysd-rules-patterns := %:% rtld-%:% m_%:s_% ++sysd-rules-patterns := %:% rtld-%:rtld-% rtld-%:% m_%:s_% + + # Let sysdeps/ subdirs contain a Makeconfig fragment for us to include here. + sysdep-makeconfigs := $(wildcard $(+sysdep_dirs:=/Makeconfig)) +@@ -975,8 +975,8 @@ 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))) ++sysd-rules-targets := $(sort $(foreach p,$(sysd-rules-patterns),\ ++ $(firstword $(subst :, ,$p)))) + + endif # Makeconfig not yet included + +diff --git a/elf/rtld-Rules b/elf/rtld-Rules +index 9f31a56..fc225f2 100644 +--- a/elf/rtld-Rules ++++ b/elf/rtld-Rules +@@ -93,6 +93,12 @@ else + # These are the basic compilation rules corresponding to the Makerules ones. + # The sysd-rules generated makefile already defines pattern rules for rtld-% + # targets built from sysdeps source files. ++$(objpfx)rtld-%.os: rtld-%.S $(before-compile) ++ $(compile-command.S) $(rtld-CPPFLAGS) ++$(objpfx)rtld-%.os: rtld-%.s $(before-compile) ++ $(compile-command.s) $(rtld-CPPFLAGS) ++$(objpfx)rtld-%.os: rtld-%.c $(before-compile) ++ $(compile-command.c) $(rtld-CPPFLAGS) + $(objpfx)rtld-%.os: %.S $(before-compile) + $(compile-command.S) $(rtld-CPPFLAGS) + $(objpfx)rtld-%.os: %.s $(before-compile) +@@ -101,6 +107,9 @@ $(objpfx)rtld-%.os: %.c $(before-compile) + $(compile-command.c) $(rtld-CPPFLAGS) + + # The rules for generated source files. ++$(objpfx)rtld-%.os: $(objpfx)rtld-%.S $(before-compile); $(compile-command.S) ++$(objpfx)rtld-%.os: $(objpfx)rtld-%.s $(before-compile); $(compile-command.s) ++$(objpfx)rtld-%.os: $(objpfx)rtld-%.c $(before-compile); $(compile-command.c) + $(objpfx)rtld-%.os: $(objpfx)%.S $(before-compile); $(compile-command.S) + $(objpfx)rtld-%.os: $(objpfx)%.s $(before-compile); $(compile-command.s) + $(objpfx)rtld-%.os: $(objpfx)%.c $(before-compile); $(compile-command.c) +-- +1.7.2.2 + + +-- +Andreas Schwab, schwab@redhat.com +GPG Key fingerprint = D4E8 DBE3 3813 BB5D FA84 5EC7 45C6 250E 6F00 984E +"And now for something completely different." + diff --git a/glibc.changes b/glibc.changes index 89c01c0..e9ac4ce 100644 --- a/glibc.changes +++ b/glibc.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Sun Sep 12 08:00:57 UTC 2010 - aj@suse.de + +- Work around shortest-stem feature in make 3.82+ + ------------------------------------------------------------------- Wed Jul 7 04:12:05 CEST 2010 - pbaudis@suse.cz diff --git a/glibc.spec b/glibc.spec index a50ed77..9919b7a 100644 --- a/glibc.spec +++ b/glibc.spec @@ -138,6 +138,7 @@ Patch64: glibc-gai-private4.diff Patch65: glibc-resolv-mdnshint.diff Patch66: glibc-ldconfigr-aux.diff Patch67: glibc-nis-initgroups.diff +Patch68: glibc-make-3.82.patch Patch500: ARM_glibc-2.10.1-local-eabi-wchar.diff Patch501: ARM_glibc-2.10.1-local-hwcap-updates.diff Patch502: ARM_glibc-2.10.1-local-lowlevellock.diff @@ -361,6 +362,7 @@ rm nscd/s-stamp %patch65 -p1 %patch66 -p1 %patch67 -p1 +%patch68 -p1 %ifarch %arm armv5tel armv7l %patch500 %patch501