From: Tom Tromey Date: Thu, 26 Mar 2009 23:30:12 +0000 (+0000) Subject: gdb X-Git-Tag: sid-snapshot-20090401~54 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=56ef84b1f160a25c6f41c0778192f2642d250624;p=thirdparty%2Fbinutils-gdb.git gdb * breakpoint.c (resolve_sal_pc): Preserve original line number when skipping prologue. gdb/testsuite Update for change to prologue skipping: * gdb.mi/mi2-simplerun.exp: Update. * gdb.mi/mi2-break.exp: Update. * gdb.mi/mi-simplerun.exp: Update. * gdb.mi/mi-break.exp: Update. * gdb.base/ending-run.exp: Update. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 695b09b4e5a..9d5efa4e8af 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2009-03-26 Tom Tromey + + * breakpoint.c (resolve_sal_pc): Preserve original line number + when skipping prologue. + 2009-03-26 Doug Evans * thread.c (inferior_thread) Remove "extern" in definition. diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c index 7ffdf773f38..b0cdfb32d34 100644 --- a/gdb/breakpoint.c +++ b/gdb/breakpoint.c @@ -5765,7 +5765,12 @@ resolve_sal_pc (struct symtab_and_line *sal) /* If this SAL corresponds to a breakpoint inserted using a line number, then skip the function prologue if necessary. */ if (sal->explicit_line) - skip_prologue_sal (sal); + { + /* Preserve the original line number. */ + int saved_line = sal->line; + skip_prologue_sal (sal); + sal->line = saved_line; + } } if (sal->section == 0 && sal->symtab != NULL) diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 599ba76fd71..d9b5555de51 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,12 @@ +2009-03-26 Tom Tromey + + Update for change to prologue skipping: + * gdb.mi/mi2-simplerun.exp: Update. + * gdb.mi/mi2-break.exp: Update. + * gdb.mi/mi-simplerun.exp: Update. + * gdb.mi/mi-break.exp: Update. + * gdb.base/ending-run.exp: Update. + 2009-03-26 Thiago Jung Bauermann * gdb.python/python-value.exp (test_value_in_inferior): Test diff --git a/gdb/testsuite/gdb.base/ending-run.exp b/gdb/testsuite/gdb.base/ending-run.exp index 42b4577ae7f..cf336023bef 100644 --- a/gdb/testsuite/gdb.base/ending-run.exp +++ b/gdb/testsuite/gdb.base/ending-run.exp @@ -69,7 +69,7 @@ gdb_expect { gdb_test "b ending-run.c:1" ".*Breakpoint.*4.*" gdb_test "b ending-run.c:14" ".*Note.*also.*Breakpoint.*5.*" "b ending-run.c:14, two" gdb_test "cle ending-run.c:14" \ - ".*Deleted breakpoints 4 5.*" "Cleared 2 by line" + ".*Deleted breakpoint 5.*" "Cleared 2 by line" send_gdb "inf line ending-run.c:14\n" gdb_expect { @@ -77,7 +77,7 @@ gdb_expect { set line_nine $expect_out(1,string) gdb_test "b ending-run.c:14" ".*Breakpoint 6.*ending-run.c, line 14.*" gdb_test "b *$line_nine" ".*Note.*also.*Breakpoint 7.*" "Breakpoint 7 at *ending-run.c:14" - gdb_test "cle" ".*Deleted breakpoints 6 7.*" "Clear 2 by default" + gdb_test "cle" ".*Deleted breakpoints 4 6 7.*" "Clear 2 by default" } -re ".*$gdb_prompt $" { fail "need to fix test for new compile outcome" diff --git a/gdb/testsuite/gdb.mi/mi-break.exp b/gdb/testsuite/gdb.mi/mi-break.exp index 6ea59fc3f23..0f91af779a1 100644 --- a/gdb/testsuite/gdb.mi/mi-break.exp +++ b/gdb/testsuite/gdb.mi/mi-break.exp @@ -85,11 +85,11 @@ proc test_tbreak_creation_and_listing {} { mi_create_breakpoint "-t basics.c:callee2" 2 del callee2 ".*basics.c" $line_callee2_body $hex \ "insert temp breakpoint at basics.c:callee2" - mi_create_breakpoint "-t basics.c:$line_callee3_head" 3 del callee3 ".*basics.c" $line_callee3_body $hex \ + mi_create_breakpoint "-t basics.c:$line_callee3_head" 3 del callee3 ".*basics.c" $line_callee3_head $hex \ "insert temp breakpoint at basics.c:\$line_callee3_head" # Getting the quoting right is tricky. That is "\"\":$line_callee4_head" - mi_create_breakpoint "-t \"\\\"${srcfile}\\\":$line_callee4_head\"" 4 del callee4 ".*basics.c" $line_callee4_body $hex \ + mi_create_breakpoint "-t \"\\\"${srcfile}\\\":$line_callee4_head\"" 4 del callee4 ".*basics.c" $line_callee4_head $hex \ "insert temp breakpoint at \"\":\$line_callee4_head" mi_gdb_test "666-break-list" \ diff --git a/gdb/testsuite/gdb.mi/mi-simplerun.exp b/gdb/testsuite/gdb.mi/mi-simplerun.exp index 654146a3d01..14a14460a19 100644 --- a/gdb/testsuite/gdb.mi/mi-simplerun.exp +++ b/gdb/testsuite/gdb.mi/mi-simplerun.exp @@ -74,10 +74,10 @@ proc test_breakpoints_creation_and_listing {} { mi_create_breakpoint "basics.c:callee2" 2 keep callee2 ".*basics.c" $line_callee2_body $hex \ "insert breakpoint at basics.c:callee2" - mi_create_breakpoint "basics.c:$line_callee3_head" 3 keep callee3 ".*basics.c" $line_callee3_body $hex \ + mi_create_breakpoint "basics.c:$line_callee3_head" 3 keep callee3 ".*basics.c" $line_callee3_head $hex \ "insert breakpoint at basics.c:\$line_callee3_head" - mi_create_breakpoint "\"\\\"${srcfile}\\\":$line_callee4_head\"" 4 keep callee4 ".*basics.c" $line_callee4_body $hex \ + mi_create_breakpoint "\"\\\"${srcfile}\\\":$line_callee4_head\"" 4 keep callee4 ".*basics.c" $line_callee4_head $hex \ "insert breakpoint at \"\":\$line_callee4_head" mi_gdb_test "204-break-list" \ diff --git a/gdb/testsuite/gdb.mi/mi2-break.exp b/gdb/testsuite/gdb.mi/mi2-break.exp index d08081a69ed..7f433155d5a 100644 --- a/gdb/testsuite/gdb.mi/mi2-break.exp +++ b/gdb/testsuite/gdb.mi/mi2-break.exp @@ -85,11 +85,11 @@ proc test_tbreak_creation_and_listing {} { mi_create_breakpoint "-t basics.c:callee2" 2 del callee2 ".*basics.c" $line_callee2_body $hex \ "insert temp breakpoint at basics.c:callee2" - mi_create_breakpoint "-t basics.c:$line_callee3_head" 3 del callee3 ".*basics.c" $line_callee3_body $hex \ + mi_create_breakpoint "-t basics.c:$line_callee3_head" 3 del callee3 ".*basics.c" $line_callee3_head $hex \ "insert temp breakpoint at basics.c:\$line_callee3_head" # Getting the quoting right is tricky. That is "\"\":$line_callee4_head" - mi_create_breakpoint "-t \"\\\"${srcfile}\\\":$line_callee4_head\"" 4 del callee4 ".*basics.c" $line_callee4_body $hex \ + mi_create_breakpoint "-t \"\\\"${srcfile}\\\":$line_callee4_head\"" 4 del callee4 ".*basics.c" $line_callee4_head $hex \ "insert temp breakpoint at \"\":\$line_callee4_head" mi_gdb_test "666-break-list" \ diff --git a/gdb/testsuite/gdb.mi/mi2-simplerun.exp b/gdb/testsuite/gdb.mi/mi2-simplerun.exp index eddb2ede121..13443ee1a6e 100644 --- a/gdb/testsuite/gdb.mi/mi2-simplerun.exp +++ b/gdb/testsuite/gdb.mi/mi2-simplerun.exp @@ -74,10 +74,10 @@ proc test_breakpoints_creation_and_listing {} { mi_create_breakpoint "basics.c:callee2" 2 keep callee2 ".*basics.c" $line_callee2_body $hex \ "insert breakpoint at basics.c:callee2" - mi_create_breakpoint "basics.c:$line_callee3_head" 3 keep callee3 ".*basics.c" $line_callee3_body $hex \ + mi_create_breakpoint "basics.c:$line_callee3_head" 3 keep callee3 ".*basics.c" $line_callee3_head $hex \ "insert breakpoint at basics.c:\$line_callee3_head" - mi_create_breakpoint "\"\\\"${srcfile}\\\":$line_callee4_head\"" 4 keep callee4 ".*basics.c" $line_callee4_body $hex \ + mi_create_breakpoint "\"\\\"${srcfile}\\\":$line_callee4_head\"" 4 keep callee4 ".*basics.c" $line_callee4_head $hex \ "insert breakpoint at \"\":\$line_callee4_head" mi_gdb_test "204-break-list" \