mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2024-12-03 01:30:50 +00:00
gdb/:
* printcmd.c (do_one_display): If display/i, start with an initial line feed to avoid bad layout if there is a branch delay slot. gdb/testsuite/: * gdb.base/display.exp: Allow a newline after display/i. * gdb.base/pc-fp.exp: Likewise. * gdb.base/sigbpt.exp: Likewise.
This commit is contained in:
parent
a464298641
commit
6a2eb47454
@ -1,3 +1,8 @@
|
|||||||
|
2007-06-21 Chris Dearman <chris@mips.com>
|
||||||
|
|
||||||
|
* printcmd.c (do_one_display): If display/i, start with an initial
|
||||||
|
line feed to avoid bad layout if there is a branch delay slot.
|
||||||
|
|
||||||
2007-06-21 Nigel Stephens <nigel@mips.com>
|
2007-06-21 Nigel Stephens <nigel@mips.com>
|
||||||
Maciej W. Rozycki <macro@mips.com>
|
Maciej W. Rozycki <macro@mips.com>
|
||||||
|
|
||||||
|
@ -1520,7 +1520,7 @@ do_one_display (struct display *d)
|
|||||||
print_expression (d->exp, gdb_stdout);
|
print_expression (d->exp, gdb_stdout);
|
||||||
annotate_display_expression_end ();
|
annotate_display_expression_end ();
|
||||||
|
|
||||||
if (d->format.count != 1)
|
if (d->format.count != 1 || d->format.format == 'i')
|
||||||
printf_filtered ("\n");
|
printf_filtered ("\n");
|
||||||
else
|
else
|
||||||
printf_filtered (" ");
|
printf_filtered (" ");
|
||||||
|
@ -1,3 +1,10 @@
|
|||||||
|
2007-06-21 Chris Dearman <chris@mips.com>
|
||||||
|
Maciej W. Rozycki <macro@mips.com>
|
||||||
|
|
||||||
|
* gdb.base/display.exp: Allow a newline after display/i.
|
||||||
|
* gdb.base/pc-fp.exp: Likewise.
|
||||||
|
* gdb.base/sigbpt.exp: Likewise.
|
||||||
|
|
||||||
2007-06-13 Daniel Jacobowitz <dan@codesourcery.com>
|
2007-06-13 Daniel Jacobowitz <dan@codesourcery.com>
|
||||||
|
|
||||||
* gdb.xml/tdesc-regs.exp: Add MIPS support. Allow multiple
|
* gdb.xml/tdesc-regs.exp: Add MIPS support. Allow multiple
|
||||||
|
@ -95,7 +95,7 @@ gdb_test "break 19" ".*Breakpoint 4.*" "break 19"
|
|||||||
gdb_test "info disp" ".*There are no auto-display expressions now..*" "inf disp"
|
gdb_test "info disp" ".*There are no auto-display expressions now..*" "inf disp"
|
||||||
gdb_test "disp i" ".*1: i = 0.*" "display i"
|
gdb_test "disp i" ".*1: i = 0.*" "display i"
|
||||||
gdb_test "disp/x j" ".*2: /x j = 0x0.*" "display j"
|
gdb_test "disp/x j" ".*2: /x j = 0x0.*" "display j"
|
||||||
gdb_test "disp/i &k" ".*3: x/i &k $hex:.*" "display &k"
|
gdb_test "disp/i &k" ".*3: x/i &k(\r\n| )$hex:.*" "display &k"
|
||||||
gdb_test "disp/f f" ".*4: /f f = 3.1415*" "display/f f"
|
gdb_test "disp/f f" ".*4: /f f = 3.1415*" "display/f f"
|
||||||
gdb_test "disp/s &sum" ".*5: x/s &sum $hex.*sum.:.*" "display/s &sum"
|
gdb_test "disp/s &sum" ".*5: x/s &sum $hex.*sum.:.*" "display/s &sum"
|
||||||
|
|
||||||
|
@ -82,7 +82,7 @@ set valueof_fp [get_valueofx "/x" "\$fp" "0"]
|
|||||||
# display since that encodes and then decodes the expression parameter
|
# display since that encodes and then decodes the expression parameter
|
||||||
# (and hence uses the mechanisms we're trying to test).
|
# (and hence uses the mechanisms we're trying to test).
|
||||||
|
|
||||||
gdb_test "display/i \$pc" "1: x/i +\\\$pc +${valueof_pc}.*"
|
gdb_test "display/i \$pc" "1: x/i +\\\$pc( +|\r\n)${valueof_pc}.*"
|
||||||
gdb_test "display/w \$fp" "2: x/xw +\\\$fp +${valueof_fp}.*"
|
gdb_test "display/w \$fp" "2: x/xw +\\\$fp +${valueof_fp}.*"
|
||||||
|
|
||||||
# FIXME: cagney/2002-09-04: Should also check that ``info registers
|
# FIXME: cagney/2002-09-04: Should also check that ``info registers
|
||||||
|
@ -91,12 +91,12 @@ gdb_test {display/i $pc}
|
|||||||
gdb_test "advance *bowler" "bowler.*" "advance to the bowler"
|
gdb_test "advance *bowler" "bowler.*" "advance to the bowler"
|
||||||
set test "stepping to SIGSEGV"
|
set test "stepping to SIGSEGV"
|
||||||
gdb_test_multiple "stepi" "$test" {
|
gdb_test_multiple "stepi" "$test" {
|
||||||
-re "Program received signal SIGSEGV.*pc *(0x\[0-9a-f\]*).*$gdb_prompt $" {
|
-re "Program received signal SIGSEGV.*pc(\r\n| *) *(0x\[0-9a-f\]*).*$gdb_prompt $" {
|
||||||
set segv_addr $expect_out(1,string)
|
set segv_addr $expect_out(2,string)
|
||||||
pass "$test"
|
pass "$test"
|
||||||
}
|
}
|
||||||
-re " .*pc *(0x\[0-9a-f\]*).*bowler.*$gdb_prompt $" {
|
-re " .*pc(\r\n| *)(0x\[0-9a-f\]*).*bowler.*$gdb_prompt $" {
|
||||||
set bowler_addrs [concat $expect_out(1,string) $bowler_addrs]
|
set bowler_addrs [concat $expect_out(2,string) $bowler_addrs]
|
||||||
send_gdb "stepi\n"
|
send_gdb "stepi\n"
|
||||||
exp_continue
|
exp_continue
|
||||||
}
|
}
|
||||||
@ -183,19 +183,19 @@ proc stepi_out { name args } {
|
|||||||
-re "Program received signal SIGSEGV.*$gdb_prompt $" {
|
-re "Program received signal SIGSEGV.*$gdb_prompt $" {
|
||||||
kfail gdb/1702 "$test (executed fault insn)"
|
kfail gdb/1702 "$test (executed fault insn)"
|
||||||
}
|
}
|
||||||
-re "Breakpoint.*pc *[at_segv] .*bowler.*$gdb_prompt $" {
|
-re "Breakpoint.*pc(\r\n| *)[at_segv] .*bowler.*$gdb_prompt $" {
|
||||||
pass "$test (at breakpoint)"
|
pass "$test (at breakpoint)"
|
||||||
}
|
}
|
||||||
-re "Breakpoint.*pc *[after_segv] .*bowler.*$gdb_prompt $" {
|
-re "Breakpoint.*pc(\r\n| *)[after_segv] .*bowler.*$gdb_prompt $" {
|
||||||
kfail gdb/1702 "$test (executed breakpoint)"
|
kfail gdb/1702 "$test (executed breakpoint)"
|
||||||
}
|
}
|
||||||
-re "pc *[at_segv] .*bowler.*$gdb_prompt $" {
|
-re "pc(\r\n| *)[at_segv] .*bowler.*$gdb_prompt $" {
|
||||||
pass "$test"
|
pass "$test"
|
||||||
}
|
}
|
||||||
-re "pc *[after_segv] .*bowler.*$gdb_prompt $" {
|
-re "pc(\r\n| *)[after_segv] .*bowler.*$gdb_prompt $" {
|
||||||
kfail gdb/1702 "$test (skipped fault insn)"
|
kfail gdb/1702 "$test (skipped fault insn)"
|
||||||
}
|
}
|
||||||
-re "pc *0x\[a-z0-9\]* .*bowler.*$gdb_prompt $" {
|
-re "pc(\r\n| *)0x\[a-z0-9\]* .*bowler.*$gdb_prompt $" {
|
||||||
kfail gdb/1702 "$test (corrupt pc)"
|
kfail gdb/1702 "$test (corrupt pc)"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -239,12 +239,12 @@ proc cont_out { name args } {
|
|||||||
# inserted at the faulting instruction. Note that the breakpoint
|
# inserted at the faulting instruction. Note that the breakpoint
|
||||||
# instruction wasn't executed, rather the inferior was SIGTRAPed
|
# instruction wasn't executed, rather the inferior was SIGTRAPed
|
||||||
# with the PC at the breakpoint.
|
# with the PC at the breakpoint.
|
||||||
gdb_test "continue" "Breakpoint.*pc *[at_segv] .*" \
|
gdb_test "continue" "Breakpoint.*pc(\r\n| *)[at_segv] .*" \
|
||||||
"${name}; continue to breakpoint at fault"
|
"${name}; continue to breakpoint at fault"
|
||||||
|
|
||||||
# Now single step the faulted instrction at that breakpoint.
|
# Now single step the faulted instrction at that breakpoint.
|
||||||
gdb_test "stepi" \
|
gdb_test "stepi" \
|
||||||
"Program received signal SIGSEGV.*pc *[at_segv] .*" \
|
"Program received signal SIGSEGV.*pc(\r\n| *)[at_segv] .*" \
|
||||||
"${name}; stepi fault"
|
"${name}; stepi fault"
|
||||||
|
|
||||||
# Clear any breakpoints
|
# Clear any breakpoints
|
||||||
|
Loading…
Reference in New Issue
Block a user