On Tue, Dec 17, 2024 at 09:09:00AM +0800, Tiezhu Yang wrote: > When compiling with Clang on LoongArch, there exists unreachable entry of > rodata which points to a position after the function return instruction, > this is generated by compiler to fill the non-existent switch case, just > skip the entry when parsing the relocation section of rodata. > > Signed-off-by: Tiezhu Yang <yangtiezhu@xxxxxxxxxxx> > --- > tools/objtool/check.c | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/tools/objtool/check.c b/tools/objtool/check.c > index cff7416b207e..654cffcf9512 100644 > --- a/tools/objtool/check.c > +++ b/tools/objtool/check.c > @@ -1986,9 +1986,10 @@ static int add_jump_table(struct objtool_file *file, struct instruction *insn, > if (!dest_insn) > break; > > - /* Make sure the destination is in the same function: */ > - if (!insn_func(dest_insn) || insn_func(dest_insn)->pfunc != pfunc) > - break; > + if (!insn_func(dest_insn) || insn_func(dest_insn)->pfunc != pfunc) { > + prev_offset = reloc_offset(reloc); > + continue; > + } This patch can be dropped, this is already fixed in the -tip tree: 3724062ca2b1 ("objtool: Ignore dangling jump table entries") -- Josh