On Tue, Nov 26, 2024 at 09:28:19PM +0800, Tiezhu Yang wrote:
+ /* Handle the special cases compiled with Clang on LoongArch */
+ if (file->elf->ehdr.e_machine == EM_LOONGARCH &&
+ reloc->sym->type == STT_SECTION && reloc != table &&
+ reloc_offset(reloc) == reloc_offset(table) + rodata_table_size)
+ break;
I think it can be generic, like this:
/* Check for the end of the table: */
if (reloc != table && reloc == next_table)
break;
if (reloc != table &&
reloc_offset(reloc) == reloc_offset(table) +
rodata_table_size)
break;
What do you think?
I'm not sure, this patch is hard to review because it uses
insn->table_size which doesn't get set until the next patch.
Maybe this patch should come after patches 7 & 8, or maybe they should
be squashed?