diff options
Diffstat (limited to 'arch/x86/Makefile')
| -rw-r--r-- | arch/x86/Makefile | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/arch/x86/Makefile b/arch/x86/Makefile index 209ba1294592..968dbe24a255 100644 --- a/arch/x86/Makefile +++ b/arch/x86/Makefile | |||
| @@ -82,6 +82,22 @@ ifdef CONFIG_CC_STACKPROTECTOR | |||
| 82 | endif | 82 | endif |
| 83 | endif | 83 | endif |
| 84 | 84 | ||
| 85 | ifdef CONFIG_X86_X32 | ||
| 86 | x32_ld_ok := $(call try-run,\ | ||
| 87 | /bin/echo -e '1: .quad 1b' | \ | ||
| 88 | $(CC) $(KBUILD_AFLAGS) -c -xassembler -o "$$TMP" - && \ | ||
| 89 | $(OBJCOPY) -O elf32-x86-64 "$$TMP" "$$TMPO" && \ | ||
| 90 | $(LD) -m elf32_x86_64 "$$TMPO" -o "$$TMP",y,n) | ||
| 91 | ifeq ($(x32_ld_ok),y) | ||
| 92 | CONFIG_X86_X32_ABI := y | ||
| 93 | KBUILD_AFLAGS += -DCONFIG_X86_X32_ABI | ||
| 94 | KBUILD_CFLAGS += -DCONFIG_X86_X32_ABI | ||
| 95 | else | ||
| 96 | $(warning CONFIG_X86_X32 enabled but no binutils support) | ||
| 97 | endif | ||
| 98 | endif | ||
| 99 | export CONFIG_X86_X32_ABI | ||
| 100 | |||
| 85 | # Don't unroll struct assignments with kmemcheck enabled | 101 | # Don't unroll struct assignments with kmemcheck enabled |
| 86 | ifeq ($(CONFIG_KMEMCHECK),y) | 102 | ifeq ($(CONFIG_KMEMCHECK),y) |
| 87 | KBUILD_CFLAGS += $(call cc-option,-fno-builtin-memcpy) | 103 | KBUILD_CFLAGS += $(call cc-option,-fno-builtin-memcpy) |
