Fix regression by the "ambiguous linespec" series.
	* breakpoint.c (parse_breakpoint_sals): New variable cursal.  Use
	get_last_displayed_symtab and get_last_displayed_line and depending
	on CURSAL.

gdb/testsuite/
	Fix regression by the "ambiguous linespec" series.
	* gdb.base/break.exp (list marker1, break lineno, delete $bpnum): New
	tests.
This commit is contained in:
Jan Kratochvil
2012-06-11 19:16:24 +00:00
parent 356d9f9d9e
commit cc80f26716
4 changed files with 31 additions and 4 deletions

View File

@@ -1,3 +1,10 @@
2012-06-11 Jan Kratochvil <jan.kratochvil@redhat.com>
Fix regression by the "ambiguous linespec" series.
* breakpoint.c (parse_breakpoint_sals): New variable cursal. Use
get_last_displayed_symtab and get_last_displayed_line and depending
on CURSAL.
2012-06-11 Tom Tromey <tromey@redhat.com>
* dwarf2read.c (dw2_get_primary_filename_reader): New function.

View File

@@ -8802,19 +8802,26 @@ parse_breakpoint_sals (char **address,
}
else
{
struct symtab_and_line cursal = get_current_source_symtab_and_line ();
/* Force almost all breakpoints to be in terms of the
current_source_symtab (which is decode_line_1's default).
This should produce the results we want almost all of the
time while leaving default_breakpoint_* alone. */
if (last_displayed_sal_is_valid ())
time while leaving default_breakpoint_* alone.
ObjC: However, don't match an Objective-C method name which
may have a '+' or '-' succeeded by a '['. */
if (last_displayed_sal_is_valid ()
&& (!cursal.symtab
|| ((strchr ("+-", (*address)[0]) != NULL)
&& ((*address)[1] != '['))))
decode_line_full (address, DECODE_LINE_FUNFIRSTLINE,
get_last_displayed_symtab (),
get_last_displayed_line (),
canonical, NULL, NULL);
else
decode_line_full (address, DECODE_LINE_FUNFIRSTLINE,
(struct symtab *) NULL, 0,
canonical, NULL, NULL);
cursal.symtab, cursal.line, canonical, NULL, NULL);
}
}

View File

@@ -1,3 +1,9 @@
2012-06-11 Jan Kratochvil <jan.kratochvil@redhat.com>
Fix regression by the "ambiguous linespec" series.
* gdb.base/break.exp (list marker1, break lineno, delete $bpnum): New
tests.
2012-06-11 Jan Kratochvil <jan.kratochvil@redhat.com>
* lib/future.exp: Set $use_gdb_compile even if only find_go_linker is

View File

@@ -371,6 +371,13 @@ gdb_expect {
}
}
# Test the 'list' commands sets current file for the 'break LINENO' command.
set bp_marker1 [gdb_get_line_number "set breakpoint 16 here" ${srcfile1}]
gdb_test "list marker1" ".*"
gdb_test "break $bp_marker1" "Breakpoint \[0-9\]+ at 0x\[0-9a-f\]+: file .*${srcfile1}, line ${bp_marker1}\\." \
"break lineno"
gdb_test_no_output {delete $bpnum}
#
# run until the breakpoint at a line number
#