aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2018-12-26 19:57:27 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2018-12-26 19:57:27 -0500
commit6e54df001ac9262e3b78b34b87390fcb54677a0d (patch)
tree003a5898f862ad8204953c9f5bf8361dcc152daf
parent9a126e788af8e0754d5d19cd98b3a2bc1711ff46 (diff)
parente4f752dda0de351efd198f438b68e743029da68a (diff)
Merge branch 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 build updates from Ingo Molnar: - Resolve LLVM build bug by removing redundant GNU specific flag - Remove obsolete -funit-at-a-time and -fno-unit-at-a-time use from x86 PowerPC and UM. The UML change was seen and acked by UML maintainer Richard Weinberger. * 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/um/vdso: Drop implicit common-page-size linker flag x86, powerpc: Remove -funit-at-a-time compiler option entirely x86/um: Remove -fno-unit-at-a-time workaround for pre-4.0 GCC
-rw-r--r--arch/powerpc/Makefile4
-rw-r--r--arch/x86/Makefile4
-rw-r--r--arch/x86/Makefile.um9
-rw-r--r--arch/x86/um/vdso/Makefile2
4 files changed, 1 insertions, 18 deletions
diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
index 8a2ce14d68d0..854199c9ab7e 100644
--- a/arch/powerpc/Makefile
+++ b/arch/powerpc/Makefile
@@ -228,10 +228,6 @@ KBUILD_CFLAGS += $(call cc-option,-mno-vsx)
228KBUILD_CFLAGS += $(call cc-option,-mno-spe) 228KBUILD_CFLAGS += $(call cc-option,-mno-spe)
229KBUILD_CFLAGS += $(call cc-option,-mspe=no) 229KBUILD_CFLAGS += $(call cc-option,-mspe=no)
230 230
231# Enable unit-at-a-time mode when possible. It shrinks the
232# kernel considerably.
233KBUILD_CFLAGS += $(call cc-option,-funit-at-a-time)
234
235# FIXME: the module load should be taught about the additional relocs 231# FIXME: the module load should be taught about the additional relocs
236# generated by this. 232# generated by this.
237# revert to pre-gcc-4.4 behaviour of .eh_frame 233# revert to pre-gcc-4.4 behaviour of .eh_frame
diff --git a/arch/x86/Makefile b/arch/x86/Makefile
index 85a66c4a8b65..16c3145c0a5f 100644
--- a/arch/x86/Makefile
+++ b/arch/x86/Makefile
@@ -130,10 +130,6 @@ else
130 130
131 KBUILD_CFLAGS += -mno-red-zone 131 KBUILD_CFLAGS += -mno-red-zone
132 KBUILD_CFLAGS += -mcmodel=kernel 132 KBUILD_CFLAGS += -mcmodel=kernel
133
134 # -funit-at-a-time shrinks the kernel .text considerably
135 # unfortunately it makes reading oopses harder.
136 KBUILD_CFLAGS += $(call cc-option,-funit-at-a-time)
137endif 133endif
138 134
139ifdef CONFIG_X86_X32 135ifdef CONFIG_X86_X32
diff --git a/arch/x86/Makefile.um b/arch/x86/Makefile.um
index 91085a08de6c..1db7913795f5 100644
--- a/arch/x86/Makefile.um
+++ b/arch/x86/Makefile.um
@@ -26,13 +26,6 @@ cflags-y += $(call cc-option,-mpreferred-stack-boundary=2)
26# an unresolved reference. 26# an unresolved reference.
27cflags-y += -ffreestanding 27cflags-y += -ffreestanding
28 28
29# Disable unit-at-a-time mode on pre-gcc-4.0 compilers, it makes gcc use
30# a lot more stack due to the lack of sharing of stacklots. Also, gcc
31# 4.3.0 needs -funit-at-a-time for extern inline functions.
32KBUILD_CFLAGS += $(shell if [ $(cc-version) -lt 0400 ] ; then \
33 echo $(call cc-option,-fno-unit-at-a-time); \
34 else echo $(call cc-option,-funit-at-a-time); fi ;)
35
36KBUILD_CFLAGS += $(cflags-y) 29KBUILD_CFLAGS += $(cflags-y)
37 30
38else 31else
@@ -54,6 +47,4 @@ ELF_FORMAT := elf64-x86-64
54LINK-$(CONFIG_LD_SCRIPT_DYN) += -Wl,-rpath,/lib64 47LINK-$(CONFIG_LD_SCRIPT_DYN) += -Wl,-rpath,/lib64
55LINK-y += -m64 48LINK-y += -m64
56 49
57# Do unit-at-a-time unconditionally on x86_64, following the host
58KBUILD_CFLAGS += $(call cc-option,-funit-at-a-time)
59endif 50endif
diff --git a/arch/x86/um/vdso/Makefile b/arch/x86/um/vdso/Makefile
index 822ccdba93ad..bf94060fc06f 100644
--- a/arch/x86/um/vdso/Makefile
+++ b/arch/x86/um/vdso/Makefile
@@ -26,7 +26,7 @@ targets += vdso.so vdso.so.dbg vdso.lds $(vobjs-y)
26CPPFLAGS_vdso.lds += -P -C 26CPPFLAGS_vdso.lds += -P -C
27 27
28VDSO_LDFLAGS_vdso.lds = -m64 -Wl,-soname=linux-vdso.so.1 \ 28VDSO_LDFLAGS_vdso.lds = -m64 -Wl,-soname=linux-vdso.so.1 \
29 -Wl,-z,max-page-size=4096 -Wl,-z,common-page-size=4096 29 -Wl,-z,max-page-size=4096
30 30
31$(obj)/vdso.o: $(src)/vdso.S $(obj)/vdso.so 31$(obj)/vdso.o: $(src)/vdso.S $(obj)/vdso.so
32 32