[x86] Allow generating user-space headers without a compiler

This commit is contained in:
Ben Hutchings 2018-08-30 16:06:25 +01:00
parent d87efc40a0
commit 5ad4d97be9
3 changed files with 49 additions and 0 deletions

1
debian/changelog vendored
View File

@ -8,6 +8,7 @@ linux (4.19~rc1-1~exp1) UNRELEASED; urgency=medium
* locking/lockdep: Delete unnecesary #include (fixes liblockdep build)
* [hppa] debian/control: Simplify build-dependencies for 64-bit toolchain
* Compile with gcc-8 on all architectures
* [x86] Allow generating user-space headers without a compiler
-- Ben Hutchings <ben@decadent.org.uk> Mon, 27 Aug 2018 14:36:54 +0100

View File

@ -0,0 +1,47 @@
From: Ben Hutchings <ben@decadent.org.uk>
Date: Wed, 29 Aug 2018 20:26:46 +0100
Subject: x86: Allow generating user-space headers without a compiler
Forwarded: https://lore.kernel.org/lkml/20180829194317.GA4765@decadent.org.uk/T/#u
When bootstrapping an architecture, it's usual to generate the
kernel's user-space headers (make headers_install) before building a
compiler. Move the compiler check (for asm goto support) to the
archprepare target so that it is only done when building code for the
target.
Fixes: e501ce957a78 ("x86: Force asm-goto")
Reported-by: Helmut Grohne <helmutg@debian.org>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
---
arch/x86/Makefile | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/arch/x86/Makefile b/arch/x86/Makefile
index 94859241bc3e..7df47ff45f68 100644
--- a/arch/x86/Makefile
+++ b/arch/x86/Makefile
@@ -175,10 +175,6 @@ ifdef CONFIG_FUNCTION_GRAPH_TRACER
endif
endif
-ifndef CC_HAVE_ASM_GOTO
- $(error Compiler lacks asm-goto support.)
-endif
-
#
# Jump labels need '-maccumulate-outgoing-args' for gcc < 4.5.2 to prevent a
# GCC bug (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=46226). There's no way
@@ -312,6 +308,13 @@ PHONY += vdso_install
vdso_install:
$(Q)$(MAKE) $(build)=arch/x86/entry/vdso $@
+archprepare: checkbin
+checkbin:
+ifndef CC_HAVE_ASM_GOTO
+ @echo Compiler lacks asm-goto support.
+ @exit 1
+endif
+
archclean:
$(Q)rm -rf $(objtree)/arch/i386
$(Q)rm -rf $(objtree)/arch/x86_64

View File

@ -75,6 +75,7 @@ bugfix/x86/mmap-add-an-exception-to-the-stack-gap-for-hotspot-jvm.patch
bugfix/powerpc/powerpc-lib-sstep-fix-building-for-powerpcspe.patch
bugfix/powerpc/powerpc-lib-makefile-don-t-pull-in-quad.o-for-32-bit.patch
bugfix/arm/arm-mm-export-__sync_icache_dcache-for-xen-privcmd.patch
bugfix/x86/x86-allow-generating-user-space-headers-without-a-co.patch
# Arch features
features/mips/MIPS-increase-MAX-PHYSMEM-BITS-on-Loongson-3-only.patch