grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v2 0/5] loongarch: add relaxation support


From: Xi Ruoyao
Subject: Re: [PATCH v2 0/5] loongarch: add relaxation support
Date: Mon, 12 Jun 2023 06:35:41 +0800
User-agent: Evolution 3.48.3

On Wed, 2023-06-07 at 15:34 +0800, Xiaotian Wu wrote:
> 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.

Wouldn't it be easier to just pass -mno-relax to the toolchain when we
build GRUB?  I don't think it makes too much sense to perform relaxation
on a boot loader.  The boot loader is generally the coldest code paths
in a system, so relaxing it won't give any real benefit (well, if you
reboot a system 100 times you may finally save one second), but
increases the maintenance burden.

Consider a new relaxation pattern is added after we release GRUB 2.12. 
Then if we simply pass -mno-relax, GRUB 2.12 will continue to work.  But
if we try to "support" relaxation this way, every distro will have to
patch GRUB 2.12 when the toolchain is updated.

> [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(-)
> 

-- 
Xi Ruoyao <xry111@xry111.site>
School of Aerospace Science and Technology, Xidian University



reply via email to

[Prev in Thread] Current Thread [Next in Thread]