aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMasahiro Yamada <yamada.masahiro@socionext.com>2018-08-23 19:20:39 -0400
committerMasahiro Yamada <yamada.masahiro@socionext.com>2018-08-23 19:22:08 -0400
commitd503ac531a5246e4d910f971b213807fea925956 (patch)
tree25e07f13512496598b959eefc238f169aaba9e59
parent87a32e624037e8b6e8538ed864dc9994853acc4d (diff)
kbuild: rename LDFLAGS to KBUILD_LDFLAGS
Commit a0f97e06a43c ("kbuild: enable 'make CFLAGS=...' to add additional options to CC") renamed CFLAGS to KBUILD_CFLAGS. Commit 222d394d30e7 ("kbuild: enable 'make AFLAGS=...' to add additional options to AS") renamed AFLAGS to KBUILD_AFLAGS. Commit 06c5040cdb13 ("kbuild: enable 'make CPPFLAGS=...' to add additional options to CPP") renamed CPPFLAGS to KBUILD_CPPFLAGS. For some reason, LDFLAGS was not renamed. Using a well-known variable like LDFLAGS may result in accidental override of the variable. Kbuild generally uses KBUILD_ prefixed variables for the internally appended options, so here is one more conversion to sanitize the naming convention. I did not touch Makefiles under tools/ since the tools build system is a different world. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Acked-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com> Reviewed-by: Palmer Dabbelt <palmer@sifive.com>
-rw-r--r--Makefile6
-rw-r--r--arch/arc/Makefile2
-rw-r--r--arch/arm/Makefile4
-rw-r--r--arch/arm64/Makefile4
-rw-r--r--arch/c6x/Makefile3
-rw-r--r--arch/h8300/Makefile2
-rw-r--r--arch/hexagon/Makefile4
-rw-r--r--arch/m68k/Makefile2
-rw-r--r--arch/microblaze/Makefile4
-rw-r--r--arch/mips/Makefile2
-rw-r--r--arch/mips/boot/compressed/Makefile2
-rw-r--r--arch/mips/lasat/image/Makefile2
-rw-r--r--arch/nds32/Makefile4
-rw-r--r--arch/powerpc/Makefile6
-rw-r--r--arch/riscv/Makefile4
-rw-r--r--arch/s390/Makefile2
-rw-r--r--arch/sh/Makefile4
-rw-r--r--arch/sparc/Makefile4
-rw-r--r--arch/um/Makefile2
-rw-r--r--arch/x86/Makefile4
-rw-r--r--arch/x86/Makefile.um4
-rw-r--r--arch/x86/boot/compressed/Makefile6
-rw-r--r--arch/xtensa/Makefile2
-rw-r--r--arch/xtensa/boot/boot-elf/Makefile2
-rw-r--r--scripts/Kbuild.include4
-rw-r--r--scripts/Makefile.build6
-rw-r--r--scripts/Makefile.lib2
-rw-r--r--scripts/Makefile.modpost2
-rwxr-xr-xscripts/link-vmlinux.sh4
29 files changed, 48 insertions, 51 deletions
diff --git a/Makefile b/Makefile
index 1623b8b6e8f5..2e2b0095131c 100644
--- a/Makefile
+++ b/Makefile
@@ -440,7 +440,7 @@ KBUILD_CFLAGS_KERNEL :=
440KBUILD_AFLAGS_MODULE := -DMODULE 440KBUILD_AFLAGS_MODULE := -DMODULE
441KBUILD_CFLAGS_MODULE := -DMODULE 441KBUILD_CFLAGS_MODULE := -DMODULE
442KBUILD_LDFLAGS_MODULE := -T $(srctree)/scripts/module-common.lds 442KBUILD_LDFLAGS_MODULE := -T $(srctree)/scripts/module-common.lds
443LDFLAGS := 443KBUILD_LDFLAGS :=
444GCC_PLUGINS_CFLAGS := 444GCC_PLUGINS_CFLAGS :=
445 445
446export ARCH SRCARCH CONFIG_SHELL HOSTCC KBUILD_HOSTCFLAGS CROSS_COMPILE AS LD CC 446export ARCH SRCARCH CONFIG_SHELL HOSTCC KBUILD_HOSTCFLAGS CROSS_COMPILE AS LD CC
@@ -448,7 +448,7 @@ export CPP AR NM STRIP OBJCOPY OBJDUMP KBUILD_HOSTLDFLAGS KBUILD_HOSTLDLIBS
448export MAKE LEX YACC AWK GENKSYMS INSTALLKERNEL PERL PYTHON PYTHON2 PYTHON3 UTS_MACHINE 448export MAKE LEX YACC AWK GENKSYMS INSTALLKERNEL PERL PYTHON PYTHON2 PYTHON3 UTS_MACHINE
449export HOSTCXX KBUILD_HOSTCXXFLAGS LDFLAGS_MODULE CHECK CHECKFLAGS 449export HOSTCXX KBUILD_HOSTCXXFLAGS LDFLAGS_MODULE CHECK CHECKFLAGS
450 450
451export KBUILD_CPPFLAGS NOSTDINC_FLAGS LINUXINCLUDE OBJCOPYFLAGS LDFLAGS 451export KBUILD_CPPFLAGS NOSTDINC_FLAGS LINUXINCLUDE OBJCOPYFLAGS KBUILD_LDFLAGS
452export KBUILD_CFLAGS CFLAGS_KERNEL CFLAGS_MODULE 452export KBUILD_CFLAGS CFLAGS_KERNEL CFLAGS_MODULE
453export CFLAGS_KASAN CFLAGS_KASAN_NOSANITIZE CFLAGS_UBSAN 453export CFLAGS_KASAN CFLAGS_KASAN_NOSANITIZE CFLAGS_UBSAN
454export KBUILD_AFLAGS AFLAGS_KERNEL AFLAGS_MODULE 454export KBUILD_AFLAGS AFLAGS_KERNEL AFLAGS_MODULE
@@ -1020,7 +1020,7 @@ ARCH_POSTLINK := $(wildcard $(srctree)/arch/$(SRCARCH)/Makefile.postlink)
1020 1020
1021# Final link of vmlinux with optional arch pass after final link 1021# Final link of vmlinux with optional arch pass after final link
1022cmd_link-vmlinux = \ 1022cmd_link-vmlinux = \
1023 $(CONFIG_SHELL) $< $(LD) $(LDFLAGS) $(LDFLAGS_vmlinux) ; \ 1023 $(CONFIG_SHELL) $< $(LD) $(KBUILD_LDFLAGS) $(LDFLAGS_vmlinux) ; \
1024 $(if $(ARCH_POSTLINK), $(MAKE) -f $(ARCH_POSTLINK) $@, true) 1024 $(if $(ARCH_POSTLINK), $(MAKE) -f $(ARCH_POSTLINK) $@, true)
1025 1025
1026vmlinux: scripts/link-vmlinux.sh autoksyms_recursive $(vmlinux-deps) FORCE 1026vmlinux: scripts/link-vmlinux.sh autoksyms_recursive $(vmlinux-deps) FORCE
diff --git a/arch/arc/Makefile b/arch/arc/Makefile
index 6c1b20dd76ad..fb026196aaab 100644
--- a/arch/arc/Makefile
+++ b/arch/arc/Makefile
@@ -95,7 +95,7 @@ KBUILD_CFLAGS_MODULE += -mlong-calls -mno-millicode
95# Finally dump eveything into kernel build system 95# Finally dump eveything into kernel build system
96KBUILD_CFLAGS += $(cflags-y) 96KBUILD_CFLAGS += $(cflags-y)
97KBUILD_AFLAGS += $(KBUILD_CFLAGS) 97KBUILD_AFLAGS += $(KBUILD_CFLAGS)
98LDFLAGS += $(ldflags-y) 98KBUILD_LDFLAGS += $(ldflags-y)
99 99
100head-y := arch/arc/kernel/head.o 100head-y := arch/arc/kernel/head.o
101 101
diff --git a/arch/arm/Makefile b/arch/arm/Makefile
index e7d703d8fac3..360f80aeb9ff 100644
--- a/arch/arm/Makefile
+++ b/arch/arm/Makefile
@@ -43,12 +43,12 @@ ifeq ($(CONFIG_CPU_BIG_ENDIAN),y)
43KBUILD_CPPFLAGS += -mbig-endian 43KBUILD_CPPFLAGS += -mbig-endian
44CHECKFLAGS += -D__ARMEB__ 44CHECKFLAGS += -D__ARMEB__
45AS += -EB 45AS += -EB
46LDFLAGS += -EB 46KBUILD_LDFLAGS += -EB
47else 47else
48KBUILD_CPPFLAGS += -mlittle-endian 48KBUILD_CPPFLAGS += -mlittle-endian
49CHECKFLAGS += -D__ARMEL__ 49CHECKFLAGS += -D__ARMEL__
50AS += -EL 50AS += -EL
51LDFLAGS += -EL 51KBUILD_LDFLAGS += -EL
52endif 52endif
53 53
54# 54#
diff --git a/arch/arm64/Makefile b/arch/arm64/Makefile
index efe61a2e4b5e..106039d25e2f 100644
--- a/arch/arm64/Makefile
+++ b/arch/arm64/Makefile
@@ -62,14 +62,14 @@ CHECKFLAGS += -D__AARCH64EB__
62AS += -EB 62AS += -EB
63# Prefer the baremetal ELF build target, but not all toolchains include 63# Prefer the baremetal ELF build target, but not all toolchains include
64# it so fall back to the standard linux version if needed. 64# it so fall back to the standard linux version if needed.
65LDFLAGS += -EB $(call ld-option, -maarch64elfb, -maarch64linuxb) 65KBUILD_LDFLAGS += -EB $(call ld-option, -maarch64elfb, -maarch64linuxb)
66UTS_MACHINE := aarch64_be 66UTS_MACHINE := aarch64_be
67else 67else
68KBUILD_CPPFLAGS += -mlittle-endian 68KBUILD_CPPFLAGS += -mlittle-endian
69CHECKFLAGS += -D__AARCH64EL__ 69CHECKFLAGS += -D__AARCH64EL__
70AS += -EL 70AS += -EL
71# Same as above, prefer ELF but fall back to linux target if needed. 71# Same as above, prefer ELF but fall back to linux target if needed.
72LDFLAGS += -EL $(call ld-option, -maarch64elf, -maarch64linux) 72KBUILD_LDFLAGS += -EL $(call ld-option, -maarch64elf, -maarch64linux)
73UTS_MACHINE := aarch64 73UTS_MACHINE := aarch64
74endif 74endif
75 75
diff --git a/arch/c6x/Makefile b/arch/c6x/Makefile
index 6ab942e6c534..3fe8a948e94c 100644
--- a/arch/c6x/Makefile
+++ b/arch/c6x/Makefile
@@ -23,8 +23,7 @@ ifdef CONFIG_CPU_BIG_ENDIAN
23KBUILD_CFLAGS += -mbig-endian 23KBUILD_CFLAGS += -mbig-endian
24KBUILD_AFLAGS += -mbig-endian 24KBUILD_AFLAGS += -mbig-endian
25LINKFLAGS += -mbig-endian 25LINKFLAGS += -mbig-endian
26KBUILD_LDFLAGS += -mbig-endian 26KBUILD_LDFLAGS += -mbig-endian -EB
27LDFLAGS += -EB
28CHECKFLAGS += -D_BIG_ENDIAN 27CHECKFLAGS += -D_BIG_ENDIAN
29endif 28endif
30 29
diff --git a/arch/h8300/Makefile b/arch/h8300/Makefile
index e1c02ca230cb..f9cbbb13853f 100644
--- a/arch/h8300/Makefile
+++ b/arch/h8300/Makefile
@@ -20,7 +20,7 @@ KBUILD_CFLAGS += -mint32 -fno-builtin
20KBUILD_CFLAGS += -D__linux__ 20KBUILD_CFLAGS += -D__linux__
21KBUILD_CFLAGS += -DUTS_SYSNAME=\"uClinux\" 21KBUILD_CFLAGS += -DUTS_SYSNAME=\"uClinux\"
22KBUILD_AFLAGS += $(aflags-y) 22KBUILD_AFLAGS += $(aflags-y)
23LDFLAGS += $(ldflags-y) 23KBUILD_LDFLAGS += $(ldflags-y)
24 24
25ifeq ($(CROSS_COMPILE),) 25ifeq ($(CROSS_COMPILE),)
26CROSS_COMPILE := h8300-unknown-linux- 26CROSS_COMPILE := h8300-unknown-linux-
diff --git a/arch/hexagon/Makefile b/arch/hexagon/Makefile
index 2efaa18e995a..4c5858b80f0e 100644
--- a/arch/hexagon/Makefile
+++ b/arch/hexagon/Makefile
@@ -22,9 +22,7 @@ ldflags-y += $(call cc-option,-mv${CONFIG_HEXAGON_ARCH_VERSION})
22 22
23KBUILD_CFLAGS += $(cflags-y) 23KBUILD_CFLAGS += $(cflags-y)
24KBUILD_AFLAGS += $(aflags-y) 24KBUILD_AFLAGS += $(aflags-y)
25 25KBUILD_LDFLAGS += $(ldflags-y)
26# no KBUILD_LDFLAGS?
27LDFLAGS += $(ldflags-y)
28 26
29# Thread-info register will be r19. This value is not configureable; 27# Thread-info register will be r19. This value is not configureable;
30# it is hard-coded in several files. 28# it is hard-coded in several files.
diff --git a/arch/m68k/Makefile b/arch/m68k/Makefile
index f0dd9fc84002..997c9f20ea0f 100644
--- a/arch/m68k/Makefile
+++ b/arch/m68k/Makefile
@@ -69,7 +69,7 @@ KBUILD_CFLAGS += -D__uClinux__
69KBUILD_AFLAGS += -D__uClinux__ 69KBUILD_AFLAGS += -D__uClinux__
70endif 70endif
71 71
72LDFLAGS := -m m68kelf 72KBUILD_LDFLAGS := -m m68kelf
73KBUILD_LDFLAGS_MODULE += -T $(srctree)/arch/m68k/kernel/module.lds 73KBUILD_LDFLAGS_MODULE += -T $(srctree)/arch/m68k/kernel/module.lds
74 74
75ifdef CONFIG_SUN3 75ifdef CONFIG_SUN3
diff --git a/arch/microblaze/Makefile b/arch/microblaze/Makefile
index 73330360a8e6..4f3ab5707265 100644
--- a/arch/microblaze/Makefile
+++ b/arch/microblaze/Makefile
@@ -40,11 +40,11 @@ CPUFLAGS-$(CONFIG_XILINX_MICROBLAZE0_USE_PCMP_INSTR) += -mxl-pattern-compare
40ifdef CONFIG_CPU_BIG_ENDIAN 40ifdef CONFIG_CPU_BIG_ENDIAN
41KBUILD_CFLAGS += -mbig-endian 41KBUILD_CFLAGS += -mbig-endian
42KBUILD_AFLAGS += -mbig-endian 42KBUILD_AFLAGS += -mbig-endian
43LDFLAGS += -EB 43KBUILD_LDFLAGS += -EB
44else 44else
45KBUILD_CFLAGS += -mlittle-endian 45KBUILD_CFLAGS += -mlittle-endian
46KBUILD_AFLAGS += -mlittle-endian 46KBUILD_AFLAGS += -mlittle-endian
47LDFLAGS += -EL 47KBUILD_LDFLAGS += -EL
48endif 48endif
49 49
50CPUFLAGS-1 += $(call cc-option,-mcpu=v$(CPU_VER)) 50CPUFLAGS-1 += $(call cc-option,-mcpu=v$(CPU_VER))
diff --git a/arch/mips/Makefile b/arch/mips/Makefile
index 5425df002a6b..d74b3742fa5d 100644
--- a/arch/mips/Makefile
+++ b/arch/mips/Makefile
@@ -309,7 +309,7 @@ endif
309# instead of .eh_frame so we don't discard them. 309# instead of .eh_frame so we don't discard them.
310KBUILD_CFLAGS += -fno-asynchronous-unwind-tables 310KBUILD_CFLAGS += -fno-asynchronous-unwind-tables
311 311
312LDFLAGS += -m $(ld-emul) 312KBUILD_LDFLAGS += -m $(ld-emul)
313 313
314ifdef CONFIG_MIPS 314ifdef CONFIG_MIPS
315CHECKFLAGS += $(shell $(CC) $(KBUILD_CFLAGS) -dM -E -x c /dev/null | \ 315CHECKFLAGS += $(shell $(CC) $(KBUILD_CFLAGS) -dM -E -x c /dev/null | \
diff --git a/arch/mips/boot/compressed/Makefile b/arch/mips/boot/compressed/Makefile
index abe77add8789..3c453a1f1ff1 100644
--- a/arch/mips/boot/compressed/Makefile
+++ b/arch/mips/boot/compressed/Makefile
@@ -92,7 +92,7 @@ UIMAGE_LOADADDR = $(VMLINUZ_LOAD_ADDRESS)
92vmlinuzobjs-y += $(obj)/piggy.o 92vmlinuzobjs-y += $(obj)/piggy.o
93 93
94quiet_cmd_zld = LD $@ 94quiet_cmd_zld = LD $@
95 cmd_zld = $(LD) $(LDFLAGS) -Ttext $(VMLINUZ_LOAD_ADDRESS) -T $< $(vmlinuzobjs-y) -o $@ 95 cmd_zld = $(LD) $(KBUILD_LDFLAGS) -Ttext $(VMLINUZ_LOAD_ADDRESS) -T $< $(vmlinuzobjs-y) -o $@
96quiet_cmd_strip = STRIP $@ 96quiet_cmd_strip = STRIP $@
97 cmd_strip = $(STRIP) -s $@ 97 cmd_strip = $(STRIP) -s $@
98vmlinuz: $(src)/ld.script $(vmlinuzobjs-y) $(obj)/calc_vmlinuz_load_addr 98vmlinuz: $(src)/ld.script $(vmlinuzobjs-y) $(obj)/calc_vmlinuz_load_addr
diff --git a/arch/mips/lasat/image/Makefile b/arch/mips/lasat/image/Makefile
index 9ab1326f57c9..78ce4cff1012 100644
--- a/arch/mips/lasat/image/Makefile
+++ b/arch/mips/lasat/image/Makefile
@@ -38,7 +38,7 @@ $(obj)/rom.bin: $(obj)/rom
38 38
39# Rule to make the bootloader 39# Rule to make the bootloader
40$(obj)/rom: $(addprefix $(obj)/,$(OBJECTS)) 40$(obj)/rom: $(addprefix $(obj)/,$(OBJECTS))
41 $(LD) $(LDFLAGS) $(LDSCRIPT) -o $@ $^ 41 $(LD) $(KBUILD_LDFLAGS) $(LDSCRIPT) -o $@ $^
42 42
43$(obj)/%.o: $(obj)/%.gz 43$(obj)/%.o: $(obj)/%.gz
44 $(LD) -r -o $@ -b binary $< 44 $(LD) -r -o $@ -b binary $<
diff --git a/arch/nds32/Makefile b/arch/nds32/Makefile
index 031c676821ff..63f4f173e5f4 100644
--- a/arch/nds32/Makefile
+++ b/arch/nds32/Makefile
@@ -33,12 +33,12 @@ endif
33ifdef CONFIG_CPU_LITTLE_ENDIAN 33ifdef CONFIG_CPU_LITTLE_ENDIAN
34KBUILD_CFLAGS += $(call cc-option, -EL) 34KBUILD_CFLAGS += $(call cc-option, -EL)
35KBUILD_AFLAGS += $(call cc-option, -EL) 35KBUILD_AFLAGS += $(call cc-option, -EL)
36LDFLAGS += $(call cc-option, -EL) 36KBUILD_LDFLAGS += $(call cc-option, -EL)
37CHECKFLAGS += -D__NDS32_EL__ 37CHECKFLAGS += -D__NDS32_EL__
38else 38else
39KBUILD_CFLAGS += $(call cc-option, -EB) 39KBUILD_CFLAGS += $(call cc-option, -EB)
40KBUILD_AFLAGS += $(call cc-option, -EB) 40KBUILD_AFLAGS += $(call cc-option, -EB)
41LDFLAGS += $(call cc-option, -EB) 41KBUILD_LDFLAGS += $(call cc-option, -EB)
42CHECKFLAGS += -D__NDS32_EB__ 42CHECKFLAGS += -D__NDS32_EB__
43endif 43endif
44 44
diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
index 8397c7bd5880..11a1acba164a 100644
--- a/arch/powerpc/Makefile
+++ b/arch/powerpc/Makefile
@@ -76,14 +76,14 @@ endif
76 76
77ifdef CONFIG_CPU_LITTLE_ENDIAN 77ifdef CONFIG_CPU_LITTLE_ENDIAN
78KBUILD_CFLAGS += -mlittle-endian 78KBUILD_CFLAGS += -mlittle-endian
79LDFLAGS += -EL 79KBUILD_LDFLAGS += -EL
80LDEMULATION := lppc 80LDEMULATION := lppc
81GNUTARGET := powerpcle 81GNUTARGET := powerpcle
82MULTIPLEWORD := -mno-multiple 82MULTIPLEWORD := -mno-multiple
83KBUILD_CFLAGS_MODULE += $(call cc-option,-mno-save-toc-indirect) 83KBUILD_CFLAGS_MODULE += $(call cc-option,-mno-save-toc-indirect)
84else 84else
85KBUILD_CFLAGS += $(call cc-option,-mbig-endian) 85KBUILD_CFLAGS += $(call cc-option,-mbig-endian)
86LDFLAGS += -EB 86KBUILD_LDFLAGS += -EB
87LDEMULATION := ppc 87LDEMULATION := ppc
88GNUTARGET := powerpc 88GNUTARGET := powerpc
89MULTIPLEWORD := -mmultiple 89MULTIPLEWORD := -mmultiple
@@ -108,7 +108,7 @@ aflags-$(CONFIG_CPU_LITTLE_ENDIAN) += -mlittle-endian
108ifeq ($(HAS_BIARCH),y) 108ifeq ($(HAS_BIARCH),y)
109KBUILD_CFLAGS += -m$(BITS) 109KBUILD_CFLAGS += -m$(BITS)
110KBUILD_AFLAGS += -m$(BITS) -Wl,-a$(BITS) 110KBUILD_AFLAGS += -m$(BITS) -Wl,-a$(BITS)
111LDFLAGS += -m elf$(BITS)$(LDEMULATION) 111KBUILD_LDFLAGS += -m elf$(BITS)$(LDEMULATION)
112KBUILD_ARFLAGS += --target=elf$(BITS)-$(GNUTARGET) 112KBUILD_ARFLAGS += --target=elf$(BITS)-$(GNUTARGET)
113endif 113endif
114 114
diff --git a/arch/riscv/Makefile b/arch/riscv/Makefile
index 9ddd88bb30b7..61ec42405ec9 100644
--- a/arch/riscv/Makefile
+++ b/arch/riscv/Makefile
@@ -29,7 +29,7 @@ ifeq ($(CONFIG_ARCH_RV64I),y)
29 KBUILD_CFLAGS += $(call cc-ifversion, -ge, 0500, -DCONFIG_ARCH_SUPPORTS_INT128) 29 KBUILD_CFLAGS += $(call cc-ifversion, -ge, 0500, -DCONFIG_ARCH_SUPPORTS_INT128)
30 30
31 KBUILD_MARCH = rv64im 31 KBUILD_MARCH = rv64im
32 LDFLAGS += -melf64lriscv 32 KBUILD_LDFLAGS += -melf64lriscv
33else 33else
34 BITS := 32 34 BITS := 32
35 UTS_MACHINE := riscv32 35 UTS_MACHINE := riscv32
@@ -37,7 +37,7 @@ else
37 KBUILD_CFLAGS += -mabi=ilp32 37 KBUILD_CFLAGS += -mabi=ilp32
38 KBUILD_AFLAGS += -mabi=ilp32 38 KBUILD_AFLAGS += -mabi=ilp32
39 KBUILD_MARCH = rv32im 39 KBUILD_MARCH = rv32im
40 LDFLAGS += -melf32lriscv 40 KBUILD_LDFLAGS += -melf32lriscv
41endif 41endif
42 42
43KBUILD_CFLAGS += -Wall 43KBUILD_CFLAGS += -Wall
diff --git a/arch/s390/Makefile b/arch/s390/Makefile
index ba6d122526fb..ee65185bbc80 100644
--- a/arch/s390/Makefile
+++ b/arch/s390/Makefile
@@ -11,7 +11,7 @@
11# 11#
12 12
13LD_BFD := elf64-s390 13LD_BFD := elf64-s390
14LDFLAGS := -m elf64_s390 14KBUILD_LDFLAGS := -m elf64_s390
15KBUILD_AFLAGS_MODULE += -fPIC 15KBUILD_AFLAGS_MODULE += -fPIC
16KBUILD_CFLAGS_MODULE += -fPIC 16KBUILD_CFLAGS_MODULE += -fPIC
17KBUILD_AFLAGS += -m64 17KBUILD_AFLAGS += -m64
diff --git a/arch/sh/Makefile b/arch/sh/Makefile
index 65300193b99f..c521ade2557c 100644
--- a/arch/sh/Makefile
+++ b/arch/sh/Makefile
@@ -122,11 +122,11 @@ endif
122ifdef CONFIG_CPU_LITTLE_ENDIAN 122ifdef CONFIG_CPU_LITTLE_ENDIAN
123ld-bfd := elf32-$(UTS_MACHINE)-linux 123ld-bfd := elf32-$(UTS_MACHINE)-linux
124LDFLAGS_vmlinux += --defsym jiffies=jiffies_64 --oformat $(ld-bfd) 124LDFLAGS_vmlinux += --defsym jiffies=jiffies_64 --oformat $(ld-bfd)
125LDFLAGS += -EL 125KBUILD_LDFLAGS += -EL
126else 126else
127ld-bfd := elf32-$(UTS_MACHINE)big-linux 127ld-bfd := elf32-$(UTS_MACHINE)big-linux
128LDFLAGS_vmlinux += --defsym jiffies=jiffies_64+4 --oformat $(ld-bfd) 128LDFLAGS_vmlinux += --defsym jiffies=jiffies_64+4 --oformat $(ld-bfd)
129LDFLAGS += -EB 129KBUILD_LDFLAGS += -EB
130endif 130endif
131 131
132export ld-bfd BITS 132export ld-bfd BITS
diff --git a/arch/sparc/Makefile b/arch/sparc/Makefile
index 966a13d2b127..8ece494ea0f9 100644
--- a/arch/sparc/Makefile
+++ b/arch/sparc/Makefile
@@ -21,7 +21,7 @@ ifeq ($(CONFIG_SPARC32),y)
21# 21#
22 22
23CHECKFLAGS += -D__sparc__ 23CHECKFLAGS += -D__sparc__
24LDFLAGS := -m elf32_sparc 24KBUILD_LDFLAGS := -m elf32_sparc
25export BITS := 32 25export BITS := 32
26UTS_MACHINE := sparc 26UTS_MACHINE := sparc
27 27
@@ -40,7 +40,7 @@ else
40# 40#
41 41
42CHECKFLAGS += -D__sparc__ -D__sparc_v9__ -D__arch64__ 42CHECKFLAGS += -D__sparc__ -D__sparc_v9__ -D__arch64__
43LDFLAGS := -m elf64_sparc 43KBUILD_LDFLAGS := -m elf64_sparc
44export BITS := 64 44export BITS := 64
45UTS_MACHINE := sparc64 45UTS_MACHINE := sparc64
46 46
diff --git a/arch/um/Makefile b/arch/um/Makefile
index 44ddc3e8fa66..ab1066c38944 100644
--- a/arch/um/Makefile
+++ b/arch/um/Makefile
@@ -133,7 +133,7 @@ export LDS_ELF_FORMAT := $(ELF_FORMAT)
133# The wrappers will select whether using "malloc" or the kernel allocator. 133# The wrappers will select whether using "malloc" or the kernel allocator.
134LINK_WRAPS = -Wl,--wrap,malloc -Wl,--wrap,free -Wl,--wrap,calloc 134LINK_WRAPS = -Wl,--wrap,malloc -Wl,--wrap,free -Wl,--wrap,calloc
135 135
136LD_FLAGS_CMDLINE = $(foreach opt,$(LDFLAGS),-Wl,$(opt)) 136LD_FLAGS_CMDLINE = $(foreach opt,$(KBUILD_LDFLAGS),-Wl,$(opt))
137 137
138# Used by link-vmlinux.sh which has special support for um link 138# Used by link-vmlinux.sh which has special support for um link
139export CFLAGS_vmlinux := $(LINK-y) $(LINK_WRAPS) $(LD_FLAGS_CMDLINE) 139export CFLAGS_vmlinux := $(LINK-y) $(LINK_WRAPS) $(LD_FLAGS_CMDLINE)
diff --git a/arch/x86/Makefile b/arch/x86/Makefile
index 7e3c07d6ad42..94859241bc3e 100644
--- a/arch/x86/Makefile
+++ b/arch/x86/Makefile
@@ -219,7 +219,7 @@ sha256_ni_instr :=$(call as-instr,sha256msg1 %xmm0$(comma)%xmm1,-DCONFIG_AS_SHA2
219KBUILD_AFLAGS += $(cfi) $(cfi-sigframe) $(cfi-sections) $(asinstr) $(avx_instr) $(avx2_instr) $(avx512_instr) $(sha1_ni_instr) $(sha256_ni_instr) 219KBUILD_AFLAGS += $(cfi) $(cfi-sigframe) $(cfi-sections) $(asinstr) $(avx_instr) $(avx2_instr) $(avx512_instr) $(sha1_ni_instr) $(sha256_ni_instr)
220KBUILD_CFLAGS += $(cfi) $(cfi-sigframe) $(cfi-sections) $(asinstr) $(avx_instr) $(avx2_instr) $(avx512_instr) $(sha1_ni_instr) $(sha256_ni_instr) 220KBUILD_CFLAGS += $(cfi) $(cfi-sigframe) $(cfi-sections) $(asinstr) $(avx_instr) $(avx2_instr) $(avx512_instr) $(sha1_ni_instr) $(sha256_ni_instr)
221 221
222LDFLAGS := -m elf_$(UTS_MACHINE) 222KBUILD_LDFLAGS := -m elf_$(UTS_MACHINE)
223 223
224# 224#
225# The 64-bit kernel must be aligned to 2MB. Pass -z max-page-size=0x200000 to 225# The 64-bit kernel must be aligned to 2MB. Pass -z max-page-size=0x200000 to
@@ -227,7 +227,7 @@ LDFLAGS := -m elf_$(UTS_MACHINE)
227# by the linker. 227# by the linker.
228# 228#
229ifdef CONFIG_X86_64 229ifdef CONFIG_X86_64
230LDFLAGS += $(call ld-option, -z max-page-size=0x200000) 230KBUILD_LDFLAGS += $(call ld-option, -z max-page-size=0x200000)
231endif 231endif
232 232
233# Speed up the build 233# Speed up the build
diff --git a/arch/x86/Makefile.um b/arch/x86/Makefile.um
index 5296f8c9e7f0..91085a08de6c 100644
--- a/arch/x86/Makefile.um
+++ b/arch/x86/Makefile.um
@@ -4,7 +4,7 @@ core-y += arch/x86/crypto/
4ifeq ($(CONFIG_X86_32),y) 4ifeq ($(CONFIG_X86_32),y)
5START := 0x8048000 5START := 0x8048000
6 6
7LDFLAGS += -m elf_i386 7KBUILD_LDFLAGS += -m elf_i386
8ELF_ARCH := i386 8ELF_ARCH := i386
9ELF_FORMAT := elf32-i386 9ELF_FORMAT := elf32-i386
10CHECKFLAGS += -D__i386__ 10CHECKFLAGS += -D__i386__
@@ -43,7 +43,7 @@ KBUILD_CFLAGS += -fno-builtin -m64
43 43
44CHECKFLAGS += -m64 -D__x86_64__ 44CHECKFLAGS += -m64 -D__x86_64__
45KBUILD_AFLAGS += -m64 45KBUILD_AFLAGS += -m64
46LDFLAGS += -m elf_x86_64 46KBUILD_LDFLAGS += -m elf_x86_64
47KBUILD_CPPFLAGS += -m64 47KBUILD_CPPFLAGS += -m64
48 48
49ELF_ARCH := i386:x86-64 49ELF_ARCH := i386:x86-64
diff --git a/arch/x86/boot/compressed/Makefile b/arch/x86/boot/compressed/Makefile
index 169c2feda14a..28764dacf018 100644
--- a/arch/x86/boot/compressed/Makefile
+++ b/arch/x86/boot/compressed/Makefile
@@ -42,16 +42,16 @@ KBUILD_AFLAGS := $(KBUILD_CFLAGS) -D__ASSEMBLY__
42GCOV_PROFILE := n 42GCOV_PROFILE := n
43UBSAN_SANITIZE :=n 43UBSAN_SANITIZE :=n
44 44
45LDFLAGS := -m elf_$(UTS_MACHINE) 45KBUILD_LDFLAGS := -m elf_$(UTS_MACHINE)
46# Compressed kernel should be built as PIE since it may be loaded at any 46# Compressed kernel should be built as PIE since it may be loaded at any
47# address by the bootloader. 47# address by the bootloader.
48ifeq ($(CONFIG_X86_32),y) 48ifeq ($(CONFIG_X86_32),y)
49LDFLAGS += $(call ld-option, -pie) $(call ld-option, --no-dynamic-linker) 49KBUILD_LDFLAGS += $(call ld-option, -pie) $(call ld-option, --no-dynamic-linker)
50else 50else
51# To build 64-bit compressed kernel as PIE, we disable relocation 51# To build 64-bit compressed kernel as PIE, we disable relocation
52# overflow check to avoid relocation overflow error with a new linker 52# overflow check to avoid relocation overflow error with a new linker
53# command-line option, -z noreloc-overflow. 53# command-line option, -z noreloc-overflow.
54LDFLAGS += $(shell $(LD) --help 2>&1 | grep -q "\-z noreloc-overflow" \ 54KBUILD_LDFLAGS += $(shell $(LD) --help 2>&1 | grep -q "\-z noreloc-overflow" \
55 && echo "-z noreloc-overflow -pie --no-dynamic-linker") 55 && echo "-z noreloc-overflow -pie --no-dynamic-linker")
56endif 56endif
57LDFLAGS_vmlinux := -T 57LDFLAGS_vmlinux := -T
diff --git a/arch/xtensa/Makefile b/arch/xtensa/Makefile
index 3a934b72a272..295c120ed099 100644
--- a/arch/xtensa/Makefile
+++ b/arch/xtensa/Makefile
@@ -49,7 +49,7 @@ KBUILD_CFLAGS += $(call cc-option,-mno-serialize-volatile,)
49KBUILD_AFLAGS += -mlongcalls -mtext-section-literals 49KBUILD_AFLAGS += -mlongcalls -mtext-section-literals
50 50
51ifneq ($(CONFIG_LD_NO_RELAX),) 51ifneq ($(CONFIG_LD_NO_RELAX),)
52LDFLAGS := --no-relax 52KBUILD_LDFLAGS := --no-relax
53endif 53endif
54 54
55ifeq ($(shell echo __XTENSA_EB__ | $(CC) -E - | grep -v "\#"),1) 55ifeq ($(shell echo __XTENSA_EB__ | $(CC) -E - | grep -v "\#"),1)
diff --git a/arch/xtensa/boot/boot-elf/Makefile b/arch/xtensa/boot/boot-elf/Makefile
index 521471981356..12ae1e91cb75 100644
--- a/arch/xtensa/boot/boot-elf/Makefile
+++ b/arch/xtensa/boot/boot-elf/Makefile
@@ -25,7 +25,7 @@ $(obj)/Image.o: vmlinux.bin $(OBJS)
25 $(OBJS) $@ 25 $(OBJS) $@
26 26
27$(obj)/../Image.elf: $(obj)/Image.o $(obj)/boot.lds 27$(obj)/../Image.elf: $(obj)/Image.o $(obj)/boot.lds
28 $(Q)$(LD) $(LDFLAGS) $(LDFLAGS_vmlinux) \ 28 $(Q)$(LD) $(KBUILD_LDFLAGS) $(LDFLAGS_vmlinux) \
29 -T $(obj)/boot.lds \ 29 -T $(obj)/boot.lds \
30 --build-id=none \ 30 --build-id=none \
31 -o $@ $(obj)/Image.o 31 -o $@ $(obj)/Image.o
diff --git a/scripts/Kbuild.include b/scripts/Kbuild.include
index 7c98f60e2266..c75413d05a63 100644
--- a/scripts/Kbuild.include
+++ b/scripts/Kbuild.include
@@ -163,8 +163,8 @@ cc-ldoption = $(call try-run,\
163 $(CC) $(1) $(KBUILD_CPPFLAGS) $(CC_OPTION_CFLAGS) -nostdlib -x c /dev/null -o "$$TMP",$(1),$(2)) 163 $(CC) $(1) $(KBUILD_CPPFLAGS) $(CC_OPTION_CFLAGS) -nostdlib -x c /dev/null -o "$$TMP",$(1),$(2))
164 164
165# ld-option 165# ld-option
166# Usage: LDFLAGS += $(call ld-option, -X, -Y) 166# Usage: KBUILD_LDFLAGS += $(call ld-option, -X, -Y)
167ld-option = $(call try-run, $(LD) $(LDFLAGS) $(1) -v,$(1),$(2),$(3)) 167ld-option = $(call try-run, $(LD) $(KBUILD_LDFLAGS) $(1) -v,$(1),$(2),$(3))
168 168
169# ar-option 169# ar-option
170# Usage: KBUILD_ARFLAGS := $(call ar-option,D) 170# Usage: KBUILD_ARFLAGS := $(call ar-option,D)
diff --git a/scripts/Makefile.build b/scripts/Makefile.build
index f5d7612696d0..1c48572223d1 100644
--- a/scripts/Makefile.build
+++ b/scripts/Makefile.build
@@ -190,7 +190,7 @@ cmd_modversions_c = \
190 $(call cmd_gensymtypes_c,$(KBUILD_SYMTYPES),$(@:.o=.symtypes)) \ 190 $(call cmd_gensymtypes_c,$(KBUILD_SYMTYPES),$(@:.o=.symtypes)) \
191 > $(@D)/.tmp_$(@F:.o=.ver); \ 191 > $(@D)/.tmp_$(@F:.o=.ver); \
192 \ 192 \
193 $(LD) $(LDFLAGS) -r -o $@ $(@D)/.tmp_$(@F) \ 193 $(LD) $(KBUILD_LDFLAGS) -r -o $@ $(@D)/.tmp_$(@F) \
194 -T $(@D)/.tmp_$(@F:.o=.ver); \ 194 -T $(@D)/.tmp_$(@F:.o=.ver); \
195 rm -f $(@D)/.tmp_$(@F) $(@D)/.tmp_$(@F:.o=.ver); \ 195 rm -f $(@D)/.tmp_$(@F) $(@D)/.tmp_$(@F:.o=.ver); \
196 else \ 196 else \
@@ -220,7 +220,7 @@ sub_cmd_record_mcount = set -e ; perl $(srctree)/scripts/recordmcount.pl "$(ARCH
220 "$(if $(CONFIG_CPU_BIG_ENDIAN),big,little)" \ 220 "$(if $(CONFIG_CPU_BIG_ENDIAN),big,little)" \
221 "$(if $(CONFIG_64BIT),64,32)" \ 221 "$(if $(CONFIG_64BIT),64,32)" \
222 "$(OBJDUMP)" "$(OBJCOPY)" "$(CC) $(KBUILD_CFLAGS)" \ 222 "$(OBJDUMP)" "$(OBJCOPY)" "$(CC) $(KBUILD_CFLAGS)" \
223 "$(LD) $(LDFLAGS)" "$(NM)" "$(RM)" "$(MV)" \ 223 "$(LD) $(KBUILD_LDFLAGS)" "$(NM)" "$(RM)" "$(MV)" \
224 "$(if $(part-of-module),1,0)" "$(@)"; 224 "$(if $(part-of-module),1,0)" "$(@)";
225recordmcount_source := $(srctree)/scripts/recordmcount.pl 225recordmcount_source := $(srctree)/scripts/recordmcount.pl
226endif # BUILD_C_RECORDMCOUNT 226endif # BUILD_C_RECORDMCOUNT
@@ -394,7 +394,7 @@ cmd_modversions_S = \
394 $(call cmd_gensymtypes_S,$(KBUILD_SYMTYPES),$(@:.o=.symtypes)) \ 394 $(call cmd_gensymtypes_S,$(KBUILD_SYMTYPES),$(@:.o=.symtypes)) \
395 > $(@D)/.tmp_$(@F:.o=.ver); \ 395 > $(@D)/.tmp_$(@F:.o=.ver); \
396 \ 396 \
397 $(LD) $(LDFLAGS) -r -o $@ $(@D)/.tmp_$(@F) \ 397 $(LD) $(KBUILD_LDFLAGS) -r -o $@ $(@D)/.tmp_$(@F) \
398 -T $(@D)/.tmp_$(@F:.o=.ver); \ 398 -T $(@D)/.tmp_$(@F:.o=.ver); \
399 rm -f $(@D)/.tmp_$(@F) $(@D)/.tmp_$(@F:.o=.ver); \ 399 rm -f $(@D)/.tmp_$(@F) $(@D)/.tmp_$(@F:.o=.ver); \
400 else \ 400 else \
diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
index df0fff252619..61e596650ed3 100644
--- a/scripts/Makefile.lib
+++ b/scripts/Makefile.lib
@@ -162,7 +162,7 @@ a_flags = -Wp,-MD,$(depfile) $(NOSTDINC_FLAGS) $(LINUXINCLUDE) \
162cpp_flags = -Wp,-MD,$(depfile) $(NOSTDINC_FLAGS) $(LINUXINCLUDE) \ 162cpp_flags = -Wp,-MD,$(depfile) $(NOSTDINC_FLAGS) $(LINUXINCLUDE) \
163 $(__cpp_flags) 163 $(__cpp_flags)
164 164
165ld_flags = $(LDFLAGS) $(ldflags-y) $(LDFLAGS_$(@F)) 165ld_flags = $(KBUILD_LDFLAGS) $(ldflags-y) $(LDFLAGS_$(@F))
166 166
167DTC_INCLUDE := $(srctree)/scripts/dtc/include-prefixes 167DTC_INCLUDE := $(srctree)/scripts/dtc/include-prefixes
168 168
diff --git a/scripts/Makefile.modpost b/scripts/Makefile.modpost
index dd92dbbbaa68..7d4af0d0accb 100644
--- a/scripts/Makefile.modpost
+++ b/scripts/Makefile.modpost
@@ -120,7 +120,7 @@ ARCH_POSTLINK := $(wildcard $(srctree)/arch/$(SRCARCH)/Makefile.postlink)
120# Step 6), final link of the modules with optional arch pass after final link 120# Step 6), final link of the modules with optional arch pass after final link
121quiet_cmd_ld_ko_o = LD [M] $@ 121quiet_cmd_ld_ko_o = LD [M] $@
122 cmd_ld_ko_o = \ 122 cmd_ld_ko_o = \
123 $(LD) -r $(LDFLAGS) \ 123 $(LD) -r $(KBUILD_LDFLAGS) \
124 $(KBUILD_LDFLAGS_MODULE) $(LDFLAGS_MODULE) \ 124 $(KBUILD_LDFLAGS_MODULE) $(LDFLAGS_MODULE) \
125 -o $@ $(filter-out FORCE,$^) ; \ 125 -o $@ $(filter-out FORCE,$^) ; \
126 $(if $(ARCH_POSTLINK), $(MAKE) -f $(ARCH_POSTLINK) $@, true) 126 $(if $(ARCH_POSTLINK), $(MAKE) -f $(ARCH_POSTLINK) $@, true)
diff --git a/scripts/link-vmlinux.sh b/scripts/link-vmlinux.sh
index 4bf811c09f59..c8cf45362bd6 100755
--- a/scripts/link-vmlinux.sh
+++ b/scripts/link-vmlinux.sh
@@ -75,7 +75,7 @@ modpost_link()
75 ${KBUILD_VMLINUX_LIBS} \ 75 ${KBUILD_VMLINUX_LIBS} \
76 --end-group" 76 --end-group"
77 77
78 ${LD} ${LDFLAGS} -r -o ${1} ${objects} 78 ${LD} ${KBUILD_LDFLAGS} -r -o ${1} ${objects}
79} 79}
80 80
81# Link of vmlinux 81# Link of vmlinux
@@ -95,7 +95,7 @@ vmlinux_link()
95 --end-group \ 95 --end-group \
96 ${1}" 96 ${1}"
97 97
98 ${LD} ${LDFLAGS} ${LDFLAGS_vmlinux} -o ${2} \ 98 ${LD} ${KBUILD_LDFLAGS} ${LDFLAGS_vmlinux} -o ${2} \
99 -T ${lds} ${objects} 99 -T ${lds} ${objects}
100 else 100 else
101 objects="-Wl,--whole-archive \ 101 objects="-Wl,--whole-archive \