diff options
author | Tom de Vries <tdevries@suse.de> | 2019-06-24 12:20:39 +0200 |
---|---|---|
committer | Tom de Vries <tdevries@suse.de> | 2019-06-24 12:20:39 +0200 |
commit | 385b97d3ac9c5c57a610d2e5b358ed888008ae31 (patch) | |
tree | 5f1d70c6232e2ca08c13af19b46e1a05f5c021a5 | |
parent | a33f989b4ed69c9f8f905360444e3d57a83a0cb6 (diff) | |
download | gdb-385b97d3ac9c5c57a610d2e5b358ed888008ae31.zip gdb-385b97d3ac9c5c57a610d2e5b358ed888008ae31.tar.gz gdb-385b97d3ac9c5c57a610d2e5b358ed888008ae31.tar.bz2 |
[gdb/testsuite] Fix inter-cu refs in inlined_subroutine-inheritance.exp
When running gdb.dwarf2/inlined_subroutine-inheritance.exp with board
cc-with-dwz, we run into:
...
dwz: inlined_subroutine-inheritance: Couldn't find DIE referenced by \
DW_AT_abstract_origin
...
The problem is that the DW_AT_abstract_origin attributes refer to DIEs in
other CUs, while the references are encoded using the cu-relative encoding
DW_FORM_ref4.
Fix this by forcing the references to use DW_FORM_ref_addr.
Tested on x86_64-linux.
Tested with commit c24bdb023c "Introduce dwarf2_cu::get_builder" reverted,
and verified that the test-case fails in the same way before and after this
patch.
gdb/testsuite/ChangeLog:
2019-06-24 Tom de Vries <tdevries@suse.de>
* gdb.dwarf2/inlined_subroutine-inheritance.exp:
-rw-r--r-- | gdb/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | gdb/testsuite/gdb.dwarf2/inlined_subroutine-inheritance.exp | 6 |
2 files changed, 7 insertions, 3 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 8cd3c51..4d48d2f 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2019-06-24 Tom de Vries <tdevries@suse.de> + + * gdb.dwarf2/inlined_subroutine-inheritance.exp: + 2019-06-21 Tom de Vries <tdevries@suse.de> * gdb.base/index-cache.exp: Add additional_flags=-Wl,--build-id. diff --git a/gdb/testsuite/gdb.dwarf2/inlined_subroutine-inheritance.exp b/gdb/testsuite/gdb.dwarf2/inlined_subroutine-inheritance.exp index 19b8594..b51063c 100644 --- a/gdb/testsuite/gdb.dwarf2/inlined_subroutine-inheritance.exp +++ b/gdb/testsuite/gdb.dwarf2/inlined_subroutine-inheritance.exp @@ -44,17 +44,17 @@ Dwarf::assemble $asm_file { {name "<artificial>"} } { D72f8: subprogram { - {abstract_origin :$D272519} + {abstract_origin %$D272519} {low_pc 0xb9e20 addr} {high_pc 0x1f5 data4} } { D736e: inlined_subroutine { - {abstract_origin :$D26b227} + {abstract_origin %$D26b227} {low_pc 0xb9efc addr} {high_pc 0xc data4} } { formal_parameter { - {abstract_origin :$D274c42} + {abstract_origin %$D274c42} } } } |