On Mon, 29 Jan 2007, Franck Bui-Huu wrote:
> > The problem is __pa_symbol(&_end); the kernel is linked at
> > 0xffffffff80xxxxxx, so subtracting a PAGE_OFFSET of 0xa800000000000000
> > does not do anything useful to this address at all.
> In my understanding, if your kernel is linked at 0xffffffff80xxxxxx,
> you shouldn't have CONFIG_BUILD_ELF64 set.
Well, the option used to select between 64-bit and 32-bit ELF for
building 64-bit configurations. I can see it has been changed from its
original meaning and it now only controls whether "-mno-explicit-relocs"
is passed to the compiler or not, which is sort of useless and certainly
does not match the intent nor what the description says. The 64-bit
format is now used unconditionally and you can always pass such obscure
options to the compiler on the make's command line, so instead of this fix
I vote for complete removal of the BUILD_ELF64 option.