[PATCH 4/4] efi_loader: use include in ARM EFI linker script
Ilias Apalodimas
ilias.apalodimas at linaro.org
Wed Jan 15 09:06:03 CET 2025
Hi Heinrich
On Tue, 14 Jan 2025 at 12:30, Heinrich Schuchardt
<heinrich.schuchardt at canonical.com> 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 <heinrich.schuchardt at canonical.com>
> ---
> 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
More information about the U-Boot
mailing list