linux-mips
[Top] [All Lists]

Re: [PATCH]: Remove CONFIG_BUILD_ELF64 entirely

To: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Subject: Re: [PATCH]: Remove CONFIG_BUILD_ELF64 entirely
From: Kumba <kumba@gentoo.org>
Date: Fri, 30 Mar 2007 01:35:39 -0400
Cc: linux-mips@linux-mips.org, ths@networkno.de, ralf@linux-mips.org, vagabon.xyz@gmail.com
In-reply-to: <20070330.120106.96687664.nemoto@toshiba-tops.co.jp>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <460A6CED.1070308@gentoo.org> <20070329.002453.18311528.anemo@mba.ocn.ne.jp> <460C7404.2020209@gentoo.org> <20070330.120106.96687664.nemoto@toshiba-tops.co.jp>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Thunderbird 2.0b2 (Windows/20070116)
Atsushi Nemoto wrote:
This is not Franck's fault.  His patchset does not change behavior if
kernel load address was CKSEG0 and CONFIG_BUILD_ELF64 was not set
(unless you are using gcc 3.x).

I wasn't implying it was anyone's fault of any kind. I actually didn't see your last response cause Thunderbird got stupid and stopped checking for new mail for some odd reason.


Let's clarify things a bit: The Franck's patchset is _not_ fix.  It
just tried to avoid undesirable configuration (CKSEG0 kernel with
BUILD_ELF64=y), and clarify some namings.

As far as I can tell, the majority of what CONFIG_BUILD_ELF64 did got neutered in 2.6.17. It's pretty much down to those minor #ifdef checks and a few references on the defconfigs. Removing it entirely is probably the best idea, and if Frank's patch is one way of doing it, I'm game. Besides, he's got that loadaddr detector thrown in so we don't have to check on a machine-by-machine basis if they're loading in CKSEG0 or not.


So I should ask you again, does current git (or 2.6.20-stable) kernel
compiled by binutils-2.17/gcc-4.[12] work for IP32 if you disabled
CONFIG_BUILD_ELF64?
[snip]
So I had thought CONFIG_BUILD_ELF64=n worked for IP32...


If memory serves, yes, it'll boot, because it's close to the old way I that I used to use when building them. Prior to 2.6.17, I did CONFIG_BUILD_ELF64=n with -mabi=o64. This let me use the plain 'vmlinux' target without any special changes. 2.6.17 is when I stopped using gcc-3.x for kernels, moved to 4.x, and started using CONFIG_BUILD_ELF64=y w/ -msym32 and friends. Thus I now use vmlinux.32. I was told that that was the RightWay(TM) to do it.

Hence, the real point of this long chain is mainly to accomplish two things:

1) Finally determine the OneTrueWay(TM) to build 64bit kernels for our three main CKSEG0-based systems (ip22, ip32, cobalt), and get that way documented so as to avoid confusion in the future.

2) Get a solution into the tree that does #1, and does it well. So far, Frank's patch seems like the leading contender here.



--Kumba

--
Gentoo/MIPS Team Lead

"Such is oft the course of deeds that move the wheels of the world: small hands do them because they must, while the eyes of the great are elsewhere." --Elrond

<Prev in Thread] Current Thread [Next in Thread>