eb260669dc
reviewed ok. OBS-URL: https://build.opensuse.org/request/show/47921 OBS-URL: https://build.opensuse.org/package/show/Base:System/glibc?expand=0&rev=39
82 lines
3.1 KiB
Diff
82 lines
3.1 KiB
Diff
From: Andreas Schwab <schwab at redhat dot com>
|
|
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 <schwab@redhat.com>
|
|
|
|
* 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."
|
|
|