gummiboot: update to 48.1.

This commit is contained in:
maxice8 2019-01-18 11:50:17 -02:00 committed by maxice8
parent 5e169ec8a1
commit c219eafae7
4 changed files with 274 additions and 10 deletions

View File

@ -0,0 +1,232 @@
From koen.kooi at linaro.org Sat Apr 11 01:23:22 2015
From: koen.kooi at linaro.org (Koen Kooi)
Date: Sat, 11 Apr 2015 10:23:22 +0200
Subject: [systemd-devel] [gummiboot][PATCH 1/5] Makefile: support non-x86
builds
Message-ID: <1428740606-30060-1-git-send-email-koen.kooi@linaro.org>
Move the no-mmx/no-sse CFLAGS to X86-64 and IA32 defines in preparation
for ARM32 and Aarch64 support.
Signed-off-by: Koen Kooi <koen.kooi at linaro.org>
---
Makefile.am | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/Makefile.am b/Makefile.am
index 6568a35..2cca313 100644
--- Makefile.am
+++ Makefile.am
@@ -94,17 +94,23 @@ efi_cflags = \
-ffreestanding \
-fno-strict-aliasing \
-fno-stack-protector \
- -Wsign-compare \
- -mno-sse \
- -mno-mmx
+ -Wsign-compare
if ARCH_X86_64
efi_cflags += \
-mno-red-zone \
+ -mno-sse \
+ -mno-mmx \
-DEFI_FUNCTION_WRAPPER \
-DGNU_EFI_USE_MS_ABI
endif
+if ARCH_IA32
+efi_cflags += \
+ -mno-sse \
+ -mno-mmx
+endif
+
efi_ldflags = \
$(EFI_LDFLAGS) \
-T $(EFI_LDS_DIR)/elf_$(ARCH)_efi.lds \
--
2.0.1
From koen.kooi at linaro.org Sat Apr 11 01:23:23 2015
From: koen.kooi at linaro.org (Koen Kooi)
Date: Sat, 11 Apr 2015 10:23:23 +0200
Subject: [systemd-devel] [gummiboot][PATCH 2/5] util: use x86 ASM only on
x86(-64) platforms.
In-Reply-To: <1428740606-30060-1-git-send-email-koen.kooi@linaro.org>
References: <1428740606-30060-1-git-send-email-koen.kooi@linaro.org>
Message-ID: <1428740606-30060-2-git-send-email-koen.kooi@linaro.org>
Signed-off-by: Koen Kooi <koen.kooi at linaro.org>
---
src/efi/util.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/efi/util.c b/src/efi/util.c
index ba5ed7d..689bc7c 100644
--- src/efi/util.c
+++ src/efi/util.c
@@ -33,7 +33,9 @@ UINT64 ticks_read(VOID) {
__asm__ volatile ("rdtsc" : "=a" (a), "=d" (d));
return (d << 32) | a;
}
-#else
+#endif
+
+#ifdef __i386__
UINT64 ticks_read(VOID) {
UINT64 val;
__asm__ volatile ("rdtsc" : "=A" (val));
--
2.0.1
From koen.kooi at linaro.org Sat Apr 11 01:23:24 2015
From: koen.kooi at linaro.org (Koen Kooi)
Date: Sat, 11 Apr 2015 10:23:24 +0200
Subject: [systemd-devel] [gummiboot][PATCH 3/5] configure: add AARCH64
support
In-Reply-To: <1428740606-30060-1-git-send-email-koen.kooi@linaro.org>
References: <1428740606-30060-1-git-send-email-koen.kooi@linaro.org>
Message-ID: <1428740606-30060-3-git-send-email-koen.kooi@linaro.org>
This is just plumbing to add ARCH_AARCH64 for makefile tests and
defining the machine name.
Signed-off-by: Koen Kooi <koen.kooi at linaro.org>
---
configure.ac | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/configure.ac b/configure.ac
index 27bbe1d..c2077b1 100644
--- configure.ac
+++ configure.ac
@@ -51,6 +51,7 @@ dnl Define ARCH_<NAME> conditionals
SET_ARCH(IA32, i*86*)
SET_ARCH(X86_64, x86_64*)
SET_ARCH(IA64, ia64*)
+SET_ARCH(AARCH64, aarch64*)
ARCH=`echo $host | sed "s/\(-\).*$//"`
@@ -61,6 +62,9 @@ AM_COND_IF(ARCH_IA32, [
AM_COND_IF(ARCH_X86_64, [
MACHINE_TYPE_NAME=x64])
+AM_COND_IF(ARCH_AARCH64, [
+ MACHINE_TYPE_NAME=aa64])
+
AC_SUBST([ARCH])
AC_SUBST([MACHINE_TYPE_NAME])
--
2.0.1
From koen.kooi at linaro.org Sat Apr 11 01:23:25 2015
From: koen.kooi at linaro.org (Koen Kooi)
Date: Sat, 11 Apr 2015 10:23:25 +0200
Subject: [systemd-devel] [gummiboot][PATCH 4/5] util: confine x86 asm to x86
architectures
In-Reply-To: <1428740606-30060-1-git-send-email-koen.kooi@linaro.org>
References: <1428740606-30060-1-git-send-email-koen.kooi@linaro.org>
Message-ID: <1428740606-30060-4-git-send-email-koen.kooi@linaro.org>
Also add a stub function that just returns '1' to avoid missing symbols.
Signed-off-by: Koen Kooi <koen.kooi at linaro.org>
---
src/efi/util.c | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/src/efi/util.c b/src/efi/util.c
index 689bc7c..6ce1f18 100644
--- src/efi/util.c
+++ src/efi/util.c
@@ -33,14 +33,17 @@ UINT64 ticks_read(VOID) {
__asm__ volatile ("rdtsc" : "=a" (a), "=d" (d));
return (d << 32) | a;
}
-#endif
-
-#ifdef __i386__
+#elif __i386__
UINT64 ticks_read(VOID) {
UINT64 val;
__asm__ volatile ("rdtsc" : "=A" (val));
return val;
}
+#else
+UINT64 ticks_read(VOID) {
+ UINT64 val = 1;
+ return val;
+}
#endif
/* count TSC ticks during a millisecond delay */
--
2.0.1
From koen.kooi at linaro.org Sat Apr 11 01:23:26 2015
From: koen.kooi at linaro.org (Koen Kooi)
Date: Sat, 11 Apr 2015 10:23:26 +0200
Subject: [systemd-devel] [gummiboot][PATCH 5/5] Makefile.am: Add support for
AARCH64
In-Reply-To: <1428740606-30060-1-git-send-email-koen.kooi@linaro.org>
References: <1428740606-30060-1-git-send-email-koen.kooi@linaro.org>
Message-ID: <1428740606-30060-5-git-send-email-koen.kooi@linaro.org>
Aarch64 and ARM32 lack an EFI capable objcopy, so use the ldflags + -O
binary trick gnu-efi and the Red Hat shimloader are using.
Signed-off-by: Koen Kooi <koen.kooi at linaro.org>
---
Makefile.am | 15 +++++++++++++--
1 file changed, 13 insertions(+), 2 deletions(-)
diff --git a/Makefile.am b/Makefile.am
index 2cca313..eba5ec4 100644
--- Makefile.am
+++ Makefile.am
@@ -121,6 +121,17 @@ efi_ldflags = \
-L $(EFI_LIB_DIR) \
$(EFI_LDS_DIR)/crt0-efi-$(ARCH).o
+# Aarch64 and ARM32 don't have an EFI capable objcopy
+if ARCH_AARCH64
+efi_ldflags += \
+ --defsym=EFI_SUBSYSTEM=0xa
+
+FORMAT = -O binary
+else
+FORMAT = --target=efi-app-$(ARCH)
+endif
+
+
# ------------------------------------------------------------------------------
gummiboot_headers = \
src/efi/util.h \
@@ -156,7 +167,7 @@ $(gummiboot_solib): $(gummiboot_objects)
$(gummiboot): $(gummiboot_solib)
$(AM_V_GEN) objcopy -j .text -j .sdata -j .data -j .dynamic \
-j .dynsym -j .rel -j .rela -j .reloc \
- --target=efi-app-$(ARCH) $< $@
+ $(FORMAT) $< $@
# ------------------------------------------------------------------------------
stub_headers = \
@@ -191,7 +202,7 @@ $(stub_solib): $(stub_objects)
$(stub): $(stub_solib)
$(AM_V_GEN) objcopy -j .text -j .sdata -j .data -j .dynamic \
-j .dynsym -j .rel -j .rela -j .reloc \
- --target=efi-app-$(ARCH) $< $@
+ $(FORMAT) $< $@
# ------------------------------------------------------------------------------
CLEANFILES += test-disk.img
--
2.0.1

View File

@ -0,0 +1,23 @@
diff --git a/Makefile.am b/Makefile.am
index eba5ec4..46c1728 100644
--- Makefile.am
+++ Makefile.am
@@ -165,7 +165,7 @@ $(gummiboot_solib): $(gummiboot_objects)
.DELETE_ON_ERROR: $(gummboot_solib)
$(gummiboot): $(gummiboot_solib)
- $(AM_V_GEN) objcopy -j .text -j .sdata -j .data -j .dynamic \
+ $(AM_V_GEN) $(OBJCOPY) -j .text -j .sdata -j .data -j .dynamic \
-j .dynsym -j .rel -j .rela -j .reloc \
$(FORMAT) $< $@
@@ -200,7 +200,7 @@ $(stub_solib): $(stub_objects)
.DELETE_ON_ERROR: $(gummboot_solib)
$(stub): $(stub_solib)
- $(AM_V_GEN) objcopy -j .text -j .sdata -j .data -j .dynamic \
+ $(AM_V_GEN) $(OBJCOPY) -j .text -j .sdata -j .data -j .dynamic \
-j .dynsym -j .rel -j .rela -j .reloc \
$(FORMAT) $< $@

View File

@ -0,0 +1,13 @@
diff --git a/src/setup/setup.c b/src/setup/setup.c
index 6a4275a..5342937 100644
--- src/setup/setup.c
+++ src/setup/setup.c
@@ -37,6 +37,7 @@
#include <ftw.h>
#include <stdbool.h>
#include <blkid.h>
+#include <sys/sysmacros.h>
#include "efivars.h"

View File

@ -1,17 +1,17 @@
# Template file for 'gummiboot'
pkgname=gummiboot
version=48
revision=4
version=48.1
revision=1
build_style=gnu-configure
hostmakedepends="automake pkg-config libxslt docbook-xsl"
makedepends="gnu-efi-libs liblzma-devel libblkid-devel"
short_desc="Simple UEFI Boot Manager"
maintainer="Eivind Uggedal <eivind@uggedal.com>"
license="LGPL-2.1"
license="LGPL-2.0-or-later"
homepage="http://freedesktop.org/wiki/Software/gummiboot"
distfiles="http://cgit.freedesktop.org/${pkgname}/snapshot/${pkgname}-${version}.tar.gz"
checksum=ea228571d962be6a06a64291e507e9cfe4ef0f46acfacc0677f211d1ced458d6
only_for_archs="i686 i686-musl x86_64 x86_64-musl"
distfiles="https://dev.alpinelinux.org/archive/gummiboot/gummiboot-${version}.tar.gz"
checksum=2b649a6eb22007cd34bb355ba4ca6c1a8058e115c13048985f09a0f11f3d5295
only_for_archs="i686 i686-musl x86_64 x86_64-musl aarch64 aarch64-musl"
CFLAGS="-std=gnu89"
@ -23,10 +23,6 @@ pre_configure() {
./autogen.sh
}
pre_build() {
sed -i Makefile -e "s/\-nostdinc//g"
}
post_install() {
vinstall ${FILESDIR}/kernel.d/gummiboot.post-install 750 \
etc/kernel.d/post-install 50-gummiboot