Your message dated Sat, 14 Mar 2026 11:48:35 +0000
with message-id <[email protected]>
and subject line Released with 13.4
has caused the Debian Bug report #1124971,
regarding trixie-pu: package gnu-efi/3.0.18-1+deb13u1
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
1124971: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1124971
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
Tags: trixie
X-Debbugs-Cc: [email protected]
Control: affects -1 + src:gnu-efi
User: [email protected]
Usertags: pu

[ Reason ]
gnu-efi does not produce working UEFI binaries for armhf.
The details are in #1086705. This affects efibootguard but probably
other gnu-efi compiled binaries.

This stable update backports an upstream patch.

[ Impact ]
armhf-built EFI binaries, such as efibootguard's
/usr/lib/arm-linux-gnueabihf/efibootguard/efibootguardarm.efi
/usr/lib/arm-linux-gnueabihf/efibootguard/kernel-stubarm.efi
do not run, i.e. the armhf machine does not boot.

[ Tests ]
Two users have tested the backported patch with their armhf machines and
report it to work.

[ Risks ]
The patch only touches ARM 32 bit code, which is broken. The other archs
are not affected.

[ Checklist ]
  [x] *all* changes are documented in the d/changelog
  [x] I reviewed all changes and I approve them
  [x] attach debdiff against the package in stable
  [x] the issue is verified as fixed in unstable

[ Changes ]
The patch changes the handling of the _start symbol in 32 bit ARM assembly.

