Re: [arnd-playground:randconfig-5.3-rc2 32/347] fs/reiserfs/prints.o: warning: objtool: __reiserfs_error()+0x80: unreachable instruction

From: Josh Poimboeuf
Date: Fri Aug 09 2019 - 11:53:34 EST


On Thu, Aug 08, 2019 at 10:45:34PM +0200, Arnd Bergmann wrote:
> On Thu, Aug 8, 2019 at 9:06 PM kbuild test robot <lkp@xxxxxxxxx> wrote:
> >
> > tree: https://kernel.googlesource.com/pub/scm/linux/kernel/git/arnd/playground.git randconfig-5.3-rc2
> > head: bfe9aede7372c8310a9bf31963460c9dd11d1f82
> > commit: 97919a3ec80e9841c4bbac14a80e8b9d482666d4 [32/347] [SUBMITTED 20190718] reiserfs: fix code unwinding with clang
> > config: x86_64-lkp (attached as .config)
> > compiler: gcc-7 (Debian 7.4.0-10) 7.4.0
> > reproduce:
> > git checkout 97919a3ec80e9841c4bbac14a80e8b9d482666d4
> > # save the attached .config to linux build tree
> > make ARCH=x86_64
> >
> > If you fix the issue, kindly add following tag
> > Reported-by: kbuild test robot <lkp@xxxxxxxxx>
> >
> > All warnings (new ones prefixed by >>):
> >
> > >> fs/reiserfs/namei.o: warning: objtool: entry_points_to_object()+0x117: unreachable instruction
> > --
> > >> fs/reiserfs/do_balan.o: warning: objtool: get_FEB()+0x55: unreachable instruction
> > >> fs/reiserfs/prints.o: warning: objtool: __reiserfs_error()+0x80: unreachable instruction
> > >> fs/reiserfs/lbalance.o: warning: objtool: leaf_move_items()+0x210: unreachable instruction
> > >> fs/reiserfs/fix_node.o: warning: objtool: create_virtual_node()+0x295: unreachable instruction
> > >> fs/reiserfs/inode.o: warning: objtool: reiserfs_update_sd_size()+0x26b: unreachable instruction
> > >> fs/reiserfs/ibalance.o: warning: objtool: balance_internal()+0x30d: unreachable instruction
> > >> fs/reiserfs/stree.o: warning: objtool: reiserfs_cut_from_item()+0x239: unreachable instruction
> > >> fs/reiserfs/tail_conversion.o: warning: objtool: direct2indirect()+0x29c: unreachable instruction
> > >> fs/reiserfs/item_ops.o: warning: objtool: direntry_check_left()+0x5d: unreachable instruction
> > >> fs/reiserfs/journal.o: warning: objtool: flush_commit_list()+0x552: unreachable instruction
>
> Great fun. The patch I did was my workaround for a related problem with clang,
> see below.
>
> Josh, is this warning above something you are interested in? I don't
> think it happens in mainline, but it could happen anywhere. I think
> the patch below can be dropped once clang is fixed, but I have so far
> been unable to build a new compiler for testing.

>From a brief glance I think you need to remove __reiserfs_panic from
objtool's global_noreturns[] array.

--
Josh