On Thu, 29 Mar 2007 22:20:52 -0400, Kumba <kumba@gentoo.org> wrote:
> > Just an optimization. For CKSEG0 symbol, a LUI instruction can fill
> > high 32-bit by sign-extention. Either code should work for CKSEG0
> > kernel.
>
> Well, thinking about it some more, can this stackframe change be segmented
> out
> of Frank's main patches, so we can get them into git, and spend time in
> 2.6.21/2.6.22/2.6.23 chasing down what exactly is up with this specific asm
> sequence?
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).
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.
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?
On Sun, 18 Feb 2007 15:00:48 -0500, Kumba <kumba@gentoo.org> wrote:
> The [short-term] fix highlighted by Ilya is to make __pa() unconditionally be
> defined to "((unsigned long)(x) < CKSEG0 ? PAGE_OFFSET : CKSEG0)"; Discovered
> by
> building IP32 with CONFIG_BUILD_ELF64=n.
So I had thought CONFIG_BUILD_ELF64=n worked for IP32...
---
Atsushi Nemoto
|