[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2 0/5] loongarch: add relaxation support
From: |
Xiaotian Wu |
Subject: |
Re: [PATCH v2 0/5] loongarch: add relaxation support |
Date: |
Mon, 12 Jun 2023 11:09:46 +0800 |
User-agent: |
Evolution 3.46.4 |
在 2023-06-12星期一的 06:35 +0800,Xi Ruoyao via Grub-devel写道:
> 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.
>
Yes, it's easy to pass -mno-relax, but binutils-2.40 doesn't support
this option.
> 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.
>
GRUB 2.12 has not been released yet. If this patch can be merged before
the release of grub 2.12, every distribution does not need to be
patched. Moreover, both binutils-2.40 and future binutils 2.41+ will be
able to compile normally.
> > [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(-)
> >
>
--
Best Regards
Xiaotian Wu
- [PATCH v2 0/5] loongarch: add relaxation support, Xiaotian Wu, 2023/06/07
- [PATCH v2 1/5] Use the correct format specifier for formatted output, Xiaotian Wu, 2023/06/07
- [PATCH v2 3/5] loongarch: Rename function names, Xiaotian Wu, 2023/06/07
- [PATCH v2 4/5] loongarch: Add ELF relocation types documentation and comments, Xiaotian Wu, 2023/06/07
- [PATCH v2 2/5] loongarch: Optimize code using pc variable, Xiaotian Wu, 2023/06/07
- [PATCH v2 5/5] loongarch: Add relaxation support, Xiaotian Wu, 2023/06/07
- Re: [PATCH v2 0/5] loongarch: add relaxation support, Xi Ruoyao, 2023/06/11
- Re: [PATCH v2 0/5] loongarch: add relaxation support,
Xiaotian Wu <=
Re: [PATCH v2 0/5] loongarch: add relaxation support, Xiaotian Wu, 2023/06/12
- Re: [PATCH v2 0/5] loongarch: add relaxation support, mengqinggang, 2023/06/13
- Re: [PATCH v2 0/5] loongarch: add relaxation support, WANG Xuerui, 2023/06/12
- Re: [PATCH v2 0/5] loongarch: add relaxation support, Xiaotian Wu, 2023/06/13
- Re: [PATCH v2 0/5] loongarch: add relaxation support, mengqinggang, 2023/06/13
- Re: [PATCH v2 0/5] loongarch: add relaxation support, Xiaotian Wu, 2023/06/13