Hi Heinrich
On Tue, 14 Jan 2025 at 12:30, Heinrich Schuchardt <[email protected]> wrote: > > Use the same include as arm64 for the linker script. > > Adjust the 32-bit ARM PE-COFF header accordingly and harmonize it with the > 64-bit ARM header. > > Signed-off-by: Heinrich Schuchardt <[email protected]> > --- > arch/arm/lib/crt0_arm_efi.S | 37 ++++++++++--------- > arch/arm/lib/elf_arm_efi.lds | 71 +----------------------------------- > 2 files changed, 20 insertions(+), 88 deletions(-) > > diff --git a/arch/arm/lib/crt0_arm_efi.S b/arch/arm/lib/crt0_arm_efi.S > index b5dfd4e3819..590fcf515da 100644 > --- a/arch/arm/lib/crt0_arm_efi.S > +++ b/arch/arm/lib/crt0_arm_efi.S > @@ -14,11 +14,11 @@ > /* > * Magic "MZ" signature for PE/COFF > */ > - .globl image_base > -image_base: > + .globl ImageBase > +ImageBase: > .short IMAGE_DOS_SIGNATURE /* 'MZ' */ > .skip 58 /* 'MZ' + pad + offset == 64 > */ > - .long pe_header - image_base /* Offset to the PE header */ > + .long pe_header - ImageBase /* Offset to the PE header */ > pe_header: > .long IMAGE_NT_SIGNATURE /* 'PE' */ > coff_header: > @@ -38,16 +38,16 @@ optional_header: > .short IMAGE_NT_OPTIONAL_HDR32_MAGIC /* PE32 format */ > .byte 0x02 /* MajorLinkerVersion */ > .byte 0x14 /* MinorLinkerVersion */ > - .long _edata - _start /* SizeOfCode */ > + .long _etext - _start /* SizeOfCode */ Was that an error all along? Or the boundaries changed by using the include file? > .long 0 /* SizeOfInitializedData */ > .long 0 /* SizeOfUninitializedData */ > - .long _start - image_base /* AddressOfEntryPoint */ > - .long _start - image_base /* BaseOfCode */ > + .long _start - ImageBase /* AddressOfEntryPoint */ > + .long _start - ImageBase /* BaseOfCode */ > .long 0 /* BaseOfData */ [...] Other than that it looks ok Thanks for cleaning this up! /Ilias

