summaryrefslogtreecommitdiff
path: root/source/a/grub
diff options
context:
space:
mode:
Diffstat (limited to 'source/a/grub')
-rw-r--r--source/a/grub/0198-align-struct-efi_variable-better.patch36
-rwxr-xr-xsource/a/grub/grub.SlackBuild3
2 files changed, 39 insertions, 0 deletions
diff --git a/source/a/grub/0198-align-struct-efi_variable-better.patch b/source/a/grub/0198-align-struct-efi_variable-better.patch
new file mode 100644
index 00000000..8ce8bdc8
--- /dev/null
+++ b/source/a/grub/0198-align-struct-efi_variable-better.patch
@@ -0,0 +1,36 @@
+From 2485633ada06c11c07a34a696a92b14e58f1e846 Mon Sep 17 00:00:00 2001
+From: Peter Jones <pjones@redhat.com>
+Date: Tue, 27 Feb 2018 13:55:35 -0500
+Subject: [PATCH 198/250] align struct efi_variable better...
+
+---
+ include/grub/efiemu/runtime.h | 2 +-
+ include/grub/types.h | 1 +
+ 2 files changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/include/grub/efiemu/runtime.h b/include/grub/efiemu/runtime.h
+index 9b6b729f4cc..856774a7c34 100644
+--- a/include/grub/efiemu/runtime.h
++++ b/include/grub/efiemu/runtime.h
+@@ -33,5 +33,5 @@ struct efi_variable
+ grub_uint32_t namelen;
+ grub_uint32_t size;
+ grub_efi_uint32_t attributes;
+-} GRUB_PACKED;
++} GRUB_PACKED GRUB_ALIGNED(8);
+ #endif /* ! GRUB_EFI_EMU_RUNTIME_HEADER */
+diff --git a/include/grub/types.h b/include/grub/types.h
+index b93e4820194..f6a9723971d 100644
+--- a/include/grub/types.h
++++ b/include/grub/types.h
+@@ -29,6 +29,7 @@
+ #else
+ #define GRUB_PACKED __attribute__ ((packed))
+ #endif
++#define GRUB_ALIGNED(x) __attribute__((aligned (x)))
+
+ #ifdef GRUB_BUILD
+ # define GRUB_CPU_SIZEOF_VOID_P BUILD_SIZEOF_VOID_P
+--
+2.14.3
+
diff --git a/source/a/grub/grub.SlackBuild b/source/a/grub/grub.SlackBuild
index 5bd18cdb..26b8e51e 100755
--- a/source/a/grub/grub.SlackBuild
+++ b/source/a/grub/grub.SlackBuild
@@ -109,6 +109,9 @@ zcat $CWD/grub.dejavusansmono.gfxterm.font.diff.gz | patch -p1 --verbose || exit
# Fix security issue when reading username and password:
zcat $CWD/0001-Fix-CVE-2015-8370-Grub2-user-pass-vulnerability.patch.gz | patch -p1 --verbose || exit 1
+# Fix alignment error with gcc8:
+zcat $CWD/0198-align-struct-efi_variable-better.patch.gz | patch -p1 --verbose || exit 1
+
build_grub() {
EFI_DO="$*"
# Configure: