You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
101 lines
4.1 KiB
101 lines
4.1 KiB
9 months ago
|
commit e30fb31c0ad8d31babd1d0d0f05e37c6579a870b
|
||
|
Author: Florian Weimer <fweimer@redhat.com>
|
||
|
Date: Fri Apr 26 07:16:47 2019 +0200
|
||
|
|
||
|
Makeconfig: Move $(CC) to +link command variables
|
||
|
|
||
|
This change is needed to add linker flags which come very early in the
|
||
|
command linke (before LDFLAGS) and are not applied to test programs
|
||
|
(only to installed programs).
|
||
|
|
||
|
diff --git a/Makeconfig b/Makeconfig
|
||
|
index 742c0c0783a14bfa..1ad25fc5a7251aea 100644
|
||
|
--- a/Makeconfig
|
||
|
+++ b/Makeconfig
|
||
|
@@ -415,7 +415,7 @@ link-extra-libs-tests = $(libsupport)
|
||
|
|
||
|
# Command for linking PIE programs with the C library.
|
||
|
ifndef +link-pie
|
||
|
-+link-pie-before-libc = $(CC) $(if $($(@F)-no-pie),$(no-pie-ldflag),-pie) \
|
||
|
++link-pie-before-libc = $(if $($(@F)-no-pie),$(no-pie-ldflag),-pie) \
|
||
|
-Wl,-O1 -nostdlib -nostartfiles -o $@ \
|
||
|
$(sysdep-LDFLAGS) $(LDFLAGS) $(LDFLAGS-$(@F)) \
|
||
|
$(combreloc-LDFLAGS) $(relro-LDFLAGS) $(hashstyle-LDFLAGS) \
|
||
|
@@ -428,23 +428,24 @@ ifndef +link-pie
|
||
|
$(link-extra-libs)
|
||
|
+link-pie-after-libc = $(+postctorS) $(+postinit)
|
||
|
define +link-pie
|
||
|
-$(+link-pie-before-libc) $(rtld-LDFLAGS) $(link-extra-flags) $(link-libc) $(+link-pie-after-libc)
|
||
|
+$(CC) $(+link-pie-before-libc) $(rtld-LDFLAGS) $(link-extra-flags) \
|
||
|
+ $(link-libc) $(+link-pie-after-libc)
|
||
|
$(call after-link,$@)
|
||
|
endef
|
||
|
define +link-pie-tests
|
||
|
-$(+link-pie-before-libc) $(rtld-tests-LDFLAGS) $(link-libc-tests) \
|
||
|
- $(+link-pie-after-libc)
|
||
|
+$(CC) $(+link-pie-before-libc) $(rtld-tests-LDFLAGS) $(link-libc-tests) \
|
||
|
+ $(+link-pie-after-libc)
|
||
|
$(call after-link,$@)
|
||
|
endef
|
||
|
define +link-pie-printers-tests
|
||
|
-$(+link-pie-before-libc) $(built-rtld-LDFLAGS) $(link-libc-printers-tests) \
|
||
|
- $(+link-pie-after-libc)
|
||
|
+$(CC) $(+link-pie-before-libc) $(built-rtld-LDFLAGS) \
|
||
|
+ $(link-libc-printers-tests) $(+link-pie-after-libc)
|
||
|
$(call after-link,$@)
|
||
|
endef
|
||
|
endif
|
||
|
# Command for statically linking programs with the C library.
|
||
|
ifndef +link-static
|
||
|
-+link-static-before-libc = $(CC) -nostdlib -nostartfiles -static -o $@ \
|
||
|
++link-static-before-libc = -nostdlib -nostartfiles -static -o $@ \
|
||
|
$(if $($(@F)-no-pie),$(no-pie-ldflag),$(default-pie-ldflag)) \
|
||
|
$(sysdep-LDFLAGS) $(LDFLAGS) $(LDFLAGS-$(@F)) \
|
||
|
$(firstword $(CRT-$(@F)) $(csu-objpfx)$(real-static-start-installed-name)) \
|
||
|
@@ -456,11 +457,13 @@ ifndef +link-static
|
||
|
$(link-extra-libs-static)
|
||
|
+link-static-after-libc = $(+postctorT) $(+postinit)
|
||
|
define +link-static
|
||
|
-$(+link-static-before-libc) $(link-extra-flags) $(link-libc-static) $(+link-static-after-libc)
|
||
|
+$(CC) $(+link-static-before-libc) $(link-extra-flags) $(link-libc-static) \
|
||
|
+ $(+link-static-after-libc)
|
||
|
$(call after-link,$@)
|
||
|
endef
|
||
|
define +link-static-tests
|
||
|
-$(+link-static-before-libc) $(link-libc-static-tests) $(+link-static-after-libc)
|
||
|
+$(CC) $(+link-static-before-libc) $(link-libc-static-tests) \
|
||
|
+ $(+link-static-after-libc)
|
||
|
$(call after-link,$@)
|
||
|
endef
|
||
|
endif
|
||
|
@@ -475,7 +478,7 @@ ifeq (yes,$(build-pie-default))
|
||
|
+link-tests = $(+link-pie-tests)
|
||
|
+link-printers-tests = $(+link-pie-printers-tests)
|
||
|
else # not build-pie-default
|
||
|
-+link-before-libc = $(CC) -nostdlib -nostartfiles -o $@ \
|
||
|
++link-before-libc = -nostdlib -nostartfiles -o $@ \
|
||
|
$(sysdep-LDFLAGS) $(LDFLAGS) $(LDFLAGS-$(@F)) \
|
||
|
$(combreloc-LDFLAGS) $(relro-LDFLAGS) $(hashstyle-LDFLAGS) \
|
||
|
$(firstword $(CRT-$(@F)) $(csu-objpfx)$(start-installed-name)) \
|
||
|
@@ -487,16 +490,17 @@ else # not build-pie-default
|
||
|
$(link-extra-libs)
|
||
|
+link-after-libc = $(+postctor) $(+postinit)
|
||
|
define +link
|
||
|
-$(+link-before-libc) $(rtld-LDFLAGS) $(link-extra-flags) $(link-libc) $(+link-after-libc)
|
||
|
+$(CC) $(+link-before-libc) $(rtld-LDFLAGS) $(link-extra-flags) $(link-libc) \
|
||
|
+ $(+link-after-libc)
|
||
|
$(call after-link,$@)
|
||
|
endef
|
||
|
define +link-tests
|
||
|
-$(+link-before-libc) $(rtld-tests-LDFLAGS) $(link-libc-tests) \
|
||
|
+$(CC) $(+link-before-libc) $(rtld-tests-LDFLAGS) $(link-libc-tests) \
|
||
|
$(+link-after-libc)
|
||
|
$(call after-link,$@)
|
||
|
endef
|
||
|
define +link-printers-tests
|
||
|
-$(+link-before-libc) $(built-rtld-LDFLAGS) $(link-libc-printers-tests) \
|
||
|
+$(CC) $(+link-before-libc) $(built-rtld-LDFLAGS) $(link-libc-printers-tests) \
|
||
|
$(+link-after-libc)
|
||
|
$(call after-link,$@)
|
||
|
endef
|