[ Other info ]
After this, a stable binNMU should run for the reverse build
dependencies if we have such a process. Otherwise I am going to file a
stable update for efibootguard after this is accepted.
diff -Nru gnu-efi-3.0.18/debian/changelog gnu-efi-3.0.18/debian/changelog
--- gnu-efi-3.0.18/debian/changelog     2024-03-25 20:50:29.000000000 +0100
+++ gnu-efi-3.0.18/debian/changelog     2026-01-07 23:10:37.000000000 +0100
@@ -1,3 +1,9 @@
+gnu-efi (3.0.18-1+deb13u1) trixie; urgency=medium
+
+  * Backport "ARM32: Split headers and code" (Closes: #1086705)
+
+ -- Bastian Germann <[email protected]>  Wed, 07 Jan 2026 23:10:37 +0100
+
 gnu-efi (3.0.18-1) unstable; urgency=medium
 
   * Strip LDFLAGS before passing to the build
diff -Nru gnu-efi-3.0.18/debian/patches/ARM32-Split-headers-and-code.patch 
gnu-efi-3.0.18/debian/patches/ARM32-Split-headers-and-code.patch
--- gnu-efi-3.0.18/debian/patches/ARM32-Split-headers-and-code.patch    
1970-01-01 01:00:00.000000000 +0100
+++ gnu-efi-3.0.18/debian/patches/ARM32-Split-headers-and-code.patch    
2026-01-07 23:09:32.000000000 +0100
@@ -0,0 +1,90 @@
+Origin: upstream, 24a4cd0e5653fd84b004c00c808c45cc3fb7a7e2
+From: Callum Farmer <[email protected]>
+Date: Mon, 23 Sep 2024 16:51:49 +0100
+Subject: ARM32: Split headers and code
+
+* Force code to be at known dest of 4096
+* Move _start into .text
+* Load the _start symbol address and then minus 4096 to get the load
+  address
+
+Signed-off-by: Callum Farmer <[email protected]>
+---
+ gnuefi/crt0-efi-arm.S  | 21 +++++++++++----------
+ gnuefi/elf_arm_efi.lds |  1 +
+ 2 files changed, 12 insertions(+), 10 deletions(-)
+
+diff --git a/gnuefi/crt0-efi-arm.S b/gnuefi/crt0-efi-arm.S
+index 9c2c467e..ad02ca10 100644
+--- a/gnuefi/crt0-efi-arm.S
++++ b/gnuefi/crt0-efi-arm.S
+@@ -45,11 +45,11 @@ optional_header:
+       .2byte  0x10b                           // PE32+ format
+       .byte   0x02                            // MajorLinkerVersion
+       .byte   0x14                            // MinorLinkerVersion
+-      .4byte  _etext - _start         // SizeOfCode
++      .4byte  _text_size - ImageBase          // SizeOfCode
+       .4byte  _alldata_size - ImageBase               // SizeOfInitializedData
+       .4byte  0                               // SizeOfUninitializedData
+-      .4byte  _start - ImageBase              // AddressOfEntryPoint
+-      .4byte  _start - ImageBase              // BaseOfCode
++      .4byte  _text - ImageBase               // AddressOfEntryPoint
++      .4byte  _text - ImageBase               // BaseOfCode
+       .4byte  _reloc - ImageBase              // BaseOfData
+ 
+ extra_header_fields:
+@@ -67,7 +67,7 @@ extra_header_fields:
+       .4byte  _image_end - ImageBase          // SizeOfImage
+ 
+       // Everything before the kernel image is considered part of the header
+-      .4byte  _start - ImageBase              // SizeOfHeaders
++      .4byte  _text - ImageBase               // SizeOfHeaders
+       .4byte  0                               // CheckSum
+       .2byte  EFI_SUBSYSTEM                   // Subsystem
+       .2byte  0                               // DllCharacteristics
+@@ -100,10 +100,10 @@ extra_header_fields:
+ section_table:
+ 
+       .ascii  ".text\0\0\0"
+-      .4byte  _evtext - _start // VirtualSize
+-      .4byte  _start - ImageBase      // VirtualAddress
+-      .4byte  _etext - _start         // SizeOfRawData
+-      .4byte  _start - ImageBase      // PointerToRawData
++      .4byte  _text_vsize - ImageBase // VirtualSize
++      .4byte  _text - ImageBase       // VirtualAddress
++      .4byte  _text_size - ImageBase          // SizeOfRawData
++      .4byte  _text - ImageBase       // PointerToRawData
+       .4byte  0               // PointerToRelocations (0 for executables)
+       .4byte  0               // PointerToLineNumbers (0 for executables)
+       .2byte  0               // NumberOfRelocations  (0 for executables)
+@@ -148,7 +148,7 @@ section_table:
+       .2byte  0                       // NumberOfLineNumbers
+       .4byte  0x40000040              // Characteristics (section flags)
+ 
+-.balign 256
++.text
+ .globl        _start
+ .type _start,%function
+ _start:
+@@ -159,7 +159,8 @@ _start:
+       adr             r1, .L_DYNAMIC
+       ldr             r0, [r1]
+       add             r1, r0, r1
+-      adr             r0, ImageBase
++      adr             r0, _start
++      sub             r0, r0, #0x1000
+       bl              _relocate
+       teq             r0, #0
+       bne             0f
+diff --git a/gnuefi/elf_arm_efi.lds b/gnuefi/elf_arm_efi.lds
+index afe17af3..b7e3fb13 100644
+--- a/gnuefi/elf_arm_efi.lds
++++ b/gnuefi/elf_arm_efi.lds
+@@ -5,6 +5,7 @@ SECTIONS
+ {
+   .text 0 : {
+     *(.text.head)
++    . = 0x1000;
+     _text = .;
+     *(.text)
+     *(.text.*)
diff -Nru gnu-efi-3.0.18/debian/patches/series 
gnu-efi-3.0.18/debian/patches/series
--- gnu-efi-3.0.18/debian/patches/series        1970-01-01 01:00:00.000000000 
+0100
+++ gnu-efi-3.0.18/debian/patches/series        2026-01-07 23:10:26.000000000 
+0100
@@ -0,0 +1 @@
+ARM32-Split-headers-and-code.patch

--- End Message ---
--- Begin Message ---
Package: release.debian.org
Version: 13.4

This update has been released as part of Debian 13.4.

--- End Message ---

Reply via email to