[PATCH v2 16/17] fix some fission tests

Tom Tromey tromey@redhat.com
Fri Oct 18 21:44:00 GMT 2013


A couple of Fission tests rely on the current directory layout.  This
assumption is not valid in parallel mode.

This patch fixes the problem by removing the relative directory from
the .S files and instead having the tests set debug-file-directory
before opening the main file.

	* gdb.dwarf2/fission-base.S: Remove "gdb.dwarf/".
	* gdb.dwarf2/fission-base.exp: Set debug-file-directory
	before loading binfile.
	* gdb.dwarf2/fission-loclists.S: Remove "gdb.dwarf/".
	* gdb.dwarf2/fission-loclists.exp: Set debug-file-directory
	before loading binfile.
---
 gdb/testsuite/gdb.dwarf2/fission-base.S       | 4 ++--
 gdb/testsuite/gdb.dwarf2/fission-base.exp     | 9 ++++++++-
 gdb/testsuite/gdb.dwarf2/fission-loclists.S   | 2 +-
 gdb/testsuite/gdb.dwarf2/fission-loclists.exp | 9 ++++++++-
 4 files changed, 19 insertions(+), 5 deletions(-)

diff --git a/gdb/testsuite/gdb.dwarf2/fission-base.S b/gdb/testsuite/gdb.dwarf2/fission-base.S
index ccd6b23..e670423 100644
--- a/gdb/testsuite/gdb.dwarf2/fission-base.S
+++ b/gdb/testsuite/gdb.dwarf2/fission-base.S
@@ -85,7 +85,7 @@ main:
 	.uleb128 0x1	# (DIE (0xb) DW_TAG_compile_unit)
 	.ascii "GNU C 4.6.x-fission\0"	# DW_AT_producer
 	.byte	0x1	# DW_AT_language
-	.ascii "gdb.dwarf2/fission-base.c\0"	# DW_AT_name
+	.ascii "fission-base.c\0"	# DW_AT_name
 	.ascii "/tmp/src/gdb/testsuite\0"	# DW_AT_comp_dir
 	.byte	1	# DW_AT_GNU_dwo_id
 	.byte	2
@@ -143,7 +143,7 @@ main:
 	.8byte	.Letext0-.Ltext0	# DW_AT_high_pc
 	.4byte	.Ldebug_line0	# DW_AT_stmt_list
 	.ascii "/tmp/src/gdb/testsuite\0"	# DW_AT_comp_dir
-	.ascii "gdb.dwarf2/fission-base.dwo\0"	# DW_AT_GNU_dwo_name
+	.ascii "fission-base.dwo\0"	# DW_AT_GNU_dwo_name
 	.4byte	.Ldebug_pubnames0	# DW_AT_GNU_pubnames
 	.4byte	.Ldebug_pubtypes0	# DW_AT_GNU_pubtypes
 	.4byte	.Ldebug_addr0_begin	# DW_AT_GNU_addr_base
diff --git a/gdb/testsuite/gdb.dwarf2/fission-base.exp b/gdb/testsuite/gdb.dwarf2/fission-base.exp
index bb4eb77..81ca585 100644
--- a/gdb/testsuite/gdb.dwarf2/fission-base.exp
+++ b/gdb/testsuite/gdb.dwarf2/fission-base.exp
@@ -37,7 +37,14 @@ if [build_executable_from_fission_assembler \
     return -1
 }
 
-clean_restart ${binfile}
+gdb_exit
+gdb_start
+gdb_reinitialize_dir $srcdir/$subdir
+# Make sure we can find the .dwo file, regardless of whether we're
+# running in parallel mode.
+gdb_test_no_output "set debug-file-directory [file dirname $binfile]" \
+    "set debug-file-directory"
+gdb_load $binfile
 
 if ![runto_main] {
     return -1
diff --git a/gdb/testsuite/gdb.dwarf2/fission-loclists.S b/gdb/testsuite/gdb.dwarf2/fission-loclists.S
index 876c610..ee34a29 100644
--- a/gdb/testsuite/gdb.dwarf2/fission-loclists.S
+++ b/gdb/testsuite/gdb.dwarf2/fission-loclists.S
@@ -240,7 +240,7 @@ main:
 	.byte	0x5
 	.4byte	.Ldebug_ranges0	# DW_AT_GNU_ranges_base
 	.ascii "/tmp/src/gdb/testsuite\0"	# DW_AT_comp_dir
-	.ascii "gdb.dwarf2/fission-loclists.dwo\0"	# DW_AT_GNU_dwo_name
+	.ascii "fission-loclists.dwo\0"	# DW_AT_GNU_dwo_name
 	.4byte	.Ldebug_pubnames0	# DW_AT_GNU_pubnames
 	.4byte	.Ldebug_pubtypes0	# DW_AT_GNU_pubtypes
 	.4byte	.Ldebug_addr0	# DW_AT_GNU_addr_base
diff --git a/gdb/testsuite/gdb.dwarf2/fission-loclists.exp b/gdb/testsuite/gdb.dwarf2/fission-loclists.exp
index 29ccd1b..dccd6c2 100644
--- a/gdb/testsuite/gdb.dwarf2/fission-loclists.exp
+++ b/gdb/testsuite/gdb.dwarf2/fission-loclists.exp
@@ -37,7 +37,14 @@ if [build_executable_from_fission_assembler \
     return -1
 }
 
-clean_restart ${binfile}
+gdb_exit
+gdb_start
+gdb_reinitialize_dir $srcdir/$subdir
+# Make sure we can find the .dwo file, regardless of whether we're
+# running in parallel mode.
+gdb_test_no_output "set debug-file-directory [file dirname $binfile]" \
+    "set debug-file-directory"
+gdb_load $binfile
 
 if ![runto_main] {
     return -1
-- 
1.8.1.4



More information about the Gdb-patches mailing list