| To: | Ralf Baechle <ralf@linux-mips.org> |
|---|---|
| Subject: | Re: [RFC] Add __initbss section |
| From: | Franck Bui-Huu <vagabon.xyz@gmail.com> |
| Date: | Sun, 14 Oct 2007 21:42:08 +0200 |
| Cc: | "Maciej W. Rozycki" <macro@linux-mips.org>, Geert Uytterhoeven <geert@linux-m68k.org>, linux-mips <linux-mips@linux-mips.org> |
| Dkim-signature: | v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; 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; d=gmail.com; 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: | <20071011124410.GA17202@linux-mips.org> |
| Original-recipient: | rfc822;linux-mips@linux-mips.org |
| References: | <470DF25E.60009@gmail.com> <20071011124410.GA17202@linux-mips.org> |
| Sender: | linux-mips-bounce@linux-mips.org |
| User-agent: | Thunderbird 2.0.0.5 (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 exit.data section is not
>> discarded. Could anybody give me the reason why ?
>
> .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...
> 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.
Franck
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | Re: [SPAM?] Re: [PATCH] mm/pg-r4k.c: Dump the generated code, Franck Bui-Huu |
|---|---|
| Next by Date: | Re: [RFC] Add __initbss section, Franck Bui-Huu |
| Previous by Thread: | Re: [RFC] Add __initbss section, Maciej W. Rozycki |
| Next by Thread: | Re: [RFC] Add __initbss section, Ralf Baechle |
| Indexes: | [Date] [Thread] [Top] [All Lists] |