This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[patch, testsuite] Set language after reaching to main function
- From: Yao Qi <yao at codesourcery dot com>
- To: gdb-patches at sourceware dot org
- Date: Thu, 04 Aug 2011 11:10:35 +0800
- Subject: [patch, testsuite] Set language after reaching to main function
I find some similar failures below when I examine gdb test result,
FAIL: gdb.cp/cplusfuncs.exp: set language c++
FAIL: gdb.cp/inherit.exp: set language c++
FAIL: gdb.base/callfuncs.exp: set language c
They are all caused by warning emitted by gdb "Warning: the current
language does not match this frame.". I examined the frame like this:
(gdb) info frame
Stack level 0, frame at 0x40017780:
pc = 0x40000000 in _reset_ram
(reset-ram.S:24);
saved pc 0x40000a5c
source language asm.
Arglist at 0x40017780, args:
Locals at 0x40017780, Previous frame's sp is 0x40017780
My gdb is working with bare-mental board, and start up code is written
in assembly. That is the reason why gdb emit such warning when we set
language while pc is still within assembly code.
This patch is to address this problem by moving "set language" after
program hits breakpoint on main.
OK?
--
Yao (éå)
2011-08-04 Yao Qi <yao@codesourcery.com>
gdb/testsuite/
* gdb.base/callfuncs.exp: Set language after main.
* gdb.cp/cplusfuncs.exp: Likewise.
* gdb.cp/inherit.exp: Likewise.
diff --git a/gdb/testsuite/gdb.base/callfuncs.exp b/gdb/testsuite/gdb.base/callfuncs.exp
index 27ebd1e..a12feb8 100644
--- a/gdb/testsuite/gdb.base/callfuncs.exp
+++ b/gdb/testsuite/gdb.base/callfuncs.exp
@@ -299,10 +299,10 @@ if { $hp_aCC_compiler } {
gdb_test_no_output "set overload-resolution 0"
} else {
- gdb_test_no_output "set language c"
if { ![runto_main] } {
gdb_suppress_tests;
}
+ gdb_test_no_output "set language c"
}
get_debug_format
diff --git a/gdb/testsuite/gdb.cp/cplusfuncs.exp b/gdb/testsuite/gdb.cp/cplusfuncs.exp
index 10e4dac..721a178 100644
--- a/gdb/testsuite/gdb.cp/cplusfuncs.exp
+++ b/gdb/testsuite/gdb.cp/cplusfuncs.exp
@@ -603,11 +603,11 @@ proc do_tests {} {
gdb_reinitialize_dir $srcdir/$subdir
gdb_load $binfile
- gdb_test_no_output "set language c++"
gdb_test_no_output "set width 0"
runto_main
+ gdb_test_no_output "set language c++"
probe_demangler
test_paddr_overloaded_functions
test_paddr_operator_functions
diff --git a/gdb/testsuite/gdb.cp/inherit.exp b/gdb/testsuite/gdb.cp/inherit.exp
index c353394..add7536 100644
--- a/gdb/testsuite/gdb.cp/inherit.exp
+++ b/gdb/testsuite/gdb.cp/inherit.exp
@@ -728,7 +728,6 @@ proc do_tests { } {
gdb_reinitialize_dir $srcdir/$subdir
gdb_load $binfile
- gdb_test_no_output "set language c++"
gdb_test_no_output "set width 0"
if { ![runto_main] } then {
@@ -736,6 +735,7 @@ proc do_tests { } {
return
}
+ gdb_test_no_output "set language c++"
test_ptype_si
test_ptype_mi
test_ptype_vi