46 lines
1.6 KiB
Diff
46 lines
1.6 KiB
Diff
From affc219a5bac93cb6e774879c874c203f755ba11 Mon Sep 17 00:00:00 2001
|
|
From: Raymund Will <rw@suse.com>
|
|
Date: Mon, 13 Mar 2017 12:57:07 +0100
|
|
Subject: [PATCH] Fix regression in "objcopy version check" (AKA `expr: syntax
|
|
error`)
|
|
|
|
While commit 8418fee4 may have fixed the check for "some distributions"
|
|
it broke the same check for others, like
|
|
|
|
`GNU objcopy (WinAVR 20090313) 2.19`
|
|
`GNU objcopy (AVR_8_bit_GNU_Toolchain_3.4.3_1072) 2.23.2`
|
|
`GNU objcopy (Codescape GNU Tools 2016.05-03 for MIPS MTI Bare Metal) 2.24.90`
|
|
`GNU objcopy (GNU Binutils; openSUSE Leap 42.2) 2.26.1`
|
|
`GNU objcopy (GNU Binutils; SUSE Linux Enterprise 12) 2.26.1`
|
|
|
|
(some more, some less relevant... ;)
|
|
|
|
This version is meant to cover them all (or at least be easily extensible).
|
|
|
|
Signed-off-by: Raymund Will <rw@suse.com>
|
|
---
|
|
efi/Makefile | 10 +++++++++-
|
|
1 file changed, 9 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/efi/Makefile b/efi/Makefile
|
|
index 920c096..faf8ee2 100644
|
|
--- a/efi/Makefile
|
|
+++ b/efi/Makefile
|
|
@@ -15,7 +15,15 @@ CCLDFLAGS ?= -nostdlib -Wl,--warn-common \
|
|
-Wl,-shared -Wl,-Bsymbolic -L$(LIBDIR) -L$(GNUEFIDIR) \
|
|
-Wl,--build-id=sha1 -Wl,--hash-style=sysv \
|
|
$(GNUEFIDIR)/crt0-efi-$(ARCH).o
|
|
-OBJCOPY_GTE224 = $(shell expr `$(OBJCOPY) --version |grep ^"GNU objcopy" | sed 's/^[^0-9]*//g' | cut -f1-2 -d.` \>= 2.24)
|
|
+
|
|
+define objcopy_version =
|
|
+ $(OBJCOPY) --version |
|
|
+ sed -e '/^GNU objcopy/! d;
|
|
+ : loop1; s/([^)(]*)//g; t loop1;
|
|
+ : loop2; s/\[[^][]*\]//g; t loop2;
|
|
+ s/.* \([0-9][0-9]*\.[0-9][0-9]*\).*/\1/;'
|
|
+endef
|
|
+OBJCOPY_GTE224 := $(shell expr `$(objcopy_version)` \>= 2.24)
|
|
|
|
FWUP = fwupdate
|
|
|