summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Clarkson <mattyclarkson@gmail.com>2017-04-06 14:12:15 +0100
committerMatt Clarkson <mattyclarkson@gmail.com>2017-04-06 14:33:02 +0100
commitcf8e2953b56281e7008a8757340801d427c994e9 (patch)
tree9087fd44a7a4c39aaa539e423c34e0fdcd4762fe
parentcba49f2deab481045408d5452ac8c84fc03bccd5 (diff)
build-sys: correct ARM32 GNU EFI boot binary build
Due to ARM not having an EFI capable objcopy we need to use the binary output argument. This is correctly set up for AArch64 but is missed when building for ARM32. This patch adds the ARCH_ARM automake define which can then be used in the makefile to determine if to use the correct linker flags. The addition of the ARM32 flags is a copy and paste from the AArch64 to create a logical OR for the ARCH_AARCH64 and ARCH_ARM variables. I couldn't figure out a better way to create the conditional with basic Make language constructs.
-rw-r--r--Makefile.am5
-rw-r--r--configure.ac4
2 files changed, 9 insertions, 0 deletions
diff --git a/Makefile.am b/Makefile.am
index 2a5610740e..5cd38d991b 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -2978,10 +2978,15 @@ if ARCH_AARCH64
efi_ldflags += --defsym=EFI_SUBSYSTEM=0xa
EFI_FORMAT = -O binary
else
+if ARCH_ARM
+efi_ldflags += --defsym=EFI_SUBSYSTEM=0xa
+EFI_FORMAT = -O binary
+else
EFI_FORMAT = --target=efi-app-$(EFI_ARCH)
endif
endif
endif
+endif
# ------------------------------------------------------------------------------
systemd_boot_headers = \
diff --git a/configure.ac b/configure.ac
index a95e984375..b5868f4be7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -57,6 +57,7 @@ AS_IF([test "x$enable_largefile" = "xno"], [AC_MSG_ERROR([--disable-largefile is
SET_ARCH(X86_64, x86_64*)
SET_ARCH(IA32, i*86*)
SET_ARCH(MIPS, mips*)
+SET_ARCH(ARM, arm*)
SET_ARCH(AARCH64, aarch64*)
# i18n stuff for the PolicyKit policy files, heck whether intltool can be found, disable NLS otherwise
@@ -1297,6 +1298,9 @@ AM_COND_IF(ARCH_IA32, [
AM_COND_IF(ARCH_X86_64, [
EFI_MACHINE_TYPE_NAME=x64])
+AM_COND_IF(ARCH_ARM, [
+ EFI_MACHINE_TYPE_NAME=arm])
+
AM_COND_IF(ARCH_AARCH64, [
EFI_MACHINE_TYPE_NAME=aa64])