[binutils-gdb] [gdb/testsuite] Use DW_FORM_ref_addr in gdb.dwarf2/enqueued-cu-base-addr.exp
Tom de Vries
vries@sourceware.org
Mon Feb 8 14:18:15 GMT 2021
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=4001d90ddecdfc0e89daa4eca17006e20ad626c0
commit 4001d90ddecdfc0e89daa4eca17006e20ad626c0
Author: Tom de Vries <tdevries@suse.de>
Date: Mon Feb 8 15:18:12 2021 +0100
[gdb/testsuite] Use DW_FORM_ref_addr in gdb.dwarf2/enqueued-cu-base-addr.exp
When running test-case gdb.dwarf2/enqueued-cu-base-addr.exp with target board
cc-with-dwz, I get:
...
gdb compile failed, dwz: enqueued-cu-base-addr: \
Couldn't find DIE at [100] referenced by DW_AT_type from DIE at [d8]
...
At 0xd8 we have DIE:
...
<1><d8>: Abbrev Number: 3 (DW_TAG_variable)
<d9> DW_AT_name : foo
<dd> DW_AT_type : <0x100>
<e1> DW_AT_const_value : 1
...
referring to:
...
<1><100>: Abbrev Number: 3 (DW_TAG_base_type)
<101> DW_AT_byte_size : 4
<102> DW_AT_encoding : 5 (signed)
<103> DW_AT_name : int
...
The reference is inter-CU, but the used abbrev uses DW_FORM_ref4:
...
3 DW_TAG_variable [no children]
DW_AT_name DW_FORM_string
DW_AT_type DW_FORM_ref4
DW_AT_const_value DW_FORM_sdata
DW_AT value: 0 DW_FORM value: 0
...
which is for intra-CU references.
Fix this by using a '%' instead of a ':' label prefix in the dwarf assembly.
Tested on x86_64-linux.
gdb/testsuite/ChangeLog:
2021-02-08 Tom de Vries <tdevries@suse.de>
* gdb.dwarf2/enqueued-cu-base-addr.exp: Fix inter-CU reference.
Diff:
---
gdb/testsuite/ChangeLog | 4 ++++
gdb/testsuite/gdb.dwarf2/enqueued-cu-base-addr.exp | 2 +-
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index 3e622adb4d0..8aa739749f0 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2021-02-08 Tom de Vries <tdevries@suse.de>
+
+ * gdb.dwarf2/enqueued-cu-base-addr.exp: Fix inter-CU reference.
+
2021-02-08 Andrew Burgess <andrew.burgess@embecosm.com>
* gdb.python/tui-window-disabled.c: New file.
diff --git a/gdb/testsuite/gdb.dwarf2/enqueued-cu-base-addr.exp b/gdb/testsuite/gdb.dwarf2/enqueued-cu-base-addr.exp
index 2b93bc87feb..3cf6b079908 100644
--- a/gdb/testsuite/gdb.dwarf2/enqueued-cu-base-addr.exp
+++ b/gdb/testsuite/gdb.dwarf2/enqueued-cu-base-addr.exp
@@ -50,7 +50,7 @@ Dwarf::assemble $asm_file {
} {
DW_TAG_variable {
{name foo}
- {type :$int_label}
+ {type %$int_label}
{const_value 1 DW_FORM_sdata}
}
}
More information about the Gdb-cvs
mailing list