Bug#1069844: More debug info
Julian Andres Klode
julian.klode at canonical.com
Fri Apr 26 16:47:56 BST 2024
On Thu, Apr 25, 2024 at 09:10:08PM +0100, Alex Bennée wrote:
> Alex Bennée <alex.bennee at linaro.org> writes:
>
> > Julian Andres Klode <julian.klode at canonical.com> writes:
> >
> >> On Thu, Apr 25, 2024 at 06:30:52PM +0100, Alex Bennée wrote:
> >>>
> >>> Continuing to debug on QEMU it seems there is an incompatibility with
> >>> the images and the peloader (which overrides the normal efi loader):
> >>>
> <snip>
> >
> >> In the error case you can see though, that one of the section
> >> addresses in the Xen binary to be relocated points into the (PE)
> >> header of the binary, which obviously seems wrong.
> >>
> >> So go check your PE sections and check which one is wrong?
> >
> > Is there any tooling for examining PE sections?
>
> Nothing really jumps out from objdump:
>
> 1:08:50 [root at debian-arm64:~] # objdump -h /boot/xen
>
> /boot/xen: file format pei-aarch64-little
>
> Sections:
> Idx Name Size VMA LMA File off Algn
> 0 .reloc 00000000 0000000000000000 0000000000000000 00000000 2**0
> ALLOC, LOAD, READONLY, DATA
This looks suspicious. Yes it's 0 size but it's address is 0 which
clearly points into the header, and we don't skip 0 size sections when
loading the PE binary for later relocation, and we don't use any .reloc
section.
> 1 .text 00107ea8 0000000000000160 0000000000000160 00000160 2**4
> CONTENTS, ALLOC, LOAD, CODE
> 21:08:53 [root at debian-arm64:~] # objdump -h /boot/vmlinuz
I suppose the header is smaller than 0x160 bytes and this is ok.
My colleague Heinrich has written a nice PE analyser tool too:
https://github.com/xypron/efi_analyzer
--
debian developer - deb.li/jak | jak-linux.org - free software dev
ubuntu core developer i speak de, en
More information about the Pkg-grub-devel
mailing list