Re: [PATCH v3] ARM: module.lds: fix unwind metadata for merged .text sections
From: Ju Nan
Date: Mon Jul 27 2026 - 03:57:59 EST
I ran into exactly the same on a STM32MP157A-DK1 board (dual Cortex-A7,
ARMv7 AEABI, CONFIG_ARM_UNWIND=y). An out-of-tree module whose functions
GCC had placed in .text.unlikely (merged into .text by module.lds.S) left
its .ARM.exidx.text.unlikely section unregistered, so an Oops inside the
module produced an empty backtrace:
Call trace:
unwind: Index not found bf102018
With this patch applied, the module's exidx is coalesced into a single
.ARM.exidx output section, module_finalize() registers it against .text,
and the full module backtrace is restored:
Call trace:
do_the_crash [oops_null] from level_one+0x8/0xc [oops_null]
level_one [oops_null] from level_two+0x8/0xc [oops_null]
level_two [oops_null] from trigger_write+0x18/0x20 [oops_null]
trigger_write [oops_null] from full_proxy_write+0x54/0x78
full_proxy_write from vfs_write+0xd0/0x49c
vfs_write from ksys_write+0x6c/0xf4
ksys_write from ret_fast_syscall+0x0/0x54
Tested on Linux 7.1.4
Tested-by: Ju Nan <junan76@xxxxxxx>