[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:
This commit is contained in:
Tom de Vries
2019-06-24 12:20:39 +02:00
parent a33f989b4e
commit 385b97d3ac
2 changed files with 7 additions and 3 deletions

View File

@ -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.

View File

@ -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}
}
}
}