在 2022-07-29星期五的 15:31 +0800,WANG Xuerui写道: > On 2022/7/29 15:11, Xiaotian Wu wrote: > > Signed-off-by: Xiaotian Wu <[email protected]> > > Signed-off-by: Zhou Yang <[email protected]> > > --- > > include/grub/elf.h | 23 +++++++++++++++++++++++ > > 1 file changed, 23 insertions(+) > > > > diff --git a/include/grub/elf.h b/include/grub/elf.h > > index c478933ee..1c8d4f5d5 100644 > > --- a/include/grub/elf.h > > +++ b/include/grub/elf.h > > @@ -248,6 +248,7 @@ typedef struct > > #define EM_NUM 95 > > #define EM_AARCH64 183 /* ARM 64-bit architecture > > */ > > #define EM_RISCV 243 /* RISC-V */ > > +#define EM_LOONGARCH 258 /* LoongArch */ > > > > /* If it is necessary to assign new unofficial EM_* values, > > please > > pick large random numbers (0x8523, 0xa7f2, etc.) to minimize > > the > > @@ -2531,6 +2532,28 @@ typedef Elf32_Addr Elf32_Conflict; > > #define R_RISCV_SET32 56 > > #define R_RISCV_32_PCREL 57 > > > > +/* LoongArch relocations */ > > +#define R_LARCH_NONE 0 > > +#define R_LARCH_64 2 > > +#define R_LARCH_MARK_LA 20 > > +#define R_LARCH_SOP_PUSH_PCREL 22 > > +#define R_LARCH_SOP_PUSH_ABSOLUTE 23 > > +#define R_LARCH_SOP_PUSH_PLT_PCREL 29 > > +#define R_LARCH_SOP_SUB 32 > > +#define R_LARCH_SOP_SL 33 > > +#define R_LARCH_SOP_SR 34 > > +#define R_LARCH_SOP_ADD 35 > > +#define R_LARCH_SOP_AND 36 > > +#define R_LARCH_SOP_IF_ELSE 37 > > +#define R_LARCH_SOP_POP_32_S_10_5 38 > > +#define R_LARCH_SOP_POP_32_U_10_12 39 > > +#define R_LARCH_SOP_POP_32_S_10_12 40 > > +#define R_LARCH_SOP_POP_32_S_10_16 41 > > +#define R_LARCH_SOP_POP_32_S_10_16_S2 42 > > +#define R_LARCH_SOP_POP_32_S_5_20 43 > > +#define R_LARCH_SOP_POP_32_S_0_5_10_16_S2 44 > > +#define R_LARCH_SOP_POP_32_S_0_10_10_16_S2 45 > > + > > Welp. This almost certainly needs some additional work, now that the > new-style relocs [1][2] are upstreamed, and bound to be generated > with > the combo of binutils 2.40 trunk and gcc 13.0 trunk. So we'll need to > support both flavors in order to stay compatible with both older and > newer toolchains. > > Do you think this part could be finished relatively quickly so as to > not > miss the next grub release?
Yes, the new style relocation patch is done and visible on github[1], needs more testing and will be sent to the mailing list for review. [1] https://github.com/loongarch64/grub/pull/5 _______________________________________________ Grub-devel mailing list [email protected] https://lists.gnu.org/mailman/listinfo/grub-devel
