From: David Howells on
Denys Vlasenko <vda.linux(a)googlemail.com> wrote:

> + .data 0 : AT(0) { *(.data .data.[A-Za-z0-9_$^]*) }
> + .bss 0 : AT(0) { *(.bss .bss.[A-Za-z0-9_$^]*) }

What about .sdata and .sbss sections produced by arches that support small
data sections?

David
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Denys Vlasenko on
On Thursday 29 July 2010 02:25, David Howells wrote:
> Denys Vlasenko <vda.linux(a)googlemail.com> wrote:
>
> > + .data 0 : AT(0) { *(.data .data.[A-Za-z0-9_$^]*) }
> > + .bss 0 : AT(0) { *(.bss .bss.[A-Za-z0-9_$^]*) }
>
> What about .sdata and .sbss sections produced by arches that support small
> data sections?

linker groups all similarly-named input sections into one output section
with the same name, if the name does not match any rule in the linker
script.

Basically, it should work as if there is a rule:

..sbss 0 : AT(0) { *(.sbss) }

--
vda
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: David Howells on
Denys Vlasenko <vda.linux(a)googlemail.com> wrote:

> linker groups all similarly-named input sections into one output section
> with the same name, if the name does not match any rule in the linker
> script.
>
> Basically, it should work as if there is a rule:
>
> .sbss 0 : AT(0) { *(.sbss) }

Okay, thanks.

David
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Denys Vlasenko on
On Tuesday 03 August 2010 15:47, Michal Marek wrote:
> On 29.7.2010 01:47, Denys Vlasenko wrote:
> > SECTIONS {
> > +
> > + /* Coalesce sections produced by gcc -ffunction-sections */
> > + .text 0 : AT(0) { *(.text .text.[A-Za-z0-9_$^]*) }
> > +
> > + /* Coalesce sections produced by gcc -fdata-sections */
> > + .rodata 0 : AT(0) { *(.rodata .rodata.[A-Za-z0-9_$^]*) }
> > + .data 0 : AT(0) { *(.data .data.[A-Za-z0-9_$^]*) }
> > + .bss 0 : AT(0) { *(.bss .bss.[A-Za-z0-9_$^]*) }
> > +
> > /DISCARD/ : { *(.discard) }
> > }
>
> I'm now getting
>
> ld:/home/mmarek/linux-2.6/scripts/module-common.lds:23: ignoring invalid
> character `^' in script
> ld:/home/mmarek/linux-2.6/scripts/module-common.lds:26: ignoring invalid
> character `^' in script
> ld:/home/mmarek/linux-2.6/scripts/module-common.lds:27: ignoring invalid
> character `^' in script
> ld:/home/mmarek/linux-2.6/scripts/module-common.lds:28: ignoring invalid
> character `^' in script
>
> when linking modules and a similar warning when linking vmlinux (caused
> by the next patch in series). I tried writing the carets as \^, but that
> doesn't help at all...

Yep, I can confirm it. The binutils fix to allow caret might be trivial,
and will allow us to use much better pattern: [^.]*

I created a Fedora bug for it:

https://bugzilla.redhat.com/show_bug.cgi?id=621742

So far, please remove these three patches from kbuild tree.

(I see that modpost patch is in Linus tree. Thanks!)

--
vda
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/