From: Randy Dunlap <randy.dunlap at oracle.com> Fix section mismatch warnings: set_phys_range_identity() is called by __init xen_set_identity(), so also mark set_phys_range_identity() as __init. then: __early_alloc_p2m() is called set_phys_range_identity(), so also mark __early_alloc_p2m() as __init. WARNING: arch/x86/built-in.o(.text+0x7856): Section mismatch in reference from the function __early_alloc_p2m() to the function .init.text:extend_brk() The function __early_alloc_p2m() references the function __init extend_brk(). This is often because __early_alloc_p2m lacks a __init annotation or the annotation of extend_brk is wrong. WARNING: arch/x86/built-in.o(.text+0x7967): Section mismatch in reference from the function set_phys_range_identity() to the function .init.text:extend_brk() The function set_phys_range_identity() references the function __init extend_brk(). This is often because set_phys_range_identity lacks a __init annotation or the annotation of extend_brk is wrong. Signed-off-by: Randy Dunlap <randy.dunlap at oracle.com> --- arch/x86/xen/p2m.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) --- linux-2.6.38-git13.orig/arch/x86/xen/p2m.c +++ linux-2.6.38-git13/arch/x86/xen/p2m.c @@ -497,7 +497,7 @@ static bool alloc_p2m(unsigned long pfn) return true; } -bool __early_alloc_p2m(unsigned long pfn) +bool __init __early_alloc_p2m(unsigned long pfn) { unsigned topidx, mididx, idx; @@ -530,7 +530,7 @@ bool __early_alloc_p2m(unsigned long pfn } return idx != 0; } -unsigned long set_phys_range_identity(unsigned long pfn_s, +unsigned long __init set_phys_range_identity(unsigned long pfn_s, unsigned long pfn_e) { unsigned long pfn;
On Thu, 24 Mar 2011 13:34:32 -0700 Randy Dunlap <randy.dunlap at oracle.com> wrote:> From: Randy Dunlap <randy.dunlap at oracle.com> > > Fix section mismatch warnings: > set_phys_range_identity() is called by __init xen_set_identity(), > so also mark set_phys_range_identity() as __init. > then: > __early_alloc_p2m() is called set_phys_range_identity(), so also mark > __early_alloc_p2m() as __init. > > WARNING: arch/x86/built-in.o(.text+0x7856): Section mismatch in reference from the function __early_alloc_p2m() to the function .init.text:extend_brk() > The function __early_alloc_p2m() references > the function __init extend_brk(). > This is often because __early_alloc_p2m lacks a __init > annotation or the annotation of extend_brk is wrong. > > WARNING: arch/x86/built-in.o(.text+0x7967): Section mismatch in reference from the function set_phys_range_identity() to the function .init.text:extend_brk() > The function set_phys_range_identity() references > the function __init extend_brk(). > This is often because set_phys_range_identity lacks a __init > annotation or the annotation of extend_brk is wrong. > > Signed-off-by: Randy Dunlap <randy.dunlap at oracle.com> > --- > arch/x86/xen/p2m.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > --- linux-2.6.38-git13.orig/arch/x86/xen/p2m.c > +++ linux-2.6.38-git13/arch/x86/xen/p2m.c > @@ -497,7 +497,7 @@ static bool alloc_p2m(unsigned long pfn) > return true; > } > > -bool __early_alloc_p2m(unsigned long pfn) > +bool __init __early_alloc_p2m(unsigned long pfn)__early_alloc_p2m could be static as well. --
Konrad Rzeszutek Wilk
2011-Mar-25 15:06 UTC
[Xen-devel] Re: [PATCH] xen: fix p2m section mismatches
On Thu, Mar 24, 2011 at 02:48:02PM -0700, Stephen Hemminger wrote:> On Thu, 24 Mar 2011 13:34:32 -0700 > Randy Dunlap <randy.dunlap at oracle.com> wrote: > > > From: Randy Dunlap <randy.dunlap at oracle.com> > > > > Fix section mismatch warnings: > > set_phys_range_identity() is called by __init xen_set_identity(), > > so also mark set_phys_range_identity() as __init. > > then: > > __early_alloc_p2m() is called set_phys_range_identity(), so also mark > > __early_alloc_p2m() as __init. > > > > WARNING: arch/x86/built-in.o(.text+0x7856): Section mismatch in reference from the function __early_alloc_p2m() to the function .init.text:extend_brk() > > The function __early_alloc_p2m() references > > the function __init extend_brk(). > > This is often because __early_alloc_p2m lacks a __init > > annotation or the annotation of extend_brk is wrong. > > > > WARNING: arch/x86/built-in.o(.text+0x7967): Section mismatch in reference from the function set_phys_range_identity() to the function .init.text:extend_brk() > > The function set_phys_range_identity() references > > the function __init extend_brk(). > > This is often because set_phys_range_identity lacks a __init > > annotation or the annotation of extend_brk is wrong. > > > > Signed-off-by: Randy Dunlap <randy.dunlap at oracle.com> > > --- > > arch/x86/xen/p2m.c | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > --- linux-2.6.38-git13.orig/arch/x86/xen/p2m.c > > +++ linux-2.6.38-git13/arch/x86/xen/p2m.c > > @@ -497,7 +497,7 @@ static bool alloc_p2m(unsigned long pfn) > > return true; > > } > > > > -bool __early_alloc_p2m(unsigned long pfn) > > +bool __init __early_alloc_p2m(unsigned long pfn) > > __early_alloc_p2m could be static as well.<nods> Let me queue it up for rc1. Thanks guys.