diff --git a/debian/changelog b/debian/changelog index 67fbaaf..eaa5619 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 0000000..a1bd63d --- /dev/null +++ b/debian/patches/fix-broken-ia32-reloc.patch @@ -0,0 +1,27 @@ +commit 1bea91ba72165d97c3b453cf769cb4bc5c07207a +Author: Peter Jones +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 + +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 0000000..1787a58 --- /dev/null +++ b/debian/patches/series @@ -0,0 +1 @@ +fix-broken-ia32-reloc.patch