]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
x86/entry/vdso32: Remove open-coded DWARF in sigreturn.S
authorH. Peter Anvin <hpa@zytor.com>
Tue, 16 Dec 2025 21:26:00 +0000 (13:26 -0800)
committerDave Hansen <dave.hansen@linux.intel.com>
Wed, 14 Jan 2026 00:37:58 +0000 (16:37 -0800)
commit884961618ee51307cc63ab620a0bdd710fa0b0af
tree4c9563f9d9fc74eeb88600a083b1e5732c9c0651
parent98d3e996513ad00b7824ea3bece506fc645547dd
x86/entry/vdso32: Remove open-coded DWARF in sigreturn.S

The vdso32 sigreturn.S contains open-coded DWARF bytecode, which
includes a hack for gdb to not try to step back to a previous call
instruction when backtracing from a signal handler.

Neither of those are necessary anymore: the backtracing issue is
handled by ".cfi_entry simple" and ".cfi_signal_frame", both of which
have been supported for a very long time now, which allows the
remaining frame to be built using regular .cfi annotations.

Add a few more register offsets to the signal frame just for good
measure.

Replace the nop on fallthrough of the system call (which should never,
ever happen) with a ud2a trap.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
Link: https://patch.msgid.link/20251216212606.1325678-7-hpa@zytor.com
arch/x86/entry/vdso/vdso32/sigreturn.S
arch/x86/include/asm/dwarf2.h
arch/x86/kernel/asm-offsets.c