diff --git a/glibc-make-3.82.patch b/glibc-make-3.82.patch new file mode 100644 index 0000000..702c044 --- /dev/null +++ b/glibc-make-3.82.patch @@ -0,0 +1,91 @@ +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. + +2010-09-06 Andreas Schwab + + * manual/Makefile: Don't mix pattern rules with normal rules. + +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 + +diff --git a/manual/Makefile b/manual/Makefile +index c5866eb..b1f5fa7 100644 +--- a/manual/Makefile ++++ b/manual/Makefile +@@ -232,7 +232,10 @@ ifdef objpfx + .PHONY: stubs + stubs: $(objpfx)stubs + endif +-$(objpfx)stubs ../po/manual.pot $(objpfx)stamp%: ++$(objpfx)stubs ../po/manual.pot: ++ $(make-target-directory) ++ touch $@ ++$(objpfx)stamp%: + $(make-target-directory) + touch $@ + diff --git a/glibc.changes b/glibc.changes index 89c01c0..d22b858 100644 --- a/glibc.changes +++ b/glibc.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Mon Sep 13 14:36:26 UTC 2010 - aj@suse.de + +- Fix build in manual with make 3.82. + +------------------------------------------------------------------- +Sun Sep 12 08:00:57 UTC 2010 - aj@suse.de + +- Work around shortest-stem feature in make 3.82+ (patch + glibc-make-3.82.patch) + ------------------------------------------------------------------- Wed Jul 7 04:12:05 CEST 2010 - pbaudis@suse.cz diff --git a/glibc.spec b/glibc.spec index a50ed77..f1db7e6 100644 --- a/glibc.spec +++ b/glibc.spec @@ -64,7 +64,7 @@ Obsoletes: glibc-32bit Provides: rtld(GNU_HASH) AutoReqProv: on Version: 2.11.2 -Release: 3 +Release: 6 Url: http://www.gnu.org/software/libc/libc.html PreReq: filesystem BuildRoot: %{_tmppath}/%{name}-%{version}-build @@ -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