From: Franck Bui-Huu <vagabon.xyz@gmail.com>
To: "Maciej W. Rozycki" <macro@linux-mips.org>
Cc: Ralf Baechle <ralf@linux-mips.org>,
Geert Uytterhoeven <geert@linux-m68k.org>,
linux-mips <linux-mips@linux-mips.org>
Subject: Re: [RFC] Add __initbss section
Date: Thu, 18 Oct 2007 22:28:43 +0200 [thread overview]
Message-ID: <4717C1FB.4030602@gmail.com> (raw)
In-Reply-To: <Pine.LNX.4.64N.0710161123110.22596@blysk.ds.pg.gda.pl>
Maciej W. Rozycki wrote:
> On Mon, 15 Oct 2007, Franck Bui-Huu wrote:
>
>> Well, since .init.bss is declared as follow:
>>
>> .init.bss (NOLOAD) : {
>> ...
>> }
>>
>> data should not take any space in the image...
>
> The above only marks it as unloadable (cf. e.g. debugging information).
> It is still there.
>
So it seems there is no way from a linker script to specify that a
section has the nobits type, is it ?
After spending some fun time trying several different configurations
with gcc and ld, I noticed that gcc makes a section with @nobits
attribute if the section name starts with .bss.*
So calling .bss.init instead of .init.bss makes gcc do the right
thing. Here is a bit of tlbex.s:
.word 0
.section .bss.init,"aw",@nobits
.align 2
.type tlb_handler, @object
.size tlb_handler, 512
tlb_handler:
.space 512
.align 2
.type labels, @object
.size labels, 1024
labels:
.space 1024
Another test I did is to put .init.bss (not .bss.init) section right
before .bss section in order to have only one segment to load. And it
makes magically ld do the right thing. I must admit that I don't
understand why, and the lack of documentation doesn't help...
Unfortunately I don't know if we can rely on one of these
behaviours. IOW if they're going to work with all supported versions
of gcc/ld.
Anyway, I'll resubmit a new patchset for futher discussion.
Franck
next prev parent reply other threads:[~2007-10-18 20:30 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-10-11 9:52 [RFC] Add __initbss section Franck Bui-Huu
2007-10-11 9:54 ` [PATCH 1/2] Add .init.bss section Franck Bui-Huu
2007-10-11 9:58 ` [PATCH 2/2] Add .init.bss section for MIPS Franck Bui-Huu
2007-10-11 12:44 ` [RFC] Add __initbss section Ralf Baechle
2007-10-11 13:35 ` Maciej W. Rozycki
2007-10-11 14:00 ` Ralf Baechle
2007-10-11 14:49 ` Maciej W. Rozycki
2007-10-14 19:42 ` Franck Bui-Huu
2007-10-15 16:01 ` Ralf Baechle
2007-10-16 8:33 ` Franck Bui-Huu
2007-10-11 13:19 ` Maciej W. Rozycki
2007-10-14 19:52 ` Franck Bui-Huu
2007-10-15 12:19 ` Maciej W. Rozycki
2007-10-15 20:06 ` Franck Bui-Huu
2007-10-16 10:29 ` Maciej W. Rozycki
2007-10-18 20:28 ` Franck Bui-Huu [this message]
2007-10-19 11:59 ` Maciej W. Rozycki
2007-11-04 8:29 ` Franck Bui-Huu
2007-11-05 12:38 ` Maciej W. Rozycki
2007-11-05 20:32 ` Franck Bui-Huu
2007-10-11 15:26 ` Thiemo Seufer
2007-10-11 16:16 ` Maciej W. Rozycki
2007-10-11 16:25 ` Ralf Baechle
2007-10-11 17:07 ` Maciej W. Rozycki
2007-10-11 16:39 ` Thiemo Seufer
2007-10-14 19:53 ` Franck Bui-Huu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4717C1FB.4030602@gmail.com \
--to=vagabon.xyz@gmail.com \
--cc=geert@linux-m68k.org \
--cc=linux-mips@linux-mips.org \
--cc=macro@linux-mips.org \
--cc=ralf@linux-mips.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.