testcase for PR symtab/17855

gdb/testsuite/ChangeLog:

	PR symtab/17855
	* gdb.ada/exec_changed.exp: Add second test where symbol lookup cache
	is read after symbols have been re-read.
	* gdb.ada/exec_changed/first.adb (First): New procedure Break_Me.
	* gdb.ada/exec_changed/second.adb (Second): Ditto.
This commit is contained in:
Doug Evans 2015-02-22 09:11:55 -08:00
parent 96553a0cff
commit 85c3a371b3
4 changed files with 49 additions and 2 deletions

View File

@ -1,3 +1,11 @@
2015-02-22 Doug Evans <xdje42@gmail.com>
PR symtab/17855
* gdb.ada/exec_changed.exp: Add second test where symbol lookup cache
is read after symbols have been re-read.
* gdb.ada/exec_changed/first.adb (First): New procedure Break_Me.
* gdb.ada/exec_changed/second.adb (Second): Ditto.
2015-02-21 Doug Evans <dje@google.com>
* gdb.cp/anon-ns.exp: Add test for ptype '(anonymous namespace)'.

View File

@ -81,3 +81,30 @@ if { [gdb_start_cmd] < 0 } {
"second \\(\\) at .*second.adb.*" \
"start second"
}
# Try again, this time with just changing the file time of first.
clean_restart "${binfile}$EXEEXT"
# Ensure we don't accidently use the main symbol cache.
gdb_test_no_output "mt set symbol-cache-size 0"
# Put something in the symbol lookup cache that will get looked up when
# starting after having re-read symbols. PR 17855.
gdb_breakpoint break_me
gdb_test "shell touch ${binfile}$EXEEXT" ".*" ""
gdb_test "shell sleep 1" ".*" ""
if { [gdb_start_cmd] < 0 } {
# PR 17855: At this point gdb may have crashed or gotten an internal
# error, but we still need to detect this. Just issue any simple command
# to verify gdb is still running. This will establish in gdb.log whether
# gdb is still running.
gdb_test_no_output "set \$check_gdb_running = 0" "check gdb running"
fail "start just first"
} else {
gdb_test "" \
"first \\(\\) at .*first.adb.*" \
"start just first"
}

View File

@ -14,6 +14,12 @@
-- along with this program. If not, see <http://www.gnu.org/licenses/>.
procedure First is
procedure Break_Me is
begin
null;
end Break_Me;
begin
null;
Break_Me;
end First;

View File

@ -14,6 +14,12 @@
-- along with this program. If not, see <http://www.gnu.org/licenses/>.
procedure Second is
procedure Break_Me is
begin
null;
end Break_Me;
begin
null;
Break_Me;
end Second;