On Wed, Jun 22, 2016 at 03:05:35PM +0200, Arnd Bergmann wrote:
> On Wednesday, June 22, 2016 2:50:13 PM CEST Thierry Reding wrote:
> > 
> > Not enough information to check signature validity.
> > On Wed, Jun 22, 2016 at 02:39:41PM +0200, Arnd Bergmann wrote:
> > > In a configuration that enables CONFIG_UBSAN_SANITIZE_ALL, I am getting
> > > a section mismatch warning for tegra20:
> > > 
> > > WARNING: arch/arm/mach-tegra/built-in.o(.data+0x6e0): Section mismatch in 
> > > reference from the variable board_init_funcs to the function 
> > > .init.text:paz00_init()
> > > 
> > > The array is no longer useful here since there is only one entry,
> > > so we can simply call the function directly after checking
> > > of_machine_is_compatible(). This fixes the section mismatch
> > > and is easier to read.
> > > 
> > > Signed-off-by: Arnd Bergmann <[email protected]>
> > > ---
> > >  arch/arm/mach-tegra/tegra.c | 24 +++---------------------
> > >  1 file changed, 3 insertions(+), 21 deletions(-)
> > 
> > Shouldn't these section mismatches show up with default builds? I
> > haven't seen any when building Tegra configurations.
> > 
> > I'm going to apply this patch because I think it's useful, but it sure
> > would be nice to know why I need to enable this new UBSAN stuff to get
> > these warnings now.
> 
> It depends on the how aggressive the inlining works. Without UBSAN,
> gcc seems to completely optimze away the loop and just the function
> directly, which it can do because 'board_init_funcs' is static.
> 
> I assume that the UBSAN object overflow check has the effect of
> not dropping the symbol so it can check the size.

Ah, I see. Thanks.

Thierry

Attachment: signature.asc
Description: PGP signature

Reply via email to