drivers/video/logo/logo_linux_mono.c build error
    Geert Uytterhoeven 
    Geert.Uytterhoeven at sonycom.com
       
    Thu May 14 17:24:22 EST 2009
    
    
  
On Wed, 13 May 2009, Andrew Morton wrote:
> On Tue, 28 Apr 2009 09:24:53 +0200 (CEST)
> Geert Uytterhoeven <Geert.Uytterhoeven at sonycom.com> wrote:
> > On Tue, 28 Apr 2009, Stephen Rothwell wrote:
> > > On Mon, 27 Apr 2009 14:50:31 -0700 Andrew Morton <akpm at linux-foundation.org> wrote:
> > > > powerpc allmodconfig, current mainline:
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> > > > 
> > > > drivers/video/logo/logo_linux_mono.c:11: error: logo_linux_mono_data causes a section type conflict
> > > > 
> > > > switching it from __initconst to __initdata "fixes" it.
> > > 
> > > Interesting.  The program that generates the .c file above produces
> > > __initdata for me ...
> > 
> > I assume Andrew once built in that tree using the recent logo patches that
> >   1. Makes the logos const and switch them from __initdata to __initconst,
> >   2. Fix the missing dependency of the generated files on the generator program.
> > Hence if you revert the logo patches, you have to manually remove the generated
> > files.
> > 
> > Is my assumption correct?
> 
> Nope - mrproper removes every .c file from drivers/video/logo/ apart
> from logo.c
> 
> 
> 
> The failure is caused by your fbdev-move-logo-externs-to-header-file.patch.
Which is not in current mainline, so the above reference was incorrectly
fueling my assumption?
> Without that patch, drivers/video/logo/logo_linux_mono.c is generated as
> 
> 	static unsigned char logo_linux_mono_data[] __initdata = {
> 	
> and with that patch, drivers/video/logo/logo_linux_mono.c is generated as
> 
> 	static const unsigned char logo_linux_mono_data[] __initconst = {
> 
> and it's the switch from __initdata to __initconst which causes this
> section conflict in my setup.
But logo_linux_mono_data is referenced by 
    const struct linux_logo logo_linux_mono __initconst = { 
	    .type           = LINUX_LOGO_MONO,
	    .width          = 80,
	    .height         = 80,
	    .data           = logo_linux_mono_data
    };      
only, which is also __initconst? Where does the section type conflict come
from?
With kind regards,
Geert Uytterhoeven
Software Architect
Techsoft Centre
Technology and Software Centre Europe
The Corporate Village · Da Vincilaan 7-D1 · B-1935 Zaventem · Belgium
Phone:    +32 (0)2 700 8453
Fax:      +32 (0)2 700 8622
E-mail:   Geert.Uytterhoeven at sonycom.com
Internet: http://www.sony-europe.com/
A division of Sony Europe (Belgium) N.V.
VAT BE 0413.825.160 · RPR Brussels
Fortis · BIC GEBABEBB · IBAN BE41293037680010
    
    
More information about the Linuxppc-dev
mailing list