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:
+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.
{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}
}
}
}