Subject: 2.6 64bit kernels

From: Guido Guenther <[email-masked]>
Date: Sun, 28 Dec 2003 20:54:34 +0100

Hi,
could anybody explain to me how one builds 2.6 (current CVS) 64bit
kernel resulting in a 32bit ELF executable with a current (gcc >= 3.3,
bintuils >= 2.14.90.0.5) toolchain.
Major showstopper is that -Wa,-mabi=o64 doesn't work anymore, but
-Wa,-mabi=32 -Wa,-mgp64 doesn't either since the assembler doesn't
accept it.
Thanks for any help,
 -- Guido

---

From: [email-masked]
Date: Sun, 28 Dec 2003 12:01:49 -0800

See arch/mips/Makefile part of my minimal patchset:
http://www.selfsoft.com/progs/mips/patches/

in shor, to get things to work, one needs to play with
-mabi=o64/-64/-32 options.

---

From: Daniel Jacobowitz <[email-masked]>
Date: Sun, 28 Dec 2003 21:29:57 -0500

> -Wa,-mabi=32 -Wa,-mgp64 doesn't either since the assembler doesn't

I have found that the best way is to build a 64-bit ELF executable. 
Then, use:
  mips64_fp_le-objcopy -O elf32-ntradlittlemips vmlinux vmlinux.32bit

or the equivalent command.

You lose some space (lots) on wasted addressing calculations; no one
has found a good solution AFAIK.

-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer