All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nicholas Piggin <npiggin@gmail.com>
To: Michal Marek <mmarek@suse.cz>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>,
	linux-next@vger.kernel.org,
	PowerPC <linuxppc-dev@lists.ozlabs.org>,
	linux-kernel@vger.kernel.org, Al Viro <viro@zeniv.linux.org.uk>
Subject: Re: linux-next: build warnings after merge of the kbuild tree
Date: Fri, 19 Aug 2016 20:44:55 +1000	[thread overview]
Message-ID: <20160819204455.6351ffb8@roar.ozlabs.ibm.com> (raw)
In-Reply-To: <5babe9ef-0e3d-6975-9ba4-9a29a700b24d@suse.cz>

On Fri, 19 Aug 2016 10:37:00 +0200
Michal Marek <mmarek@suse.cz> wrote:

> On 2016-08-19 07:09, Stephen Rothwell wrote:
> > Hi Nick,
> > 
> > On Fri, 19 Aug 2016 13:38:54 +1000 Stephen Rothwell <sfr@canb.auug.org.au> wrote:  
> >>
> >> On Thu, 18 Aug 2016 11:09:48 +1000 Nicholas Piggin <npiggin@gmail.com> wrote:  
> >>>
> >>> On Wed, 17 Aug 2016 14:59:59 +0200
> >>> Michal Marek <mmarek@suse.cz> 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 ...  
> 
> Of course you are right. Which means that we are losing type information
> for these exports for CONFIG_MODVERSIONS purposes. I guess it's
> acceptable, since the asm functions are pretty basic and their
> signatures do not change.

I don't completely agree. It would be nice to have the functionality
still there.

What happens if you just run cmd_modversions on the as rule? It relies on
!defined(__ASSEMBLY__), but we're feeding the result to genksyms, not as.
It would require the header be included in the .S file and be protected for
asm builds.

Stephen wasn't a fan of suck a hack and I can't say I blame him. Another
possibility I suppose is an EXPORT_SYMBOL_ASM() variant that takes string
containing C function declaration and just inserts it as an assembler
comment somewhere that genksysms can find.


Thanks,
Nick

WARNING: multiple messages have this Message-ID (diff)
From: Nicholas Piggin <npiggin@gmail.com>
To: Michal Marek <mmarek@suse.cz>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>,
	linux-kernel@vger.kernel.org, linux-next@vger.kernel.org,
	Al Viro <viro@zeniv.linux.org.uk>,
	PowerPC <linuxppc-dev@lists.ozlabs.org>
Subject: Re: linux-next: build warnings after merge of the kbuild tree
Date: Fri, 19 Aug 2016 20:44:55 +1000	[thread overview]
Message-ID: <20160819204455.6351ffb8@roar.ozlabs.ibm.com> (raw)
In-Reply-To: <5babe9ef-0e3d-6975-9ba4-9a29a700b24d@suse.cz>

On Fri, 19 Aug 2016 10:37:00 +0200
Michal Marek <mmarek@suse.cz> wrote:

> On 2016-08-19 07:09, Stephen Rothwell wrote:
> > Hi Nick,
> > 
> > On Fri, 19 Aug 2016 13:38:54 +1000 Stephen Rothwell <sfr@canb.auug.org.au> wrote:  
> >>
> >> On Thu, 18 Aug 2016 11:09:48 +1000 Nicholas Piggin <npiggin@gmail.com> wrote:  
> >>>
> >>> On Wed, 17 Aug 2016 14:59:59 +0200
> >>> Michal Marek <mmarek@suse.cz> 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 ...  
> 
> Of course you are right. Which means that we are losing type information
> for these exports for CONFIG_MODVERSIONS purposes. I guess it's
> acceptable, since the asm functions are pretty basic and their
> signatures do not change.

I don't completely agree. It would be nice to have the functionality
still there.

What happens if you just run cmd_modversions on the as rule? It relies on
!defined(__ASSEMBLY__), but we're feeding the result to genksyms, not as.
It would require the header be included in the .S file and be protected for
asm builds.

Stephen wasn't a fan of suck a hack and I can't say I blame him. Another
possibility I suppose is an EXPORT_SYMBOL_ASM() variant that takes string
containing C function declaration and just inserts it as an assembler
comment somewhere that genksysms can find.


Thanks,
Nick

  reply	other threads:[~2016-08-19 10:44 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-17  1:44 linux-next: build warnings after merge of the kbuild tree Stephen Rothwell
2016-08-17 12:59 ` Michal Marek
2016-08-18  1:09   ` Nicholas Piggin
2016-08-19  3:38     ` Stephen Rothwell
2016-08-19  3:38       ` Stephen Rothwell
2016-08-19  5:09       ` Stephen Rothwell
2016-08-19  5:09         ` Stephen Rothwell
2016-08-19  5:32         ` Nicholas Piggin
2016-08-19  8:37         ` Michal Marek
2016-08-19 10:44           ` Nicholas Piggin [this message]
2016-08-19 10:44             ` Nicholas Piggin
2016-08-22 10:47             ` Nicholas Piggin
2016-08-26  3:58               ` Nicholas Piggin
2016-08-26  3:58                 ` Nicholas Piggin
2016-08-26  6:21                 ` Nicholas Mc Guire
  -- strict thread matches above, loose matches on Subject: below --
2022-06-01 23:28 Stephen Rothwell
2019-09-04  0:13 Stephen Rothwell
2019-09-04  0:13 ` Stephen Rothwell
2019-09-04  1:00 ` Masahiro Yamada
2019-09-04  1:00   ` Masahiro Yamada
2019-09-04  6:22   ` Masahiro Yamada
2019-09-04  6:22     ` Masahiro Yamada
2019-09-04 12:33     ` Stephen Rothwell
2019-09-04 12:33       ` Stephen Rothwell
2019-09-04 12:32   ` Stephen Rothwell
2019-09-04 12:32     ` Stephen Rothwell
2018-05-30 22:40 Stephen Rothwell
2018-05-31  1:12 ` Masahiro Yamada
2018-05-31  1:26   ` Kees Cook
2018-05-31  3:53     ` Kees Cook
2018-06-01  1:56       ` Masahiro Yamada
2018-06-01  4:01         ` Kees Cook
2018-06-02 20:39           ` Arnd Bergmann
2018-06-04  8:39             ` Arnd Bergmann
2017-07-19  0:05 Stephen Rothwell
2016-06-09  2:22 Stephen Rothwell
2016-06-09  2:56 ` Kees Cook
2016-06-09  4:05   ` Stephen Rothwell
2016-06-09 10:57     ` Michal Marek
2016-06-09 17:37       ` Emese Revfy
2016-06-09 17:58         ` Kees Cook
2016-06-09 11:10     ` Michael Ellerman
2016-06-09 17:42 ` Emese Revfy

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160819204455.6351ffb8@roar.ozlabs.ibm.com \
    --to=npiggin@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-next@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=mmarek@suse.cz \
    --cc=sfr@canb.auug.org.au \
    --cc=viro@zeniv.linux.org.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.