diff options
author | Heinrich Schuchardt <xypron.glpk@gmx.de> | 2018-01-31 18:45:35 +0000 |
---|---|---|
committer | Alexander Graf <agraf@suse.de> | 2018-02-10 00:24:00 +0100 |
commit | 268ec6e00e57497b96ebd4a5a5dc60b821e13fb0 (patch) | |
tree | acee912af7ac8ee877494fe0fadc3d77d596892c /arch/arm/lib/crt0_aarch64_efi.S | |
parent | 1811a928c6c7604d6d05a84b4d552a7c31b4994e (diff) |
efi_loader: fix building crt0 on arm
Before the patch an undefined constant EFI_SUBSYSTEM was used in the
crt0 code. The current version of binutils does not swallow the error.
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=888403
The necessary constant IMAGE_SUBSYSTEM_EFI_APPLICATION is already
defined in pe.h. So let's factor out asm-generic/pe.h for the
image subsystem constants and use it in our assembler code.
IMAGE_SUBSYSTEM_SAL_RUNTIME_DRIVER does not exist in the specification
let's use IMAGE_SUBSYSTEM_EFI_ROM instead.
The include pe.h is only used in code maintained by Alex so let him be the
maintainer here too.
Reported-by: Andre Przywara <andre.przywara@arm.com>
Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Tested-by: Vagrant Cascadian <vagrant@debian.org>
Signed-off-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'arch/arm/lib/crt0_aarch64_efi.S')
-rw-r--r-- | arch/arm/lib/crt0_aarch64_efi.S | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/arm/lib/crt0_aarch64_efi.S b/arch/arm/lib/crt0_aarch64_efi.S index 52056469be..9b0e894f8a 100644 --- a/arch/arm/lib/crt0_aarch64_efi.S +++ b/arch/arm/lib/crt0_aarch64_efi.S @@ -8,6 +8,8 @@ * This file is taken and modified from the gnu-efi project. */ +#include <asm-generic/pe.h> + .section .text.head /* @@ -62,7 +64,7 @@ extra_header_fields: */ .long _start - ImageBase /* SizeOfHeaders */ .long 0 /* CheckSum */ - .short EFI_SUBSYSTEM /* Subsystem */ + .short IMAGE_SUBSYSTEM_EFI_APPLICATION /* Subsystem */ .short 0 /* DllCharacteristics */ .quad 0 /* SizeOfStackReserve */ .quad 0 /* SizeOfStackCommit */ |