[gdb/testsuite] Fix inter-cu refs in inlined_subroutine-inheritance.exp
authorTom de Vries <tdevries@suse.de>
Mon, 24 Jun 2019 10:20:39 +0000 (12:20 +0200)
committerTom de Vries <tdevries@suse.de>
Mon, 24 Jun 2019 10:20:39 +0000 (12:20 +0200)
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:

gdb/testsuite/ChangeLog
gdb/testsuite/gdb.dwarf2/inlined_subroutine-inheritance.exp

index 8cd3c5119418a689f2616826048c3cf75ec8c2f6..4d48d2f63a2c1e11efd2704475659cfaf823fd37 100644 (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.
index 19b859492a1b66c6e0f600073a24bc1dfad08e1c..b51063c01825043ef290c1c1d7eaf660189438f6 100644 (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}
                    }
                }
            }