diff options
author | Jeff Dike <jdike@addtoit.com> | 2006-06-30 04:55:58 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-06-30 14:25:38 -0400 |
commit | ff23db5373f66a818c296f4d58adaaa10f515fd3 (patch) | |
tree | 46ac9d4e0cbee290324c8efc9bf389bd503c3b08 | |
parent | d115ec0f0f094683dc2588818cb28134dd75e6d1 (diff) |
[PATCH] uml: fix biarch gcc build on x86_64
I run an x86_64 kernel with i386 userspace (Ubuntu Dapper) and decided to try
out UML today. I found that UML wasn't quite aware of biarch compilers (which
Ubuntu i386 ships). A fix similar to what was done for x86_64 should probably
be committed (see
http://marc.theaimsgroup.com/?l=linux-kernel&m=113425940204010&w=2). Without
the FLAGS changes, the build will fail at a number of places and without the
LINK change, the final link will fail.
Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Cc: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r-- | arch/um/Makefile-x86_64 | 7 | ||||
-rw-r--r-- | arch/um/kernel/vmlinux.lds.S | 2 |
2 files changed, 7 insertions, 2 deletions
diff --git a/arch/um/Makefile-x86_64 b/arch/um/Makefile-x86_64 index dfd88b652fbe..dffd1184c956 100644 --- a/arch/um/Makefile-x86_64 +++ b/arch/um/Makefile-x86_64 | |||
@@ -6,9 +6,11 @@ START := 0x60000000 | |||
6 | 6 | ||
7 | #We #undef __x86_64__ for kernelspace, not for userspace where | 7 | #We #undef __x86_64__ for kernelspace, not for userspace where |
8 | #it's needed for headers to work! | 8 | #it's needed for headers to work! |
9 | CFLAGS += -U__$(SUBARCH)__ -fno-builtin | 9 | CFLAGS += -U__$(SUBARCH)__ -fno-builtin -m64 |
10 | USER_CFLAGS += -fno-builtin | 10 | USER_CFLAGS += -fno-builtin -m64 |
11 | CHECKFLAGS += -m64 | 11 | CHECKFLAGS += -m64 |
12 | AFLAGS += -m64 | ||
13 | LDFLAGS += -m elf_x86_64 | ||
12 | 14 | ||
13 | ELF_ARCH := i386:x86-64 | 15 | ELF_ARCH := i386:x86-64 |
14 | ELF_FORMAT := elf64-x86-64 | 16 | ELF_FORMAT := elf64-x86-64 |
@@ -16,3 +18,4 @@ ELF_FORMAT := elf64-x86-64 | |||
16 | # Not on all 64-bit distros /lib is a symlink to /lib64. PLD is an example. | 18 | # Not on all 64-bit distros /lib is a symlink to /lib64. PLD is an example. |
17 | 19 | ||
18 | LINK-$(CONFIG_LD_SCRIPT_DYN) += -Wl,-rpath,/lib64 | 20 | LINK-$(CONFIG_LD_SCRIPT_DYN) += -Wl,-rpath,/lib64 |
21 | LINK-y += -m64 | ||
diff --git a/arch/um/kernel/vmlinux.lds.S b/arch/um/kernel/vmlinux.lds.S index 1660a769674b..0a7d50ff9a4c 100644 --- a/arch/um/kernel/vmlinux.lds.S +++ b/arch/um/kernel/vmlinux.lds.S | |||
@@ -1,4 +1,6 @@ | |||
1 | #include <linux/config.h> | 1 | #include <linux/config.h> |
2 | /* in case the preprocessor is a 32bit one */ | ||
3 | #undef i386 | ||
2 | #ifdef CONFIG_LD_SCRIPT_STATIC | 4 | #ifdef CONFIG_LD_SCRIPT_STATIC |
3 | #include "uml.lds.S" | 5 | #include "uml.lds.S" |
4 | #else | 6 | #else |