[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200518225325.is5ojipcc5uq5y5n@treble>
Date: Mon, 18 May 2020 17:53:25 -0500
From: Josh Poimboeuf <jpoimboe@...hat.com>
To: Arnd Bergmann <arnd@...db.de>
Cc: Peter Zijlstra <peterz@...radead.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
clang-built-linux <clang-built-linux@...glegroups.com>
Subject: Re: objtool warning breaks build for fs/dlm/lock.o
On Mon, May 18, 2020 at 09:57:50PM +0200, Arnd Bergmann wrote:
> On Fri, May 8, 2020 at 1:29 AM Josh Poimboeuf <jpoimboe@...hat.com> wrote:
> >
> > On Wed, May 06, 2020 at 04:07:25PM +0200, Arnd Bergmann wrote:
> > > Hi,
> > >
> > > During randconfig testing with clang-10 I came across a number
> > > of additional objtool warnings, I'll send another mail about those
> > > when I have collected more information and some object files.
> > >
> > > This one sticks out however, as objtool returns an error code that
> > > stops the build:
> >
> > > fs/dlm/lock.o: warning: objtool: __receive_convert_reply()+0x1e5: can't find jump dest instruction at .text+0xcaa7
> >
> > Thanks for sending the patch for this one. Objtool always gets confused
> > by new compiler versions, I really think we need to revert
> >
> > 644592d32837 ("objtool: Fail the kernel build on fatal errors")
> >
> > because objtool is never going to be reliable enough such that we can be
> > confident that failing the build is the right thing to do.
>
> I'm now struggling with a clang -fintegrated-as related failure:
>
> arch/x86/kernel/ftrace_64.o: warning: objtool: missing symbol for insn at offset 0x16
> make[4]: *** [/git/arm-soc/scripts/Makefile.build:355:
> arch/x86/kernel/ftrace_64.o] Error 255
>
> Using this as a local workaround, but I'd like to find out if this is a bug
> in clang or in objtool:
It seems like an objtool bug, though at first glance I don't know where
exactly. It could be a problem with the rb-tree stuff Peter added
recently.
That instruction should be part of the __fentry__ function:
4: 0000000000000000 165 FUNC GLOBAL DEFAULT 3 __fentry__
So find_symbol_containing() should associate it with __fentry__.
--
Josh
Powered by blists - more mailing lists