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
This commit is contained in:
commit
6e54df001a
|
@ -228,10 +228,6 @@ KBUILD_CFLAGS += $(call cc-option,-mno-vsx)
|
||||||
KBUILD_CFLAGS += $(call cc-option,-mno-spe)
|
KBUILD_CFLAGS += $(call cc-option,-mno-spe)
|
||||||
KBUILD_CFLAGS += $(call cc-option,-mspe=no)
|
KBUILD_CFLAGS += $(call cc-option,-mspe=no)
|
||||||
|
|
||||||
# Enable unit-at-a-time mode when possible. It shrinks the
|
|
||||||
# kernel considerably.
|
|
||||||
KBUILD_CFLAGS += $(call cc-option,-funit-at-a-time)
|
|
||||||
|
|
||||||
# FIXME: the module load should be taught about the additional relocs
|
# FIXME: the module load should be taught about the additional relocs
|
||||||
# generated by this.
|
# generated by this.
|
||||||
# revert to pre-gcc-4.4 behaviour of .eh_frame
|
# revert to pre-gcc-4.4 behaviour of .eh_frame
|
||||||
|
|
|
@ -130,10 +130,6 @@ else
|
||||||
|
|
||||||
KBUILD_CFLAGS += -mno-red-zone
|
KBUILD_CFLAGS += -mno-red-zone
|
||||||
KBUILD_CFLAGS += -mcmodel=kernel
|
KBUILD_CFLAGS += -mcmodel=kernel
|
||||||
|
|
||||||
# -funit-at-a-time shrinks the kernel .text considerably
|
|
||||||
# unfortunately it makes reading oopses harder.
|
|
||||||
KBUILD_CFLAGS += $(call cc-option,-funit-at-a-time)
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifdef CONFIG_X86_X32
|
ifdef CONFIG_X86_X32
|
||||||
|
|
|
@ -26,13 +26,6 @@ cflags-y += $(call cc-option,-mpreferred-stack-boundary=2)
|
||||||
# an unresolved reference.
|
# an unresolved reference.
|
||||||
cflags-y += -ffreestanding
|
cflags-y += -ffreestanding
|
||||||
|
|
||||||
# Disable unit-at-a-time mode on pre-gcc-4.0 compilers, it makes gcc use
|
|
||||||
# a lot more stack due to the lack of sharing of stacklots. Also, gcc
|
|
||||||
# 4.3.0 needs -funit-at-a-time for extern inline functions.
|
|
||||||
KBUILD_CFLAGS += $(shell if [ $(cc-version) -lt 0400 ] ; then \
|
|
||||||
echo $(call cc-option,-fno-unit-at-a-time); \
|
|
||||||
else echo $(call cc-option,-funit-at-a-time); fi ;)
|
|
||||||
|
|
||||||
KBUILD_CFLAGS += $(cflags-y)
|
KBUILD_CFLAGS += $(cflags-y)
|
||||||
|
|
||||||
else
|
else
|
||||||
|
@ -54,6 +47,4 @@ ELF_FORMAT := elf64-x86-64
|
||||||
LINK-$(CONFIG_LD_SCRIPT_DYN) += -Wl,-rpath,/lib64
|
LINK-$(CONFIG_LD_SCRIPT_DYN) += -Wl,-rpath,/lib64
|
||||||
LINK-y += -m64
|
LINK-y += -m64
|
||||||
|
|
||||||
# Do unit-at-a-time unconditionally on x86_64, following the host
|
|
||||||
KBUILD_CFLAGS += $(call cc-option,-funit-at-a-time)
|
|
||||||
endif
|
endif
|
||||||
|
|
|
@ -26,7 +26,7 @@ targets += vdso.so vdso.so.dbg vdso.lds $(vobjs-y)
|
||||||
CPPFLAGS_vdso.lds += -P -C
|
CPPFLAGS_vdso.lds += -P -C
|
||||||
|
|
||||||
VDSO_LDFLAGS_vdso.lds = -m64 -Wl,-soname=linux-vdso.so.1 \
|
VDSO_LDFLAGS_vdso.lds = -m64 -Wl,-soname=linux-vdso.so.1 \
|
||||||
-Wl,-z,max-page-size=4096 -Wl,-z,common-page-size=4096
|
-Wl,-z,max-page-size=4096
|
||||||
|
|
||||||
$(obj)/vdso.o: $(src)/vdso.S $(obj)/vdso.so
|
$(obj)/vdso.o: $(src)/vdso.S $(obj)/vdso.so
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue