Subject: Re: linux-next: build warnings after merge of the kbuild tree

From: Stephen Rothwell <[email-masked]>
Date: Fri, 19 Aug 2016 15:09:14 +1000

Hi Nick,

On Fri, 19 Aug 2016 13:38:54 +1000 Stephen Rothwell <[email-masked]> wrote:
>
> On Thu, 18 Aug 2016 11:09:48 +1000 Nicholas Piggin <[email-masked]> wrote:
> >
> > On Wed, 17 Aug 2016 14:59:59 +0200
> > Michal Marek <[email-masked]> wrote:
> >   
> > > On 2016-08-17 03:44, Stephen Rothwell wrote:    
> > > > 
> > > > After merging the kbuild tree, today's linux-next build (powerpc
> > > > ppc64_defconfig) produced these warnings:
> > > > 
> > > > WARNING: 25 bad relocations
> > > > c000000000cf2570 R_PPC64_ADDR64    __crc___arch_hweight16      
> > > [...]    
> > > > Introduced by commit
> > > > 
> > > >   9445aa1a3062 ("ppc: move exports to definitions")
> > > > 
> > > > I have reverted that commit for today.
> > > > 
> > > > [cc-ing the ppc guys for clues - also involved is commit
> > > > 
> > > >   22823ab419d8 ("EXPORT_SYMBOL() for asm")
> > > > ]      
> > > 
> > > FWIW, I see these warnings as well. Any help from ppc developers is
> > > appreciated - should the R_PPC64_ADDR64 be whitelisted for exported asm
> > > symbols (their CRCs actually)?    
> > 
> > The dangling relocation is a side effect of linker unable to resolve the
> > reference to the undefined weak symbols. So the real question is, why has
> > genksyms not overridden these symbols with their CRC values?
> > 
> > This may not even be powerpc specific, but  I'll poke at it a bit more
> > when I get a chance.  
> 
> Not sure if this is relevant, but with the commit reverted, the
> __crc___... symbols are absolute.
> 
> 00000000f55b3b3d A __crc___arch_hweight16

Ignore that :-)

I just had a look at a x86_64 allmodconfig result and it looks like the
weak symbols are not resolved their either ...

I may be missing something, but genksyms generates the crc's off the
preprocessed C source code and we don't have any for the asm files ...
-- 
Cheers,
Stephen Rothwell