diff options
author | Tom de Vries <tdevries@suse.de> | 2021-09-01 18:18:05 +0200 |
---|---|---|
committer | Tom de Vries <tdevries@suse.de> | 2021-09-01 18:18:05 +0200 |
commit | 250e8e0d7fe4afcb125f9c7838fca9ec66ecc407 (patch) | |
tree | 44aeebfbbc311abc615d0fc189f8c61c0967edbd /gdb/testsuite/gdb.dwarf2/fission-reread.S | |
parent | ea17b3d59fe623b9946ab88b5a93e818bc9cd91c (diff) | |
download | gdb-250e8e0d7fe4afcb125f9c7838fca9ec66ecc407.zip gdb-250e8e0d7fe4afcb125f9c7838fca9ec66ecc407.tar.gz gdb-250e8e0d7fe4afcb125f9c7838fca9ec66ecc407.tar.bz2 |
[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 <tdevries@suse.de>
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.
Diffstat (limited to 'gdb/testsuite/gdb.dwarf2/fission-reread.S')
-rw-r--r-- | gdb/testsuite/gdb.dwarf2/fission-reread.S | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/gdb/testsuite/gdb.dwarf2/fission-reread.S b/gdb/testsuite/gdb.dwarf2/fission-reread.S index dd1ffcd..fcbcecb 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 */ |