Re: [PATCH 2/4] module linker script: coalesce function and data sections

From: Denys Vlasenko
Date: Thu Aug 05 2010 - 22:18:25 EST


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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/