aboutsummaryrefslogtreecommitdiff
path: root/gdb/make-init-c
diff options
context:
space:
mode:
authorChristina Schimpe <christina.schimpe@intel.com>2022-02-18 03:09:46 -0800
committerChristina Schimpe <christina.schimpe@intel.com>2025-08-29 17:02:10 +0000
commit7a8821ff0e1badeaa284f6a6ff0b79b8e1fe5237 (patch)
treee7ae8d870198bc201a2d5b395c2f2ccd83608f1d /gdb/make-init-c
parent66dee5a4f05b8f0ac84d354ec5102c0be31a8148 (diff)
downloadbinutils-7a8821ff0e1badeaa284f6a6ff0b79b8e1fe5237.zip
binutils-7a8821ff0e1badeaa284f6a6ff0b79b8e1fe5237.tar.gz
binutils-7a8821ff0e1badeaa284f6a6ff0b79b8e1fe5237.tar.bz2
gdb: Enable displaced stepping with shadow stack on amd64 linux.
Currently, if displaced stepping is active and the single stepped instruction is a call instruction, the return address atop the stack is the address following the copied instruction. However, to allow normal program execution it has to be the address following the original instruction. Due to that reason, the return address is corrected in amd64_displaced_step_fixup and i386_displaced_step_fixup. For programs that are shadow-stack enabled we see a control-protection exception, as the address on the shadow stack does not match the address atop the stack. Fix this by correcting the shadow stack top address as well. Approved-By: Andrew Burgess <aburgess@redhat.com> Approved-By: Luis Machado <luis.machado@arm.com> Reviewed-By: Eli Zaretskii <eliz@gnu.org>
Diffstat (limited to 'gdb/make-init-c')
0 files changed, 0 insertions, 0 deletions