A working grub cannot be built with upcoming binutils and gcc, because linker
relaxation was added [1] causing new unsupported relocations to appear in 
modules.

So we pass -mno-relax to gcc if it is supported, to disable relaxation and make
grub forward-compatible with new toolchains.

[1]: 
https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=56576f4a722b7398d35802ecf7d4185c27d6d69b

v3->v4:
- rebase on the latest master branch
- check "-mno-relax" and "-Wa,-mno-relax"

v2->v3:
- Use the -mno-relax cflags for gcc

v1->v2:
- split patch
- drop cast code


Xiaotian Wu (1):
  loongarch: disable relaxation relocations

 configure.ac | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

-- 
2.40.1


_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to