linux-mips
[Top] [All Lists]

Re: [RFC] Add __initbss section

To: Franck Bui-Huu <vagabon.xyz@gmail.com>
Subject: Re: [RFC] Add __initbss section
From: Ralf Baechle <ralf@linux-mips.org>
Date: Mon, 15 Oct 2007 17:01:09 +0100
Cc: "Maciej W. Rozycki" <macro@linux-mips.org>, Geert Uytterhoeven <geert@linux-m68k.org>, linux-mips <linux-mips@linux-mips.org>
In-reply-to: <47127110.4060206@gmail.com>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <470DF25E.60009@gmail.com> <20071011124410.GA17202@linux-mips.org> <47127110.4060206@gmail.com>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Mutt/1.5.14 (2007-02-12)
On Sun, Oct 14, 2007 at 09:42:08PM +0200, Franck Bui-Huu wrote:

> > .exit.data and .exit.text may reference each other.  __exit functions
> > generally get compiled into .exit.text but some constructs such as jump
> > tables for switch() constructs may be compiled into address tables which
> > gcc unfortunately will put into .rodata, so .rodata will end up
> > referencing function addresses in .exit.text which makes ld unhappy if
> > .exit.text was discarded.  So until this is fixed in gcc we can't
> > discard exit code, unfortunately.
> > 
> 
> Thanks for the details.
> 
> I actually don't see any point to move these tables in .rodata since
> they're part of the code...

As I recall the argumentation was they should go there because that section
can be marked no-exec.  Which isn't terribly useful on MIPS where only
very few processors have the no-exec capability.

Anyway, I guess it takes somebody to cook a patch :-)

  Ralf

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