linux-mips
[Top] [All Lists]

Re: CONFIG_BUILD_ELF64 broken on IP32 since 2.6.20

To: tbm@cyrius.com
Subject: Re: CONFIG_BUILD_ELF64 broken on IP32 since 2.6.20
From: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Date: Wed, 26 Sep 2007 11:08:14 +0900 (JST)
Cc: linux-mips@linux-mips.org, fbuihuu@gmail.com
In-reply-to: <20070925181353.GA15412@deprecation.cyrius.com> <20070330.150912.11964158.nemoto@toshiba-tops.co.jp>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <20070925181353.GA15412@deprecation.cyrius.com>
Sender: linux-mips-bounce@linux-mips.org
On Tue, 25 Sep 2007 20:13:53 +0200, Martin Michlmayr <tbm@cyrius.com> wrote:
> IP32 kernels that are built with CONFIG_BUILD_ELF64=y only produce an
> exception when booted.  This worked with 2.6.19 and before.  I haven't
> had a chance to dig deep yet but it seems both Franck Bui-Huu and
> Atsushi Nemoto had patches in 2.6.20 that might have caused this.
> This still happens with 2.6.22.  I cannot boot current git for other
> reasons.

I think this is solved on current git a few weeks ago by this commit
(not mainlined yet):

> Subject: [MIPS] Fix CONFIG_BUILD_ELF64 kernels with symbols in CKSEG0.
> Date:         Tue, 11 Sep 2007 11:12:03 +0100
> Author: Ralf Baechle <ralf@linux-mips.org> Tue Sep 11 08:50:40 2007 +0100
> Commit: db423f6e86c3c4c70edf3eaf504e22c467b9f97c
> Gitweb: http://www.linux-mips.org/g/linux/db423f6e
> Branch: master

It is just one liner and can be backported easily.

> If anyone has an idea which specific patch might have caused this,
> please let me know.  Otherwise I'll try to find time in the next few
> days to revert various patches.

Well, It might be a bit hard to revert specific patch in patchset with
dependencies.

For background, there were fairly lengthy discussion on this topic.
My thought was abstracted in this:

(http://www.linux-mips.org/archives/linux-mips/2007-03/msg00484.html)
On Fri, 30 Mar 2007 15:09:12 +0900 (JST), Atsushi Nemoto <anemo@mba.ocn.ne.jp> 
wrote:
> And I think the answer is
> 
> 1) Disable CONFIG_BUILD_ELF64 in short term.
> 
> 2) Apply Franck's patchset with a slight change (enclose -msym32 by
>    $(call cc-option)).
> 
> And _if_ this did not work on IP32, something needs to be fixed, but I
> can not see why for now.

I still think CONFIG_BUILD_ELF64=n is best choice.  You can get
smaller and faster kernel with this.  Are there any reason to use
CONFIG_BUILD_ELF64=y for IP32?  (Note that CONFIG_BUILD_ELF64 and
CONFIG_BOOT_ELF64 is separate thing.)

And The Franck's patchset is already in linux-queue tree of lmo so
should be in 2.6.24.

And finally I can remember the report from Kumba:

http://www.linux-mips.org/archives/linux-mips/2007-03/msg00485.html

I do not know this RM52xx thing is fixed or not. ;)

---
Atsushi Nemoto

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