Subject: Re: drivers/video/logo/logo_linux_mono.c build error

From: Andrew Morton <[email-masked]>
Date: Wed, 13 May 2009 15:44:15 -0700

On Tue, 28 Apr 2009 09:24:53 +0200 (CEST)
Geert Uytterhoeven <[email-masked]> wrote:

> On Tue, 28 Apr 2009, Stephen Rothwell wrote:
> > On Mon, 27 Apr 2009 14:50:31 -0700 Andrew Morton <[email-masked]> 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.

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.