[gdb/testsuite] Add aranges to gdb.dwarf2/dw2-dir-file-name.exp

Since commit 52b920c5d20 ("[gdb/testsuite] Fix gdb.dwarf2/dw2-dir-file-name.exp
for ppc64le"), the test-case fails with target board cc-with-debug-names, due
to missing .debug_aranges info.

Add the missing .debug_aranges info.

Also add a file_id option to Dwarf::assemble, to make it possible to contribute
to an already open file.

Tested on x86_64-linux.
This commit is contained in:
Tom de Vries
2022-09-30 05:58:43 +02:00
parent 137c886e9a
commit 511f4ff4d9
2 changed files with 29 additions and 2 deletions

View File

@ -317,6 +317,22 @@ puts -nonewline $f "\
"
out_compdir out_cu
Dwarf::assemble { add_dummy_cus 0 file_id $f } {
global func_info_names
foreach name $func_info_names {
global ${name}_start
global ${name}_end
set name_start [set ${name}_start]
set name_end [set ${name}_end]
set cu_label .L${name}_begin
aranges {} cu_label {
arange {} $name_start "$name_end - $name_start"
}
}
}
puts $f " .section .debug_line"
out_compdir out_line

View File

@ -3193,6 +3193,9 @@ namespace eval Dwarf {
# - the name of the file where the generated assembly
# code is written.
# default = "".
# file_id <tcl channel identifier>
# - open file where the generated assemble core is written.
# default = "".
# add_dummy_cus <0|1>
# - Whether to add dummy CUs before and after the CUs
# added in the BODY.
@ -3233,6 +3236,7 @@ namespace eval Dwarf {
parse_options {
{ filename "" }
{ file_id "" }
{ add_dummy_cus 1 }
}
@ -3241,7 +3245,12 @@ namespace eval Dwarf {
set _initialized 1
}
set _output_file [open $filename w]
if { $file_id != "" } {
set _output_file $file_id
} else {
set _output_file [open $filename w]
}
set _cu_count -1
_empty_array _deferred_output
set _defer ""
@ -3274,7 +3283,9 @@ namespace eval Dwarf {
_write_deferred_output
catch {close $_output_file}
if { $file_id == "" } {
catch {close $_output_file}
}
set _output_file {}
}
}