Subject: Re: linux-next: Tree for Dec 7 (kallsyms failure)

From: Nicholas Piggin <[email-masked]>
Date: Thu, 8 Dec 2016 15:07:51 +1000

On Thu, 8 Dec 2016 15:29:35 +1100
Stephen Rothwell <[email-masked]> wrote:

> Hi all,
> 
> On Wed, 7 Dec 2016 18:30:57 -0800 Randy Dunlap <[email-masked]> wrote:
> >
> > On 12/07/16 15:56, Stephen Rothwell wrote:  
> > > 
> > > On Wed, 7 Dec 2016 15:42:32 -0800 Randy Dunlap <[email-masked]> wrote:    
> > >>
> > >> I started seeing this yesterday (2016-1206).
> > >> This is on x86_64.
> > >>
> > >> Anybody know about it?
> > >>
> > >> kallsyms failure: relative symbol value 0xffffffff81000000 out of range in relative mode    
> > > 
> > > I got a similar failure starting a few days ago on my powerpc
> > > allyesconfig build.  I was assuming that it was PowerPC specific, but
> > > noone has found a cause yet.
> > >     
> > 
> > It may just be an invalid randconfig.  I modified scripts/kallsyms.c and
> > I see this message:
> > kallsyms failure: relative symbol value 0xffffffff81000000 [symbol: Tstartup_64] out of range in relative mode
> > 
> > and it makes sense that startup_64 would (or could) be at 0xffffffff81000000...
> > especially since CONFIG_PHYSICAL_START=0x1000000 and
> > (from Documentation/x86/x86_64/mm.txt)
> > ffffffff80000000 - ffffffff9fffffff (=512 MB)  kernel text mapping, from phys 0
> > 
> > 
> > Ard, what do you think about this?  
> 
> The similar failure I saw in the powerpc allyesconfig build
> 
> kallsyms failure: relative symbol value 0xc000000000000000 out of range in relative mode
> 
> was caused by commit
> 
>   8ab2ae655bfe ("default exported asm symbols to zero")
> 
> which has been reverted in Linus' tree today.
> 

Huh, so it seems like the explicit 0 symbols were being picked up as the
kallsyms relative base, putting the 0xc... symbols beyond reach.