gdb/testsuite/
* lib/gdb.exp (can_single_step_to_signal_handler): New. * gdb.base/kill-after-signal.exp: Call it. Skip if target doesn't support single step to signal handler.
This commit is contained in:
parent
f5b1e24db0
commit
ab254057b8
@ -1,3 +1,9 @@
|
|||||||
|
2011-09-17 Yao Qi <yao@codesourcery.com>
|
||||||
|
|
||||||
|
* lib/gdb.exp (can_single_step_to_signal_handler): New.
|
||||||
|
* gdb.base/kill-after-signal.exp: Call it. Skip if target doesn't
|
||||||
|
support single step to signal handler.
|
||||||
|
|
||||||
2011-09-17 Yao Qi <yao@codesourcery.com>
|
2011-09-17 Yao Qi <yao@codesourcery.com>
|
||||||
|
|
||||||
* gdb.base/disp-step-fork.c: New.
|
* gdb.base/disp-step-fork.c: New.
|
||||||
|
@ -14,6 +14,12 @@
|
|||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
set testfile "kill-after-signal"
|
set testfile "kill-after-signal"
|
||||||
|
|
||||||
|
if { ![can_single_step_to_signal_handler] } {
|
||||||
|
untested ${testfile}.exp
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
if [prepare_for_testing ${testfile}.exp ${testfile}] {
|
if [prepare_for_testing ${testfile}.exp ${testfile}] {
|
||||||
return -1
|
return -1
|
||||||
}
|
}
|
||||||
|
@ -1527,6 +1527,22 @@ proc support_complex_tests {} {
|
|||||||
return $support_complex_tests_saved
|
return $support_complex_tests_saved
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Return 1 if target hardware or OS supports single stepping to signal
|
||||||
|
# handler, otherwise, return 0.
|
||||||
|
|
||||||
|
proc can_single_step_to_signal_handler {} {
|
||||||
|
|
||||||
|
# Targets don't have hardware single step. On these targets, when
|
||||||
|
# a signal is delivered during software single step, gdb is unable
|
||||||
|
# to determine the next instruction addresses, because start of signal
|
||||||
|
# handler is one of them.
|
||||||
|
if { [istarget "arm*-*-*"] || [istarget "mips*-*-*"] } {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
# Return 1 if target is ILP32.
|
# Return 1 if target is ILP32.
|
||||||
# This cannot be decided simply from looking at the target string,
|
# This cannot be decided simply from looking at the target string,
|
||||||
# as it might depend on externally passed compiler options like -m64.
|
# as it might depend on externally passed compiler options like -m64.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user