Thread (8 messages) 8 messages, 4 authors, 2009-05-26

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

From: Geert Uytterhoeven <hidden>
Date: 2009-05-26 11:52:36

	Hi Andrew,

On Thu, 14 May 2009, Geert Uytterhoeven wrote:
On Wed, 13 May 2009, Andrew Morton wrote:
quoted
On Tue, 28 Apr 2009 09:24:53 +0200 (CEST)
Geert Uytterhoeven [off-list ref] wrote:
quoted
On Tue, 28 Apr 2009, Stephen Rothwell wrote:
quoted
On Mon, 27 Apr 2009 14:50:31 -0700 Andrew Morton [off-list ref] wrote:
quoted
powerpc allmodconfig, current mainline:
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
quoted
quoted
quoted
quoted
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?
quoted
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?
Do you have any follow-up info on this one?

Thx!

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@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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help