diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2018-12-26 19:57:27 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2018-12-26 19:57:27 -0500 |
commit | 6e54df001ac9262e3b78b34b87390fcb54677a0d (patch) | |
tree | 003a5898f862ad8204953c9f5bf8361dcc152daf | |
parent | 9a126e788af8e0754d5d19cd98b3a2bc1711ff46 (diff) | |
parent | e4f752dda0de351efd198f438b68e743029da68a (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/Makefile | 4 | ||||
-rw-r--r-- | arch/x86/Makefile | 4 | ||||
-rw-r--r-- | arch/x86/Makefile.um | 9 | ||||
-rw-r--r-- | arch/x86/um/vdso/Makefile | 2 |
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) | |||
228 | KBUILD_CFLAGS += $(call cc-option,-mno-spe) | 228 | KBUILD_CFLAGS += $(call cc-option,-mno-spe) |
229 | KBUILD_CFLAGS += $(call cc-option,-mspe=no) | 229 | KBUILD_CFLAGS += $(call cc-option,-mspe=no) |
230 | 230 | ||
231 | # Enable unit-at-a-time mode when possible. It shrinks the | ||
232 | # kernel considerably. | ||
233 | KBUILD_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) | ||
137 | endif | 133 | endif |
138 | 134 | ||
139 | ifdef CONFIG_X86_X32 | 135 | ifdef 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. |
27 | cflags-y += -ffreestanding | 27 | cflags-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. | ||
32 | KBUILD_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 | |||
36 | KBUILD_CFLAGS += $(cflags-y) | 29 | KBUILD_CFLAGS += $(cflags-y) |
37 | 30 | ||
38 | else | 31 | else |
@@ -54,6 +47,4 @@ ELF_FORMAT := elf64-x86-64 | |||
54 | LINK-$(CONFIG_LD_SCRIPT_DYN) += -Wl,-rpath,/lib64 | 47 | LINK-$(CONFIG_LD_SCRIPT_DYN) += -Wl,-rpath,/lib64 |
55 | LINK-y += -m64 | 48 | LINK-y += -m64 |
56 | 49 | ||
57 | # Do unit-at-a-time unconditionally on x86_64, following the host | ||
58 | KBUILD_CFLAGS += $(call cc-option,-funit-at-a-time) | ||
59 | endif | 50 | endif |
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) | |||
26 | CPPFLAGS_vdso.lds += -P -C | 26 | CPPFLAGS_vdso.lds += -P -C |
27 | 27 | ||
28 | VDSO_LDFLAGS_vdso.lds = -m64 -Wl,-soname=linux-vdso.so.1 \ | 28 | VDSO_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 | ||