aboutsummaryrefslogtreecommitdiffstats
path: root/arch/um/Makefile-x86
diff options
context:
space:
mode:
authorAl Viro <viro@ftp.linux.org.uk>2011-08-18 15:06:29 -0400
committerRichard Weinberger <richard@nod.at>2011-11-02 09:15:04 -0400
commit7bbe7204e93734fe79d8aac3e08a7cb4624b5004 (patch)
treeaef04472a8f1fa0e6cc43916b8f9165bceb753a0 /arch/um/Makefile-x86
parenta6e77d6c74fa82675b087a79c8a145cae7c58f36 (diff)
um: merge Makefile-{i386,x86_64}
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Richard Weinberger <richard@nod.at>
Diffstat (limited to 'arch/um/Makefile-x86')
-rw-r--r--arch/um/Makefile-x8661
1 files changed, 61 insertions, 0 deletions
diff --git a/arch/um/Makefile-x86 b/arch/um/Makefile-x86
new file mode 100644
index 000000000000..68fbd1b7c9f2
--- /dev/null
+++ b/arch/um/Makefile-x86
@@ -0,0 +1,61 @@
1core-y += arch/um/sys-x86/ arch/x86/crypto/
2
3ifeq ($(CONFIG_X86_32),y)
4START := 0x8048000
5
6LDFLAGS += -m elf_i386
7ELF_ARCH := i386
8ELF_FORMAT := elf32-i386
9CHECKFLAGS += -D__i386__
10
11ifeq ("$(origin SUBARCH)", "command line")
12ifneq ("$(shell uname -m | sed -e s/i.86/i386/)", "$(SUBARCH)")
13KBUILD_CFLAGS += $(call cc-option,-m32)
14KBUILD_AFLAGS += $(call cc-option,-m32)
15LINK-y += $(call cc-option,-m32)
16
17export LDFLAGS
18endif
19endif
20
21# First of all, tune CFLAGS for the specific CPU. This actually sets cflags-y.
22include $(srctree)/arch/x86/Makefile_32.cpu
23
24# prevent gcc from keeping the stack 16 byte aligned. Taken from i386.
25cflags-y += $(call cc-option,-mpreferred-stack-boundary=2)
26
27# Prevent sprintf in nfsd from being converted to strcpy and resulting in
28# an unresolved reference.
29cflags-y += -ffreestanding
30
31# Disable unit-at-a-time mode on pre-gcc-4.0 compilers, it makes gcc use
32# a lot more stack due to the lack of sharing of stacklots. Also, gcc
33# 4.3.0 needs -funit-at-a-time for extern inline functions.
34KBUILD_CFLAGS += $(shell if [ $(call cc-version) -lt 0400 ] ; then \
35 echo $(call cc-option,-fno-unit-at-a-time); \
36 else echo $(call cc-option,-funit-at-a-time); fi ;)
37
38KBUILD_CFLAGS += $(cflags-y)
39
40else
41
42START := 0x60000000
43
44KBUILD_CFLAGS += -fno-builtin -m64
45
46CHECKFLAGS += -m64 -D__x86_64__
47KBUILD_AFLAGS += -m64
48LDFLAGS += -m elf_x86_64
49KBUILD_CPPFLAGS += -m64
50
51ELF_ARCH := i386:x86-64
52ELF_FORMAT := elf64-x86-64
53
54# Not on all 64-bit distros /lib is a symlink to /lib64. PLD is an example.
55
56LINK-$(CONFIG_LD_SCRIPT_DYN) += -Wl,-rpath,/lib64
57LINK-y += -m64
58
59# Do unit-at-a-time unconditionally on x86_64, following the host
60KBUILD_CFLAGS += $(call cc-option,-funit-at-a-time)
61endif