2012-11-06  Pedro Alves  <palves@redhat.com>

	PR gdb/14810

	* breakpoint.c (bpstat_stop_status): Skip disabled locations.

gdb/testsuite/
2012-11-06  Pedro Alves  <palves@redhat.com>

	PR gdb/14810

	* gdb.base/disabled-location.c: New file.
	* gdb.base/disabled-location.exp: New file.
This commit is contained in:
Pedro Alves
2012-11-06 15:25:05 +00:00
parent 2d338fa948
commit f659243918
5 changed files with 84 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2012-11-06 Pedro Alves <palves@redhat.com>
PR gdb/14810
* breakpoint.c (bpstat_stop_status): Skip disabled locations.
2012-11-06 Pierre Muller <muller@sourceware.org>
* contrib/ari/create-web-ari-in-src.sh: Avoid problem if script

View File

@ -5175,7 +5175,7 @@ bpstat_stop_status (struct address_space *aspace,
if (b->type == bp_hardware_watchpoint && bl != b->loc)
break;
if (bl->shlib_disabled)
if (!bl->enabled || bl->shlib_disabled)
continue;
if (!bpstat_check_location (bl, aspace, bp_addr, ws))

View File

@ -1,3 +1,10 @@
2012-11-06 Pedro Alves <palves@redhat.com>
PR gdb/14810
* gdb.base/disabled-location.c: New file.
* gdb.base/disabled-location.exp: New file.
2012-11-06 Tom Tromey <tromey@redhat.com>
* gdb.threads/gcore-thread.exp: Use gdb_gcore_cmd.

View File

@ -0,0 +1,29 @@
/* This testcase is part of GDB, the GNU debugger.
Copyright (C) 2012 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
static int
function (void)
{
return 1; /* step stops here */
}
int
main ()
{
function ();
return 0;
}

View File

@ -0,0 +1,41 @@
# Copyright (C) 2012 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
standard_testfile
if { [prepare_for_testing ${testfile}.exp ${testfile}] } {
return -1
}
if ![runto_main] then {
fail "Can't run to main"
return 0
}
gdb_test "break function" \
"Breakpoint.*at.* file .*$srcfile, line.*" \
"setting breakpoint on function"
gdb_test_no_output "disable \$bpnum.1" "disable location"
set test "step doesn't trip on disabled location"
gdb_test_multiple "step" $test {
-re "Breakpoint .*$gdb_prompt $" {
fail $test
}
-re "function \\(\\) at .*$srcfile:.*step stops here.*$gdb_prompt $" {
pass $test
}
}