[PATCH] Align init_array section to 4K

10 views
Skip to first unread message

Jan Kiszka

unread,
Jun 12, 2020, 1:19:21 AM6/12/20
to efibootguard-dev, Christian Storm, Quirin Gylstorff
From: Jan Kiszka <jan.k...@siemens.com>

Signing tools, e.g. sbsigntool, stumble over the unalign init_array
section. According to [1], 4K was the default section alignment of
Visual Studio, and that made this the de-facto standard. Also gnuefi
aligns its sections this way.

As we do not want to fork our own linker script, use the assembly
fragment that places init_array_start at the beginning of that section
and align there.

[1] https://docs.microsoft.com/en-us/archive/msdn-magazine/2002/february/inside-windows-win32-portable-executable-file-format-in-detail

Signed-off-by: Jan Kiszka <jan.k...@siemens.com>
---
drivers/watchdog/init_array_start.S | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/watchdog/init_array_start.S b/drivers/watchdog/init_array_start.S
index 6127da3..61a6780 100644
--- a/drivers/watchdog/init_array_start.S
+++ b/drivers/watchdog/init_array_start.S
@@ -13,5 +13,7 @@
*/

.section .init_array
+/* align to 4K so that signing tools will not stumble over this section */
+.align 0x1000
.global init_array_start
init_array_start:
--
2.26.2
Reply all
Reply to author
Forward
0 new messages