mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-19 00:59:15 +08:00
gdb/
* breakpoint.c (set_condition_evaluation_mode): Set CONDITION_EVALUATION_MODE unconditionally. gdb/testsuite/ Implement testsuite workaround for PR breakpoints/13781. * gdb.cp/mb-templates.exp: New loop with variable $workaround. (set breakpoint condition-evaluation host): New conditional command.
This commit is contained in:
@ -1,3 +1,8 @@
|
|||||||
|
2012-03-03 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||||
|
|
||||||
|
* breakpoint.c (set_condition_evaluation_mode): Set
|
||||||
|
CONDITION_EVALUATION_MODE unconditionally.
|
||||||
|
|
||||||
2012-03-03 Yao Qi <yao@codesourcery.com>
|
2012-03-03 Yao Qi <yao@codesourcery.com>
|
||||||
|
|
||||||
* common/agent.c (agent_look_up_symbols): Add one parameter 'arg'.
|
* common/agent.c (agent_look_up_symbols): Add one parameter 'arg'.
|
||||||
|
@ -761,6 +761,10 @@ set_condition_evaluation_mode (char *args, int from_tty,
|
|||||||
new_mode = translate_condition_evaluation_mode (condition_evaluation_mode_1);
|
new_mode = translate_condition_evaluation_mode (condition_evaluation_mode_1);
|
||||||
old_mode = translate_condition_evaluation_mode (condition_evaluation_mode);
|
old_mode = translate_condition_evaluation_mode (condition_evaluation_mode);
|
||||||
|
|
||||||
|
/* Flip the switch. Flip it even if OLD_MODE == NEW_MODE as one of the
|
||||||
|
settings was "auto". */
|
||||||
|
condition_evaluation_mode = condition_evaluation_mode_1;
|
||||||
|
|
||||||
/* Only update the mode if the user picked a different one. */
|
/* Only update the mode if the user picked a different one. */
|
||||||
if (new_mode != old_mode)
|
if (new_mode != old_mode)
|
||||||
{
|
{
|
||||||
@ -772,9 +776,6 @@ set_condition_evaluation_mode (char *args, int from_tty,
|
|||||||
"target" -> "host": Remove all the conditions from the target.
|
"target" -> "host": Remove all the conditions from the target.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Flip the switch. */
|
|
||||||
condition_evaluation_mode = condition_evaluation_mode_1;
|
|
||||||
|
|
||||||
if (new_mode == condition_evaluation_target)
|
if (new_mode == condition_evaluation_target)
|
||||||
{
|
{
|
||||||
/* Mark everything modified and synch conditions with the
|
/* Mark everything modified and synch conditions with the
|
||||||
|
@ -1,3 +1,9 @@
|
|||||||
|
2012-03-03 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||||
|
|
||||||
|
Implement testsuite workaround for PR breakpoints/13781.
|
||||||
|
* gdb.cp/mb-templates.exp: New loop with variable $workaround.
|
||||||
|
(set breakpoint condition-evaluation host): New conditional command.
|
||||||
|
|
||||||
2012-03-03 Jan Kratochvil <jan.kratochvil@redhat.com>
|
2012-03-03 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||||
|
|
||||||
Code cleanup.
|
Code cleanup.
|
||||||
|
@ -38,24 +38,35 @@ if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {deb
|
|||||||
return -1
|
return -1
|
||||||
}
|
}
|
||||||
|
|
||||||
clean_restart ${executable}
|
# If GDB crashes try it again workarounding PR breakpoints/13781.
|
||||||
|
|
||||||
set bp_location [gdb_get_line_number "set breakpoint here"]
|
foreach workaround [list "" " (workaround)"] {
|
||||||
|
clean_restart ${executable}
|
||||||
|
|
||||||
# Set a breakpoint with multiple locations
|
if {${workaround} != ""} {
|
||||||
# and a condition.
|
gdb_test_no_output "set breakpoint condition-evaluation host"
|
||||||
|
}
|
||||||
|
|
||||||
gdb_test "break $srcfile:$bp_location if i==1" \
|
set bp_location [gdb_get_line_number "set breakpoint here"]
|
||||||
"Breakpoint.*at.*: $srcfile:$bp_location. \\(2 locations\\).*" \
|
|
||||||
"initial condition: set breakpoint"
|
|
||||||
|
|
||||||
gdb_run_cmd
|
# Set a breakpoint with multiple locations
|
||||||
|
# and a condition.
|
||||||
|
|
||||||
set test "initial condition: run to breakpoint"
|
gdb_test "break $srcfile:$bp_location if i==1" \
|
||||||
gdb_test_multiple "" $test {
|
"Breakpoint.*at.*: $srcfile:$bp_location. \\(2 locations\\).*" \
|
||||||
-re "Breakpoint \[0-9\]+,.*foo<int> \\(i=1\\).*$gdb_prompt $" {
|
"initial condition: set breakpoint$workaround"
|
||||||
pass $test
|
|
||||||
break
|
gdb_run_cmd
|
||||||
|
|
||||||
|
if {${workaround} == "" && [is_remote target]} {
|
||||||
|
setup_kfail breakpoints/13781 "*-*-*"
|
||||||
|
}
|
||||||
|
set test "initial condition: run to breakpoint$workaround"
|
||||||
|
gdb_test_multiple "" $test {
|
||||||
|
-re "Breakpoint \[0-9\]+,.*foo<int> \\(i=1\\).*$gdb_prompt $" {
|
||||||
|
pass $test
|
||||||
|
break
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user