aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom de Vries <tdevries@suse.de>2024-08-22 09:49:53 +0200
committerTom de Vries <tdevries@suse.de>2024-08-22 09:49:53 +0200
commita16c032a5c67453e88bc58dc3db0ac568c348973 (patch)
treec8bc2c606e1a1b33c543b1dba6c34c302307aa13
parent1ebf4606c242c2338de520876e6b342d44106150 (diff)
downloadbinutils-a16c032a5c67453e88bc58dc3db0ac568c348973.zip
binutils-a16c032a5c67453e88bc58dc3db0ac568c348973.tar.gz
binutils-a16c032a5c67453e88bc58dc3db0ac568c348973.tar.bz2
[gdb] Eliminate catch(...) in get_test_insn
In get_test_insn in gdb/disasm-selftests.c, we find this code: ... try { kind = gdbarch_breakpoint_kind_from_pc (gdbarch, &pc); insn = gdbarch_sw_breakpoint_from_kind (gdbarch, kind, &bplen); } catch (...) { continue; } ... The catch is there to catch memory errors, but it swallows all exceptions, including gdb_exception_quit and gdb_exception_forced_quit. Fix this by limiting the catch to gdb_exception_error. Tested on x86_64-linux, by rebuilding and running gdb.gdb/unittest.exp. Approved-By: Tom Tromey <tom@tromey.com>
-rw-r--r--gdb/disasm-selftests.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gdb/disasm-selftests.c b/gdb/disasm-selftests.c
index 14b7fb3..dd849fb 100644
--- a/gdb/disasm-selftests.c
+++ b/gdb/disasm-selftests.c
@@ -165,7 +165,7 @@ get_test_insn (struct gdbarch *gdbarch, size_t *len)
kind = gdbarch_breakpoint_kind_from_pc (gdbarch, &pc);
insn = gdbarch_sw_breakpoint_from_kind (gdbarch, kind, &bplen);
}
- catch (...)
+ catch (const gdb_exception_error &)
{
continue;
}