[committed,gdb/testsuite] Generate .debug_aranges in gdb.dwarf2/locexpr-data-member-location.exp

Message ID 20210914110015.GA13980@delia.home
State New
Headers show
Series
  • [committed,gdb/testsuite] Generate .debug_aranges in gdb.dwarf2/locexpr-data-member-location.exp
Related show

Commit Message

Lancelot SIX via Gdb-patches Sept. 14, 2021, 11 a.m.
Hi,

When running test-case gdb.dwarf2/locexpr-data-member-location.exp with target
board cc-with-debug-names, all tests pass but we run into PR28261:
...
(gdb) run ^M
Starting program: locexpr-data-member-location ^M
warning: Section .debug_names in locexpr-data-member-location-lib.so has \
  abbreviation_table of size 1 vs. written as 37, ignoring .debug_names.^M
...

Using a patch that fixes PR28261, the warning is gone, but we run into:
...
FAIL: gdb.dwarf2/locexpr-data-member-location.exp: step into foo
...

This is due a missing .debug_aranges contribution for the CU declared in
gdb.dwarf2/locexpr-data-member-location.exp.

Fix this by adding the missing .debug_aranges contribution.

Tested on x86_64-linux.

Committed to trunk.

Thanks,
- Tom

[gdb/testsuite] Generate .debug_aranges in gdb.dwarf2/locexpr-data-member-location.exp

---
 gdb/testsuite/gdb.dwarf2/locexpr-data-member-location.exp | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

Patch

diff --git a/gdb/testsuite/gdb.dwarf2/locexpr-data-member-location.exp b/gdb/testsuite/gdb.dwarf2/locexpr-data-member-location.exp
index 1f70e6a34bd..1c366521808 100644
--- a/gdb/testsuite/gdb.dwarf2/locexpr-data-member-location.exp
+++ b/gdb/testsuite/gdb.dwarf2/locexpr-data-member-location.exp
@@ -144,7 +144,7 @@  Dwarf::assemble ${asm_file} {
     get_func_info foo $flags
     get_func_info bar $flags
 
-    cu {} {
+    cu { label cu_label } {
 	DW_TAG_compile_unit {
 	    {DW_AT_language @DW_LANG_C_plus_plus}
 	    {name ${::srcfile}}
@@ -294,6 +294,11 @@  Dwarf::assemble ${asm_file} {
 	    {DW_LNE_end_sequence}
 	}
     }
+
+    aranges {} cu_label {
+	arange {} $foo_start $foo_end
+	arange {} $bar_start $bar_end
+    }
 }
 
 # Compile the shared object again, but this time include / use the