summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve McIntyre <steve@einval.com>2021-03-31 20:51:26 +0100
committerSteve McIntyre <steve@einval.com>2021-03-31 20:51:26 +0100
commitf81081d61b7a34858e967c262a12b39b81c2cd42 (patch)
tree09e8d144e61d788910cdff238a3eb867764c592c
parenta42e843a7323cc3cc4dc6a81754596c5af5bab7e (diff)
downloadefi-boot-shim-f81081d61b7a34858e967c262a12b39b81c2cd42.tar.gz
efi-boot-shim-f81081d61b7a34858e967c262a12b39b81c2cd42.zip
Add one more patch from upstream to fix i386 binary relocations
-rw-r--r--debian/changelog1
-rw-r--r--debian/patches/fix-broken-ia32-reloc.patch27
-rw-r--r--debian/patches/series1
3 files changed, 29 insertions, 0 deletions
diff --git a/debian/changelog b/debian/changelog
index 67fbaafc..eaa5619f 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -4,6 +4,7 @@ shim (15.4-1) unstable; urgency=medium
* Print sha256 checksums of the EFI binaries when the build is done,
for easier comparison between builds.
* Override dh_auto_build setting INSTALL, cut down on build noise.
+ * Add one more patch from upstream to fix i386 binary relocations
-- Steve McIntyre <93sam@debian.org> Wed, 31 Mar 2021 18:25:00 +0100
diff --git a/debian/patches/fix-broken-ia32-reloc.patch b/debian/patches/fix-broken-ia32-reloc.patch
new file mode 100644
index 00000000..a1bd63de
--- /dev/null
+++ b/debian/patches/fix-broken-ia32-reloc.patch
@@ -0,0 +1,27 @@
+commit 1bea91ba72165d97c3b453cf769cb4bc5c07207a
+Author: Peter Jones <pjones@redhat.com>
+Date: Wed Mar 31 14:54:52 2021 -0400
+
+ Fix a broken file header on ia32
+
+ Commit c6281c6a195edee61185 needs to have included a ". = ALIGN(4096)"
+ directive before .reloc, but fails to do so.
+
+ As a result, binutils, which does not care about the actual binary
+ format's constraints in any way, does not enforce the section alignment,
+ and it will not load.
+
+ Signed-off-by: Peter Jones <pjones@redhat.com>
+
+diff --git a/elf_ia32_efi.lds b/elf_ia32_efi.lds
+index 742e0a47..497a3a15 100644
+--- a/elf_ia32_efi.lds
++++ b/elf_ia32_efi.lds
+@@ -15,6 +15,7 @@ SECTIONS
+ *(.gnu.linkonce.t.*)
+ _etext = .;
+ }
++ . = ALIGN(4096);
+ .reloc :
+ {
+ *(.reloc)
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 00000000..1787a583
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1 @@
+fix-broken-ia32-reloc.patch