On Wed, 17 Aug 2022 at 09:59, Xi Ruoyao <xry111@xxxxxxxxxxx> wrote: > > On Wed, 2022-08-17 at 09:49 +0200, Ard Biesheuvel wrote: > > > > > > > > > I am trying to port the generic EFI zboot support to LoongArch, but I > > am running into a problem: > > > > The zboot EFI image consists of > > > > zImage.o, created with objcopy -O binary > > zboot-header.o, created using the assembler > > libstub.a, created as usual > > > > This results in errors such as > > arch/loongarch/boot/zboot-header.o: can't link different ABI object. > > failed to merge target specific data of file > > arch/loongarch/boot/zboot-header.o > > > > which I think is caused by the fact that objcopy does not set the LP64 > > soft float flags on the ELF object it creates. > > > > Do you see any way around this limitation? > > Update to Binutils-2.39 > (https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=83c5f3a) > Thanks, that worked. I can now build the LoongArch EFI stub and the zboot decompressor. Unfortunately, while the normal EFI stub kernel boots ok in QEMU/edk2, the zboot one crashes with CRMD 0xB0 PRMD 0x4 ECFG 0x800 ESTAT 0x40000 ERA 0x17B87719C BADV 0x17C634000 BADI 0x381031A5 PC 0x00017B87719C or CRMD 0xB0 PRMD 0x4 ECFG 0x800 ESTAT 0x40000 ERA 0x17B138D10 BADV 0x17C3CC000 BADI 0x294000F7 PC 0x00017B138D10