* ppc modprost warnings in 2.6.22-rc1 @ 2007-05-14 14:20 Meelis Roos 2007-05-15 20:45 ` Sam Ravnborg 0 siblings, 1 reply; 9+ messages in thread From: Meelis Roos @ 2007-05-14 14:20 UTC (permalink / raw) To: Linux Kernel list Trying to compile 2.6.22-rc1 for ppc (prep) arch. While section mismatches are an old thing, what are these COMMON symbols? MODPOST vmlinux WARNING: "fee_restarts" [arch/ppc/kernel/built-in] is COMMON symbol WARNING: "ee_restarts" [arch/ppc/kernel/built-in] is COMMON symbol WARNING: arch/ppc/platforms/built-in.o - Section mismatch: reference to .init.text:Powerplus_Map_Non0 from .data between 'mot_info' (at offset 0x18) and 'Mesquite_pci_IRQ_map' WARNING: arch/ppc/platforms/built-in.o - Section mismatch: reference to .init.text:Powerplus_Map_Non0 from .data between 'mot_info' (at offset 0x3c) and 'Mesquite_pci_IRQ_map' WARNING: arch/ppc/platforms/built-in.o - Section mismatch: reference to .init.text:Powerplus_Map_Non0 from .data between 'mot_info' (at offset 0x114) and 'Mesquite_pci_IRQ_map' WARNING: arch/ppc/platforms/built-in.o - Section mismatch: reference to .init.text:Powerplus_Map_Non0 from .data between 'mot_info' (at offset 0x138) and 'Mesquite_pci_IRQ_map' WARNING: arch/ppc/platforms/built-in.o - Section mismatch: reference to .init.text:Powerplus_Map_Non0 from .data between 'mot_info' (at offset 0x15c) and 'Mesquite_pci_IRQ_map' WARNING: arch/ppc/platforms/built-in.o - Section mismatch: reference to .init.text:Powerplus_Map_Non0 from .data between 'mot_info' (at offset 0x180) and 'Mesquite_pci_IRQ_map' WARNING: arch/ppc/platforms/built-in.o - Section mismatch: reference to .init.text:Powerplus_Map_Non0 from .data between 'mot_info' (at offset 0x1a4) and 'Mesquite_pci_IRQ_map' WARNING: arch/ppc/platforms/built-in.o - Section mismatch: reference to .init.text:Powerplus_Map_Non0 from .data between 'mot_info' (at offset 0x1c8) and 'Mesquite_pci_IRQ_map' WARNING: arch/ppc/platforms/built-in.o - Section mismatch: reference to .init.text:Powerplus_Map_Non0 from .data between 'mot_info' (at offset 0x1ec) and 'Mesquite_pci_IRQ_map' WARNING: arch/ppc/platforms/built-in.o - Section mismatch: reference to .init.text:Powerplus_Map_Non0 from .data between 'mot_info' (at offset 0x210) and 'Mesquite_pci_IRQ_map' WARNING: arch/ppc/platforms/built-in.o - Section mismatch: reference to .init.text:Powerplus_Map_Non0 from .data between 'mot_info' (at offset 0x234) and 'Mesquite_pci_IRQ_map' WARNING: arch/ppc/platforms/built-in.o - Section mismatch: reference to .init.text:Powerplus_Map_Non0 from .data between 'mot_info' (at offset 0x258) and 'Mesquite_pci_IRQ_map' WARNING: arch/ppc/platforms/built-in.o - Section mismatch: reference to .init.text:Powerplus_Map_Non0 from .data between 'mot_info' (at offset 0x27c) and 'Mesquite_pci_IRQ_map' WARNING: arch/ppc/platforms/built-in.o - Section mismatch: reference to .init.text:Powerplus_Map_Non0 from .data between 'mot_info' (at offset 0x2a0) and 'Mesquite_pci_IRQ_map' WARNING: arch/ppc/platforms/built-in.o - Section mismatch: reference to .init.text:Powerplus_Map_Non0 from .data between 'mot_info' (at offset 0x2c4) and 'Mesquite_pci_IRQ_map' WARNING: arch/ppc/platforms/built-in.o - Section mismatch: reference to .init.text:Powerplus_Map_Non0 from .data between 'mot_info' (at offset 0x2e8) and 'Mesquite_pci_IRQ_map' WARNING: arch/ppc/platforms/built-in.o - Section mismatch: reference to .init.text:Powerplus_Map_Non0 from .data between 'mot_info' (at offset 0x30c) and 'Mesquite_pci_IRQ_map' WARNING: arch/ppc/platforms/built-in.o - Section mismatch: reference to .init.text:Powerplus_Map_Non0 from .data between 'mot_info' (at offset 0x330) and 'Mesquite_pci_IRQ_map' WARNING: arch/ppc/platforms/built-in.o - Section mismatch: reference to .init.text:Powerplus_Map_Non0 from .data between 'mot_info' (at offset 0x354) and 'Mesquite_pci_IRQ_map' WARNING: arch/ppc/platforms/built-in.o - Section mismatch: reference to .init.text:Powerplus_Map_Non0 from .data between 'mot_info' (at offset 0x378) and 'Mesquite_pci_IRQ_map' WARNING: "primary_pteg_full" [arch/ppc/mm/built-in] is COMMON symbol WARNING: "next_slot" [arch/ppc/mm/built-in] is COMMON symbol WARNING: "htab_hash_searches" [arch/ppc/mm/built-in] is COMMON symbol WARNING: arch/ppc/mm/built-in.o - Section mismatch: reference to .init.text:early_get_page from .text between 'pte_alloc_one_kernel' (at offset 0x1168) and 'hash_page' WARNING: mm/built-in.o - Section mismatch: reference to .init.text:set_up_list3s from .text between 'kmem_cache_create' (at offset 0x24208) and 'kmem_cache_shrink' WARNING: mm/built-in.o - Section mismatch: reference to .init.text:set_up_list3s from .text between 'kmem_cache_create' (at offset 0x24350) and 'kmem_cache_shrink' WARNING: lib/built-in: '__div64_32' exported twice. Previous export was in arch/ppc/kernel/built-in.ko -- Meelis Roos (mroos@linux.ee) ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: ppc modprost warnings in 2.6.22-rc1 2007-05-14 14:20 ppc modprost warnings in 2.6.22-rc1 Meelis Roos @ 2007-05-15 20:45 ` Sam Ravnborg 2007-05-30 13:55 ` Meelis Roos 0 siblings, 1 reply; 9+ messages in thread From: Sam Ravnborg @ 2007-05-15 20:45 UTC (permalink / raw) To: Meelis Roos; +Cc: Linux Kernel list On Mon, May 14, 2007 at 05:20:20PM +0300, Meelis Roos wrote: > Trying to compile 2.6.22-rc1 for ppc (prep) arch. While section > mismatches are an old thing, what are these COMMON symbols? > > MODPOST vmlinux > WARNING: "fee_restarts" [arch/ppc/kernel/built-in] is COMMON symbol > WARNING: "ee_restarts" [arch/ppc/kernel/built-in] is COMMON symbol Symbols that modpst see belongs to SHN_COMMON. Should we drop that warning? > WARNING: arch/ppc/platforms/built-in.o - Section mismatch: reference to .init.text:Powerplus_Map_Non0 from .data between 'mot_info' (at offset 0x18) and 'Mesquite_pci_IRQ_map' ..... mot_info is only used by functions marked __init. So why not mark it __init so it get discarded and we get rid of all those warnings? Sam ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: ppc modprost warnings in 2.6.22-rc1 2007-05-15 20:45 ` Sam Ravnborg @ 2007-05-30 13:55 ` Meelis Roos 2007-05-30 14:58 ` Satyam Sharma 2007-05-30 15:14 ` Sam Ravnborg 0 siblings, 2 replies; 9+ messages in thread From: Meelis Roos @ 2007-05-30 13:55 UTC (permalink / raw) To: Sam Ravnborg; +Cc: Linux Kernel list > > WARNING: arch/ppc/platforms/built-in.o - Section mismatch: reference to .init.text:Powerplus_Map_Non0 from .data between 'mot_info' (at offset 0x18) and 'Mesquite_pci_IRQ_map' > ..... > > mot_info is only used by functions marked __init. > So why not mark it __init so it get discarded and we get rid of all those warnings? How do I mark a initialized struct __init? Adding __init or const __init in front of the declaration results in CC arch/ppc/platforms/prep_pci.o arch/ppc/platforms/prep_pci.c:806: error: mot_info causes a section type conflict -- Meelis Roos (mroos@linux.ee) ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: ppc modprost warnings in 2.6.22-rc1 2007-05-30 13:55 ` Meelis Roos @ 2007-05-30 14:58 ` Satyam Sharma 2007-05-30 16:14 ` [PATCH] [ppc] fix mot_info section Meelis Roos 2007-05-30 16:15 ` ppc modprost warnings in 2.6.22-rc1 Meelis Roos 2007-05-30 15:14 ` Sam Ravnborg 1 sibling, 2 replies; 9+ messages in thread From: Satyam Sharma @ 2007-05-30 14:58 UTC (permalink / raw) To: Meelis Roos; +Cc: Sam Ravnborg, Linux Kernel list Hi Meelis, On 5/30/07, Meelis Roos <mroos@linux.ee> wrote: > > > WARNING: arch/ppc/platforms/built-in.o - Section mismatch: reference to .init.text:Powerplus_Map_Non0 from .data between 'mot_info' (at offset 0x18) and 'Mesquite_pci_IRQ_map' > > ..... > > > > mot_info is only used by functions marked __init. > > So why not mark it __init so it get discarded and we get rid of all those warnings? > > How do I mark a initialized struct __init? Adding __init or const __init in > front of the declaration results in > > CC arch/ppc/platforms/prep_pci.o > arch/ppc/platforms/prep_pci.c:806: error: mot_info causes a section type conflict Data that is not accessed after initcalls are done (and hence can be safely freed after kernel boot) must be marked __initdata. Satyam ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH] [ppc] fix mot_info section 2007-05-30 14:58 ` Satyam Sharma @ 2007-05-30 16:14 ` Meelis Roos 2007-05-30 17:08 ` Sam Ravnborg 2007-05-30 16:15 ` ppc modprost warnings in 2.6.22-rc1 Meelis Roos 1 sibling, 1 reply; 9+ messages in thread From: Meelis Roos @ 2007-05-30 16:14 UTC (permalink / raw) Cc: Linux Kernel list The following patch makes mot_info __initdata since it is used only in __init functions. prep_pci.c change has been tested in real life on Motorola Powerstack II (compiles without modpost warnings and boots fine), pplus.c has not been tested but seems similar. Signed-off-by: Meelis Roos <mroos@linux.ee> diff --git a/arch/ppc/platforms/pplus.c b/arch/ppc/platforms/pplus.c index 8a1788c..9744108 100644 --- a/arch/ppc/platforms/pplus.c +++ b/arch/ppc/platforms/pplus.c @@ -256,7 +256,7 @@ struct brd_info { const char *name; int (*map_irq) (struct pci_dev *, unsigned char, unsigned char); }; -struct brd_info mot_info[] = { +__initdata struct brd_info mot_info[] = { {0x300, 0x00, 0x00, "MVME 2400", Genesis2_map_irq}, {0x1E0, 0xE0, 0x00, "Mesquite cPCI (MCP750)", mesquite_map_irq}, {0x1E0, 0xE1, 0x00, "Sitka cPCI (MCPN750)", sitka_map_irq}, diff --git a/arch/ppc/platforms/prep_pci.c b/arch/ppc/platforms/prep_pci.c index 1df3150..bdec1f1 100644 --- a/arch/ppc/platforms/prep_pci.c +++ b/arch/ppc/platforms/prep_pci.c @@ -792,7 +792,7 @@ raven_init(void) return 1; } -struct mot_info { +__initdata struct mot_info { int cpu_type; /* 0x100 mask assumes for Raven and Hawk boards that the level/edge are set */ /* 0x200 if this board has a Hawk chip. */ int base_type; -- Meelis Roos (mroos@linux.ee) ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH] [ppc] fix mot_info section 2007-05-30 16:14 ` [PATCH] [ppc] fix mot_info section Meelis Roos @ 2007-05-30 17:08 ` Sam Ravnborg 2007-05-30 17:23 ` Meelis Roos 0 siblings, 1 reply; 9+ messages in thread From: Sam Ravnborg @ 2007-05-30 17:08 UTC (permalink / raw) To: Meelis Roos Cc: "; no To-header on input" <""@mail.ravnborg.org>, Linux Kernel list On Wed, May 30, 2007 at 07:14:49PM +0300, Meelis Roos wrote: > The following patch makes mot_info __initdata since it is used only in > __init functions. prep_pci.c change has been tested in real life on > Motorola Powerstack II (compiles without modpost warnings and boots > fine), pplus.c has not been tested but seems similar. > > Signed-off-by: Meelis Roos <mroos@linux.ee> > > diff --git a/arch/ppc/platforms/pplus.c b/arch/ppc/platforms/pplus.c > index 8a1788c..9744108 100644 > --- a/arch/ppc/platforms/pplus.c > +++ b/arch/ppc/platforms/pplus.c > @@ -256,7 +256,7 @@ struct brd_info { > const char *name; > int (*map_irq) (struct pci_dev *, unsigned char, unsigned char); > }; > -struct brd_info mot_info[] = { > +__initdata struct brd_info mot_info[] = { > {0x300, 0x00, 0x00, "MVME 2400", Genesis2_map_irq}, > {0x1E0, 0xE0, 0x00, "Mesquite cPCI (MCP750)", mesquite_map_irq}, > {0x1E0, 0xE1, 0x00, "Sitka cPCI (MCPN750)", sitka_map_irq}, > diff --git a/arch/ppc/platforms/prep_pci.c b/arch/ppc/platforms/prep_pci.c > index 1df3150..bdec1f1 100644 > --- a/arch/ppc/platforms/prep_pci.c > +++ b/arch/ppc/platforms/prep_pci.c > @@ -792,7 +792,7 @@ raven_init(void) > return 1; > } > > -struct mot_info { > +__initdata struct mot_info { > int cpu_type; /* 0x100 mask assumes for Raven and Hawk boards that the level/edge are set */ > /* 0x200 if this board has a Hawk chip. */ > int base_type; The way you place __initdata is bogus. Please read following from init.h again: * For initialized data: * You should insert __initdata between the variable name and equal * sign followed by value, e.g.: * * static int init_variable __initdata = 0; * static char linux_logo[] __initdata = { 0x32, 0x36, ... }; If gcc happes to accept your placement does not make it correct. It is still bogus and unreadable. Sam ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] [ppc] fix mot_info section 2007-05-30 17:08 ` Sam Ravnborg @ 2007-05-30 17:23 ` Meelis Roos 0 siblings, 0 replies; 9+ messages in thread From: Meelis Roos @ 2007-05-30 17:23 UTC (permalink / raw) To: Sam Ravnborg; +Cc: Linux Kernel list, Satyam Sharma Thanks for the suggestions, here is updated patch: The following patch makes mot_info __initdata since it is used only in __init functions. prep_pci.c change has been tested in real life on Motorola Powerstack II (compiles without modpost warnings and boots fine), pplus.c has not been tested but seems similar. Signed-off-by: Meelis Roos <mroos@linux.ee> diff --git a/arch/ppc/platforms/pplus.c b/arch/ppc/platforms/pplus.c index 8a1788c..c569962 100644 --- a/arch/ppc/platforms/pplus.c +++ b/arch/ppc/platforms/pplus.c @@ -256,7 +256,7 @@ struct brd_info { const char *name; int (*map_irq) (struct pci_dev *, unsigned char, unsigned char); }; -struct brd_info mot_info[] = { +struct brd_info mot_info[] __initdata = { {0x300, 0x00, 0x00, "MVME 2400", Genesis2_map_irq}, {0x1E0, 0xE0, 0x00, "Mesquite cPCI (MCP750)", mesquite_map_irq}, {0x1E0, 0xE1, 0x00, "Sitka cPCI (MCPN750)", sitka_map_irq}, diff --git a/arch/ppc/platforms/prep_pci.c b/arch/ppc/platforms/prep_pci.c index 1df3150..d8c4e28 100644 --- a/arch/ppc/platforms/prep_pci.c +++ b/arch/ppc/platforms/prep_pci.c @@ -803,7 +803,7 @@ struct mot_info { void (*map_non0_bus)(struct pci_dev *); /* For boards with more than bus 0 devices. */ struct powerplus_irq_list *pci_irq_list; /* List of PCI MPIC inputs */ unsigned char secondary_bridge_devfn; /* devfn of secondary bus transparent bridge */ -} mot_info[] = { +} mot_info[] __initdata = { {0x300, 0x00, 0x00, "MVME 2400", Genesis2_pci_IRQ_map, Raven_pci_IRQ_routes, Powerplus_Map_Non0, &Powerplus_pci_IRQ_list, 0xFF}, {0x010, 0x00, 0x00, "Genesis", Genesis_pci_IRQ_map, Genesis_pci_IRQ_routes, Powerplus_Map_Non0, &Powerplus_pci_IRQ_list, 0x00}, {0x020, 0x00, 0x00, "Powerstack (Series E)", Comet_pci_IRQ_map, Comet_pci_IRQ_routes, NULL, NULL, 0x00}, -- Meelis Roos (mroos@linux.ee) ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: ppc modprost warnings in 2.6.22-rc1 2007-05-30 14:58 ` Satyam Sharma 2007-05-30 16:14 ` [PATCH] [ppc] fix mot_info section Meelis Roos @ 2007-05-30 16:15 ` Meelis Roos 1 sibling, 0 replies; 9+ messages in thread From: Meelis Roos @ 2007-05-30 16:15 UTC (permalink / raw) To: Satyam Sharma; +Cc: Sam Ravnborg, Linux Kernel list > Data that is not accessed after initcalls are done (and hence can be > safely freed after kernel boot) must be marked __initdata. Thanks, yes, I have known it quite a long time, seems like todays heat (around +30) is confusing me :( Patch sent separately to LKML. -- Meelis Roos (mroos@linux.ee) ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: ppc modprost warnings in 2.6.22-rc1 2007-05-30 13:55 ` Meelis Roos 2007-05-30 14:58 ` Satyam Sharma @ 2007-05-30 15:14 ` Sam Ravnborg 1 sibling, 0 replies; 9+ messages in thread From: Sam Ravnborg @ 2007-05-30 15:14 UTC (permalink / raw) To: Meelis Roos; +Cc: Linux Kernel list On Wed, May 30, 2007 at 04:55:30PM +0300, Meelis Roos wrote: > > > WARNING: arch/ppc/platforms/built-in.o - Section mismatch: reference to .init.text:Powerplus_Map_Non0 from .data between 'mot_info' (at offset 0x18) and 'Mesquite_pci_IRQ_map' > > ..... > > > > mot_info is only used by functions marked __init. > > So why not mark it __init so it get discarded and we get rid of all those warnings? > > How do I mark a initialized struct __init? Adding __init or const __init in > front of the declaration results in > > CC arch/ppc/platforms/prep_pci.o > arch/ppc/platforms/prep_pci.c:806: error: mot_info causes a section type conflict >From include/linux/init.h: * For initialized data: * You should insert __initdata between the variable name and equal * sign followed by value, e.g.: * * static int init_variable __initdata = 0; * static char linux_logo[] __initdata = { 0x32, 0x36, ... }; * * Don't forget to initialize data not at file scope, i.e. within a function, * as gcc otherwise puts the data into the bss section and not into the init * section. * * Also note, that this data cannot be "const". If you need more info we would need to update this comment. Sam ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2007-05-30 17:23 UTC | newest] Thread overview: 9+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2007-05-14 14:20 ppc modprost warnings in 2.6.22-rc1 Meelis Roos 2007-05-15 20:45 ` Sam Ravnborg 2007-05-30 13:55 ` Meelis Roos 2007-05-30 14:58 ` Satyam Sharma 2007-05-30 16:14 ` [PATCH] [ppc] fix mot_info section Meelis Roos 2007-05-30 17:08 ` Sam Ravnborg 2007-05-30 17:23 ` Meelis Roos 2007-05-30 16:15 ` ppc modprost warnings in 2.6.22-rc1 Meelis Roos 2007-05-30 15:14 ` Sam Ravnborg
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox