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