Get longjmp target check in breakpoint.c - is it necessary?
Tiago Stürmer Daitx <[email protected]>
| Newsgroups | gmane.comp.gdb.devel |
|---|---|
| Message-ID | <[email protected]> |
We have in gdb/breakpoint.c the following condition checking: 3222 if (!gdbarch_get_longjmp_target_p (gdbarch))¬ 3223 » continue;¬ Which is forcing me to implement an (unnecessary?) arch specific get_longjmp_target while having a longjmp user probe in glibc should be enough. Removing that if/continue statement showed no regressions - it actually fixed 3 longjmp failures (assuming proper support in glibc for a longjmp probe is in place). I would be glad to hear your thoughts on any possible side effects of removing that statement. $ diff -u gdb/testsuite/gdb.sum gdb/testsuite/gdb-no-get-longjmp-target-check.sum [snip] -FAIL: gdb.base/longjmp.exp: next over longjmp(1) +PASS: gdb.base/longjmp.exp: next over longjmp(1) +PASS: gdb.base/longjmp.exp: next into else block (1) +PASS: gdb.base/longjmp.exp: next into safety net (1) PASS: gdb.base/longjmp.exp: breakpoint at pattern 2 start PASS: gdb.base/longjmp.exp: continue to breakpoint at pattern 2 start PASS: gdb.base/longjmp.exp: breakpoint at miss_step_2 PASS: gdb.base/longjmp.exp: next over setjmp (2) -FAIL: gdb.base/longjmp.exp: next over call_longjmp (2) +PASS: gdb.base/longjmp.exp: next over call_longjmp (2) +PASS: gdb.base/longjmp.exp: next into else block (2) +PASS: gdb.base/longjmp.exp: next into safety net (2) [snip] -XFAIL: gdb.base/stale-infcall.exp: test system longjmp tracking support -UNTESTED: gdb.base/stale-infcall.exp: System lacks support for tracking longjmps +PASS: gdb.base/stale-infcall.exp: test system longjmp tracking support +PASS: gdb.base/stale-infcall.exp: delete $test_fail_bpnum +PASS: gdb.base/stale-infcall.exp: continue to breakpoint: break-run1 +PASS: gdb.base/stale-infcall.exp: print infcall () +PASS: gdb.base/stale-infcall.exp: stack corrupted +PASS: gdb.base/stale-infcall.exp: bt +PASS: gdb.base/stale-infcall.exp: maintenance print dummy-frames +PASS: gdb.base/stale-infcall.exp: maintenance info breakpoints Everything was tested on both PPC and PPC64. The glibc user probes have been implemented but are not yet upstream. Cheers! -tiago -- Tiago Stürmer Daitx [email protected] IBM - Linux Technology Center