[Top] [All Lists]

Re: [RFC] Add __initbss section

To: Ralf Baechle <>
Subject: Re: [RFC] Add __initbss section
From: Franck Bui-Huu <>
Date: Sun, 14 Oct 2007 21:42:08 +0200
Cc: "Maciej W. Rozycki" <>, Geert Uytterhoeven <>, linux-mips <>
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=beta; h=domainkey-signature:received:received:message-id:date:from:user-agent:mime-version:to:cc:subject:references:in-reply-to:content-type:content-transfer-encoding; bh=onK8KdiqrRiD6yGri7nXg/KYOmOYpAwmSIsE6EncuC4=; b=IDUV5copfFuwjfoDiyGcMUo74W2Y2UY9paCNwDnJdkS/HcN/pZYM4mTaQn0Yx2tPgKlhVFuIEJFHnD7ixYL0DC0RPZ50dU6Z43n56l/CmxRMiGY0tROtTGfVvRShBYQnDjIpSwSXtJik72voXYBpRWxkld9PsweKFPYFgfqBfMk=
Domainkey-signature: a=rsa-sha1; c=nofws;; s=beta; h=received:message-id:date:from:user-agent:mime-version:to:cc:subject:references:in-reply-to:content-type:content-transfer-encoding; b=La/FGLGX8YYEIBZAURElIXQaKPnPILmF2t8K7K/dniwSLYGaLkcUkKZ64h0ASztb56KUnY9cc2qsYc7BaFN1IGWivM+4w1DdXxzg7UBMW67yFUuiCcpA7KizehMXgiVN2g6i0iNZ+rgAIoBq5QffjDwxNatnfGz6D8b854TnWN4=
In-reply-to: <>
Original-recipient: rfc822;
References: <> <>
User-agent: Thunderbird (X11/20070719)
Ralf Baechle wrote:
> On Thu, Oct 11, 2007 at 11:52:30AM +0200, Franck Bui-Huu wrote:
>> Other question: I noticed that the section is not
>> discarded. Could anybody give me the reason why ?
> 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...

> It's actually an issue which doesn't strike very often, so users who are
> desparate for shrinking the kernel down could try to undo patchsets:
>   6f0b1e5d266fb1d0da019c07b56ccc02c3a4f53a
>   ca7402fed2a76cd5a417ac4d375a5539dcb2b6de
> and see if they can get away with it.  If the final kernel link succeeds,
> the build would be ok.
> I think gcc should probably put the jump table into a .subsection if
> a section was explicitly requested, at least for non-PIC code.

yes that would be great, and do the same for strings, data and we could
get rid of all __initxxx annotations.


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