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