[committed,gdb/testsuite] Fix inter-cu refs in inlined_subroutine-inheritance.exp

Message ID 20190624102231.GA26718@delia
State New, archived
Headers

Commit Message

Tom de Vries June 24, 2019, 10:22 a.m. UTC
  Hi,

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.

Committed to trunk.

Thanks,
- Tom

[gdb/testsuite] Fix inter-cu refs in inlined_subroutine-inheritance.exp

gdb/testsuite/ChangeLog:

2019-06-24  Tom de Vries  <tdevries@suse.de>

	* gdb.dwarf2/inlined_subroutine-inheritance.exp:

---
 gdb/testsuite/gdb.dwarf2/inlined_subroutine-inheritance.exp | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
  

Patch

diff --git a/gdb/testsuite/gdb.dwarf2/inlined_subroutine-inheritance.exp b/gdb/testsuite/gdb.dwarf2/inlined_subroutine-inheritance.exp
index 19b859492a..b51063c018 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}
 		    }
 		}
 	    }