From 250e8e0d7fe4afcb125f9c7838fca9ec66ecc407 Mon Sep 17 00:00:00 2001 From: Tom de Vries Date: Wed, 1 Sep 2021 18:18:05 +0200 Subject: [PATCH] [gdb/testsuite] Fix dwo path in fission-*.S [ Using $build for /home/vries/gdb_versions/devel/build to make things a bit more readable. ] When using make check// to run test-case gdb.dwarf2/fission-base.exp: ... ( cd $build/gdb; make check//unix RUNTESTFLAGS="fission-base.exp" ) ... we run into: ... (gdb) file \ $build/gdb/testsuite.unix/outputs/gdb.dwarf2/fission-base/fission-base^M Reading symbols from \ $build/gdb/testsuite.unix/outputs/gdb.dwarf2/fission-base/fission-base...^M warning: Could not find DWO CU \ $build/gdb/testsuite.1/outputs/gdb.dwarf2/fission-base/fission-base.dwo \ (0x807060504030201) referenced by CU at offset 0xc7 [in module \ $build/gdb/testsuite.unix/outputs/gdb.dwarf2/fission-base/fission-base]^M ... The problem is that the executable refers to the dwo file using path name $build/gdb/testsuite.1/outputs/gdb.dwarf2/fission-base/fission-base.dwo, while the actual dwo file is at $build/gdb/testsuite.unix/outputs/gdb.dwarf2/fission-base/fission-base.dwo. This is caused by this trick in fission-base.S: ... #define XSTR(s) STR(s) #define STR(s) #s ... .asciz XSTR(DWO) # DW_AT_GNU_dwo_name ... and: ... $ echo | gcc -E -dD - | grep "define unix" ... I used this trick to avoid doing additional_flags=-DDWO=\"$dwo\", since I was concerned that there could be quoting issues. However, I've found other uses of this pattern, f.i. in gdb/testsuite/gdb.base/corefile-buildid.exp: ... additional_flags=-DSHLIB_NAME=\"$dlopen_lib\"] ... So, fix this by: - using additional_flags=-DDWO=\"$dwo\" and - using plain DWO instead of XSTR(DWO) Likewise in other gdb.dwarf2/fission*.exp test-cases. Tested on x86_64-linux, using make check//unix. gdb/testsuite/ChangeLog: 2021-09-01 Tom de Vries PR testsuite/28298 * gdb.dwarf2/fission-base.S: Use DWO instead of XSTR(DWO). * gdb.dwarf2/fission-loclists-pie.S: Same. * gdb.dwarf2/fission-loclists.S: Same. * gdb.dwarf2/fission-reread.S: Same. * gdb.dwarf2/fission-base.exp: Use additional_flags=-DDWO=\"$dwo\". * gdb.dwarf2/fission-loclists-pie.exp: Same. * gdb.dwarf2/fission-loclists.exp: Same. * gdb.dwarf2/fission-reread.exp: Same. --- gdb/testsuite/gdb.dwarf2/fission-base.S | 5 +---- gdb/testsuite/gdb.dwarf2/fission-base.exp | 2 +- gdb/testsuite/gdb.dwarf2/fission-loclists-pie.S | 4 +--- gdb/testsuite/gdb.dwarf2/fission-loclists-pie.exp | 2 +- gdb/testsuite/gdb.dwarf2/fission-loclists.S | 5 +---- gdb/testsuite/gdb.dwarf2/fission-loclists.exp | 2 +- gdb/testsuite/gdb.dwarf2/fission-reread.S | 7 ++----- gdb/testsuite/gdb.dwarf2/fission-reread.exp | 2 +- 8 files changed, 9 insertions(+), 20 deletions(-) diff --git a/gdb/testsuite/gdb.dwarf2/fission-base.S b/gdb/testsuite/gdb.dwarf2/fission-base.S index 5e10713e938..e11500cf64e 100644 --- a/gdb/testsuite/gdb.dwarf2/fission-base.S +++ b/gdb/testsuite/gdb.dwarf2/fission-base.S @@ -20,9 +20,6 @@ and then massaging the output. */ -#define XSTR(s) STR(s) -#define STR(s) #s - .file "fission-base.c" .text @@ -146,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 - .asciz XSTR(DWO) # DW_AT_GNU_dwo_name + .asciz DWO # 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 00eb7fec1b0..e5933103d79 100644 --- a/gdb/testsuite/gdb.dwarf2/fission-base.exp +++ b/gdb/testsuite/gdb.dwarf2/fission-base.exp @@ -36,7 +36,7 @@ set obj [standard_output_file "${testfile}.o"] set dwo [standard_output_file "${testfile}.dwo"] if [build_executable_and_dwo_files "$testfile.exp" "${binfile}" {nodebug} \ [list $srcfile \ - [list nodebug split-dwo additional_flags=-DDWO=$dwo] \ + [list nodebug split-dwo additional_flags=-DDWO=\"$dwo\"] \ $obj]] { return -1 } diff --git a/gdb/testsuite/gdb.dwarf2/fission-loclists-pie.S b/gdb/testsuite/gdb.dwarf2/fission-loclists-pie.S index e87ca369bf7..539029eab5c 100644 --- a/gdb/testsuite/gdb.dwarf2/fission-loclists-pie.S +++ b/gdb/testsuite/gdb.dwarf2/fission-loclists-pie.S @@ -33,8 +33,6 @@ return init (&argc); } */ -#define XSTR(s) STR(s) -#define STR(s) #s .file "fission-loclists-pie.c" .text @@ -463,7 +461,7 @@ main: .LASF1: .string "/tmp/19999/obj64/gdb/testsuite" .LASF0: - .string XSTR(DWO) + .string DWO .section .debug_str_offsets.dwo,"e",@progbits .long 0 # indexed string 0x0: argv .long 0x5 # indexed string 0x1: argc diff --git a/gdb/testsuite/gdb.dwarf2/fission-loclists-pie.exp b/gdb/testsuite/gdb.dwarf2/fission-loclists-pie.exp index 21098a24624..773e20031bc 100644 --- a/gdb/testsuite/gdb.dwarf2/fission-loclists-pie.exp +++ b/gdb/testsuite/gdb.dwarf2/fission-loclists-pie.exp @@ -41,7 +41,7 @@ set obj [standard_output_file "${testfile}.o"] set dwo [standard_output_file "${testfile}.dwo"] if [build_executable_and_dwo_files "$testfile.exp" "${binfile}" \ {nodebug ldflags=-pie} \ - [list $srcfile [list nodebug split-dwo additional_flags=-DDWO=$dwo] \ + [list $srcfile [list nodebug split-dwo additional_flags=-DDWO=\"$dwo\"] \ $obj]] { return -1 } diff --git a/gdb/testsuite/gdb.dwarf2/fission-loclists.S b/gdb/testsuite/gdb.dwarf2/fission-loclists.S index c40b956dc4e..6a187b852ab 100644 --- a/gdb/testsuite/gdb.dwarf2/fission-loclists.S +++ b/gdb/testsuite/gdb.dwarf2/fission-loclists.S @@ -33,9 +33,6 @@ } */ -#define XSTR(s) STR(s) -#define STR(s) #s - .file "fission-loclists.c" .text .Ltext0: @@ -243,7 +240,7 @@ main: .byte 0x5 .4byte .Ldebug_ranges0 # DW_AT_GNU_ranges_base .ascii "/tmp/src/gdb/testsuite\0" # DW_AT_comp_dir - .asciz XSTR(DWO) # DW_AT_GNU_dwo_name + .asciz DWO # 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 c490763982e..be4e4adfd8b 100644 --- a/gdb/testsuite/gdb.dwarf2/fission-loclists.exp +++ b/gdb/testsuite/gdb.dwarf2/fission-loclists.exp @@ -36,7 +36,7 @@ set obj [standard_output_file "${testfile}.o"] set dwo [standard_output_file "${testfile}.dwo"] if [build_executable_and_dwo_files "$testfile.exp" "${binfile}" {nodebug} \ [list $srcfile \ - [list nodebug split-dwo additional_flags=-DDWO=$dwo] \ + [list nodebug split-dwo additional_flags=-DDWO=\"$dwo\"] \ $obj]] { return -1 } diff --git a/gdb/testsuite/gdb.dwarf2/fission-reread.S b/gdb/testsuite/gdb.dwarf2/fission-reread.S index dd1ffcd05e8..fcbcecbec74 100644 --- a/gdb/testsuite/gdb.dwarf2/fission-reread.S +++ b/gdb/testsuite/gdb.dwarf2/fission-reread.S @@ -47,9 +47,6 @@ # define SYMBOL(str) str #endif -#define XSTR(s) STR(s) -#define STR(s) #s - .file "fission-reread.cc" .globl SYMBOL(baz) @@ -146,7 +143,7 @@ SYMBOL(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 */ - .asciz XSTR(DWO) /* DW_AT_GNU_dwo_name */ + .asciz DWO /* 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 */ @@ -217,7 +214,7 @@ SYMBOL(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 */ - .asciz XSTR(DWO) /* DW_AT_GNU_dwo_name */ + .asciz DWO /* 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-reread.exp b/gdb/testsuite/gdb.dwarf2/fission-reread.exp index 661e90b2f21..3cbcbde7535 100644 --- a/gdb/testsuite/gdb.dwarf2/fission-reread.exp +++ b/gdb/testsuite/gdb.dwarf2/fission-reread.exp @@ -40,7 +40,7 @@ if { $additional_flags != "" } { set dwo_options $options lappend dwo_options split-dwo -lappend dwo_options additional_flags=-DDWO=$dwo +lappend dwo_options additional_flags=-DDWO=\"$dwo\" if [build_executable_and_dwo_files "$testfile.exp" "${binfile}" $options \ [list $srcfile $dwo_options $obj]] { -- 2.30.2