Make more robust when run in parallel mode.
authorDoug Evans <dje@google.com>
Thu, 15 May 2014 22:50:34 +0000 (15:50 -0700)
committerDoug Evans <dje@google.com>
Thu, 15 May 2014 22:50:34 +0000 (15:50 -0700)
Since we're not compiling with gcc, we don't know where the
DWO file will ultimately be built.  It could be built in
testsuite/gdb.dwarf2/foo (non-parallel mode) or
testsuite/outputs/gdb.dwarf2/foo (parallel mode).

* gdb.dwarf2/fission-reread.S: Remove directory from .dwo file path.
* gdb.dwarf2/fission-reread.exp: Set debug-file-directory before
loading file.  Add test for TU lookup.

gdb/testsuite/ChangeLog
gdb/testsuite/gdb.dwarf2/fission-reread.S
gdb/testsuite/gdb.dwarf2/fission-reread.exp

index 486a4e2..2c1d3df 100644 (file)
@@ -1,3 +1,9 @@
+2014-05-15  Doug Evans  <dje@google.com>
+
+       * gdb.dwarf2/fission-reread.S: Remove directory from .dwo file path.
+       * gdb.dwarf2/fission-reread.exp: Set debug-file-directory before
+       loading file.  Add test for TU lookup.
+
 2014-05-15  Simon Marchi  <simon.marchi@ericsson.com>
 
        * lib/mi-support.exp (mi_run_cmd_full): Set arguments by
index 6d013c3..3e006bc 100644 (file)
@@ -134,7 +134,7 @@ main:
        .4byte  0       /* Offset to Type DIE */
        .uleb128 0x2    /* (DIE (0) DW_TAG_type_unit) */
        .ascii "/tmp/src/gdb/testsuite\0"       /* DW_AT_comp_dir */
-       .ascii "gdb.dwarf2/fission-reread.dwo\0" /* DW_AT_GNU_dwo_name */
+       .ascii "fission-reread.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 */
@@ -205,7 +205,7 @@ main:
        .4byte  .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-reread.dwo\0" /* DW_AT_GNU_dwo_name */
+       .ascii "fission-reread.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 */
index e7c3d9d..7eb792b 100644 (file)
@@ -32,10 +32,19 @@ 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
 
 gdb_test "break main" "Breakpoint.*at.*"
 
+gdb_test "ptype baz" "type = class foo {.*"
+
 # If we get this far gdb didn't crash, nor did an error occur.
 pass $testfile