This is the mail archive of the 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] Fix gdb.dwarf2/dwz.exp for thumb mode

We see the fail in gdb.dwarf2/dwz.exp in thumb mode,

p the_int^M
$2 = 99^M
(gdb) FAIL: gdb.dwarf2/dwz.exp: p the_int

In thumb mode, the lsb of references to 'main' in the assembly
(produced by dwarf assember) is set, so the generated debug
information is incorrect.

This patch copies the approach from

  [PATCH 4/4] Fix gdb.trace/entry-values.exp for thumb mode

introduce new label 'main_start' which is the correct
function address (without lsb set).  This patch fixes these
fails we've seen.

Regression tested on arm-none-eabi and x86_64-linux.


2014-09-03  Yao Qi  <>

	* gdb.dwarf2/dwz.exp: Use main_start instead of main.
	* gdb.dwarf2/main.c: Define label 'main_start' at the beginning
	function 'main'.
 gdb/testsuite/gdb.dwarf2/dwz.exp | 4 ++--
 gdb/testsuite/gdb.dwarf2/main.c  | 4 ++++
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/gdb/testsuite/gdb.dwarf2/dwz.exp b/gdb/testsuite/gdb.dwarf2/dwz.exp
index 9175f9e..ef19631 100644
--- a/gdb/testsuite/gdb.dwarf2/dwz.exp
+++ b/gdb/testsuite/gdb.dwarf2/dwz.exp
@@ -79,8 +79,8 @@ Dwarf::assemble $asm_file {
 	partial_label: partial_unit {} {
 	    subprogram {
 		{name main}
-		{low_pc main addr}
-		{high_pc "main + $main_length" addr}
+		{low_pc main_start addr}
+		{high_pc "main_start + $main_length" addr}
diff --git a/gdb/testsuite/gdb.dwarf2/main.c b/gdb/testsuite/gdb.dwarf2/main.c
index 3ddd194..5a4cbc3 100644
--- a/gdb/testsuite/gdb.dwarf2/main.c
+++ b/gdb/testsuite/gdb.dwarf2/main.c
@@ -17,6 +17,10 @@
 /* Dummy main function.  */
+asm (".section	\".text\"");
+asm (".balign 8");
+asm ("main_start: .globl main_start");

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