diff options
author | Andi Kleen <ak@suse.de> | 2006-01-11 16:43:54 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-01-11 22:04:52 -0500 |
commit | bb33421dde79f9a36d5485c56335ff178ac7d268 (patch) | |
tree | f4b8843d9295c1efb550e869352e578cb8667ce1 /arch/x86_64/ia32 | |
parent | 79c62cf1789f935280138b412bb750be84aec747 (diff) |
[PATCH] x86_64: Allow compilation on a 32bit biarch toolchain
This might help on distributions that use a 32bit biarch compiler.
First pass -m64 by default.
Secondly add some more .code32s because at least the Ubuntu biarch
32bit as called by gcc doesn't seem to handle -m64 -m32 as generated
by the Makefile without such assistance.
And finally make sure the linker script can be preprocessed
with a 32bit cpp.
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/x86_64/ia32')
-rw-r--r-- | arch/x86_64/ia32/vsyscall-sigreturn.S | 1 | ||||
-rw-r--r-- | arch/x86_64/ia32/vsyscall-syscall.S | 1 | ||||
-rw-r--r-- | arch/x86_64/ia32/vsyscall-sysenter.S | 1 |
3 files changed, 3 insertions, 0 deletions
diff --git a/arch/x86_64/ia32/vsyscall-sigreturn.S b/arch/x86_64/ia32/vsyscall-sigreturn.S index 8b5a4b060bb5..d90321fe9bba 100644 --- a/arch/x86_64/ia32/vsyscall-sigreturn.S +++ b/arch/x86_64/ia32/vsyscall-sigreturn.S | |||
@@ -7,6 +7,7 @@ | |||
7 | * by doing ".balign 32" must match in both versions of the page. | 7 | * by doing ".balign 32" must match in both versions of the page. |
8 | */ | 8 | */ |
9 | 9 | ||
10 | .code32 | ||
10 | .section .text.sigreturn,"ax" | 11 | .section .text.sigreturn,"ax" |
11 | .balign 32 | 12 | .balign 32 |
12 | .globl __kernel_sigreturn | 13 | .globl __kernel_sigreturn |
diff --git a/arch/x86_64/ia32/vsyscall-syscall.S b/arch/x86_64/ia32/vsyscall-syscall.S index b024965bb689..cf9ef678de3e 100644 --- a/arch/x86_64/ia32/vsyscall-syscall.S +++ b/arch/x86_64/ia32/vsyscall-syscall.S | |||
@@ -6,6 +6,7 @@ | |||
6 | #include <asm/asm-offsets.h> | 6 | #include <asm/asm-offsets.h> |
7 | #include <asm/segment.h> | 7 | #include <asm/segment.h> |
8 | 8 | ||
9 | .code32 | ||
9 | .text | 10 | .text |
10 | .section .text.vsyscall,"ax" | 11 | .section .text.vsyscall,"ax" |
11 | .globl __kernel_vsyscall | 12 | .globl __kernel_vsyscall |
diff --git a/arch/x86_64/ia32/vsyscall-sysenter.S b/arch/x86_64/ia32/vsyscall-sysenter.S index 71f3de586b56..ae056e553d13 100644 --- a/arch/x86_64/ia32/vsyscall-sysenter.S +++ b/arch/x86_64/ia32/vsyscall-sysenter.S | |||
@@ -5,6 +5,7 @@ | |||
5 | #include <asm/ia32_unistd.h> | 5 | #include <asm/ia32_unistd.h> |
6 | #include <asm/asm-offsets.h> | 6 | #include <asm/asm-offsets.h> |
7 | 7 | ||
8 | .code32 | ||
8 | .text | 9 | .text |
9 | .section .text.vsyscall,"ax" | 10 | .section .text.vsyscall,"ax" |
10 | .globl __kernel_vsyscall | 11 | .globl __kernel_vsyscall |