[PATCH 1/2] Makeconfig: Support $(+nolink-deps) in link flags
Florian Weimer
fweimer@redhat.com
Fri Mar 21 18:42:10 GMT 2025
This allows adding dependencies to rules, but not linking against
them.
This is more or less a reimplementation of .EXTRA_PREREQS feature from
GNU make 4.3.
---
Makeconfig | 12 ++++++++----
Makerules | 2 +-
2 files changed, 9 insertions(+), 5 deletions(-)
diff --git a/Makeconfig b/Makeconfig
index aa547a443f..3628db6eba 100644
--- a/Makeconfig
+++ b/Makeconfig
@@ -442,7 +442,8 @@ ifndef +link-pie
$(filter-out $(addprefix $(csu-objpfx),start.o \
S$(start-installed-name))\
$(+preinit) $(link-extra-libs) \
- $(common-objpfx)libc% $(+postinit),$^) \
+ $(common-objpfx)libc% $(+postinit) \
+ $(+nolink-deps),$^) \
$(link-extra-libs)
+link-pie-after-libc = $(+postctorS) $(+postinit)
define +link-pie
@@ -473,7 +474,8 @@ ifndef +link-static
$(filter-out $(addprefix $(csu-objpfx),start.o \
$(start-installed-name))\
$(+preinit) $(link-extra-libs-static) \
- $(common-objpfx)libc% $(+postinit),$^) \
+ $(common-objpfx)libc% $(+postinit) \
+ $(+nolink-deps), $^) \
$(link-extra-libs-static)
+link-static-after-libc = $(+postctorT) $(+postinit)
define +link-static
@@ -509,7 +511,8 @@ else # not build-pie-default
$(filter-out $(addprefix $(csu-objpfx),start.o \
$(start-installed-name))\
$(+preinit) $(link-extra-libs) \
- $(common-objpfx)libc% $(+postinit),$^) \
+ $(common-objpfx)libc% $(+postinit) \
+ $(+nolink-deps),$^) \
$(link-extra-libs)
+link-after-libc = $(+postctor) $(+postinit)
define +link
@@ -549,7 +552,8 @@ endif # +link
$(filter-out $(addprefix $(csu-objpfx),start.o \
$(start-name-2.0))\
$(+preinit) $(link-extra-libs) \
- $(common-objpfx)libc% $(+postinit),$^) \
+ $(common-objpfx)libc% $(+postinit) \
+ $(+nolink-deps),$^) \
$(link-extra-libs)
+link-after-libc = $(+postctor) $(+postinit)
define +link-2.0-tests
diff --git a/Makerules b/Makerules
index ada616891e..9dc60cc3ce 100644
--- a/Makerules
+++ b/Makerules
@@ -587,7 +587,7 @@ endef
build-module-helper-objlist = \
$(patsubst %_pic.a,$(whole-archive) %_pic.a $(no-whole-archive),\
$(filter-out %.lds $(map-file) $(+preinit) $(+postinit) \
- $(elf-objpfx)sofini.os \
+ $(elf-objpfx)sofini.os $(+nolink-deps) \
$(link-libc-deps),$^))
build-module-objlist = $(build-module-helper-objlist) $(LDLIBS-$(@F:%.so=%).so)
base-commit: 3e2be87832781a29ed67f38f87c1ce3dd4c1b866
--
2.48.1
More information about the Libc-alpha
mailing list