Because the binutils of the loongarch architecture adds relaxation support [1], the next version of binutils will not be able to build grub.
So we added the R_LARCH_B16, R_LARCH_B21 and R_LARCH_RELAX relocations to enhance grub compatibility. [1]: https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=56576f4a722b7398d35802ecf7d4185c27d6d69b v1->v2: - split patch - drop cast code Xiaotian Wu (5): Use the correct format specifier for formatted output loongarch: Optimize code using pc variable loongarch: Rename function names loongarch: Add ELF relocation types documentation and comments loongarch: Add relaxation support grub-core/kern/arm64/dl_helper.c | 4 +- grub-core/kern/loongarch64/dl.c | 21 +++++++- grub-core/kern/loongarch64/dl_helper.c | 72 ++++++++++++++++++++++++-- include/grub/elf.h | 3 ++ include/grub/loongarch64/reloc.h | 6 ++- util/grub-mkimagexx.c | 28 ++++++++-- util/grub-module-verifier.c | 3 ++ 7 files changed, 124 insertions(+), 13 deletions(-) -- 2.20.1 _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel