summaryrefslogtreecommitdiff
path: root/debian/patches/fix-broken-ia32-reloc.patch
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches/fix-broken-ia32-reloc.patch')
-rw-r--r--debian/patches/fix-broken-ia32-reloc.patch27
1 files changed, 27 insertions, 0 deletions
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)