This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]