Messages in this thread | | | Date | Mon, 18 May 2020 17:53:25 -0500 | From | Josh Poimboeuf <> | 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@redhat.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
| |