aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite/gdb.dap/ada-arrays
diff options
context:
space:
mode:
authorTiezhu Yang <yangtiezhu@loongson.cn>2025-09-01 09:29:56 +0800
committerTiezhu Yang <yangtiezhu@loongson.cn>2025-09-03 20:56:51 +0800
commit213f150cf7c405e7c3b743a0b6465565c8810e60 (patch)
tree150ce921481b5f0c4908df7dbbad90c0c82f69df /gdb/testsuite/gdb.dap/ada-arrays
parent40f41b242f85df71ef4cad64db7d6142992a2bd0 (diff)
downloadbinutils-master.zip
binutils-master.tar.gz
binutils-master.tar.bz2
gdb: LoongArch: Restrict breakpoint outside of atomic sequenceHEADmaster
We can't put a breakpoint in the middle of a ll/sc atomic sequence, so look for the end of the sequence and put the breakpoint there, it has been handled in the commit 208b57e53ed9 ("gdb: LoongArch: Deal with atomic sequence"). Especially, maybe there is a conditional branch instruction in the middle of a ll/sc atomic sequence, its destination address may be current pc + 4 which is inside the atomic sequence, it should not put a breakpoint in its destination address in this case, this has been handled in the commit a4242dc3f5fa ("gdb: LoongArch: Improve the handling of atomic sequence"). Additionally, if there is a conditional branch instruction in the middle of a ll/sc atomic sequence, its destination address may be not current pc + 4 but still inside the atomic sequence, it should not put a breakpoint in its destination address in this case. So in order to avoid putting a breakpoint in the middle of a ll/sc atomic sequence in any case, just look for the start and end of the sequence, and restrict the breakpoint outside of the atomic sequence. Signed-off-by: Tiezhu Yang <yangtiezhu@loongson.cn>
Diffstat (limited to 'gdb/testsuite/gdb.dap/ada-arrays')
0 files changed, 0 insertions, 0 deletions