mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-07-27 11:53:21 +08:00
[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:
gdb/testsuite
@ -317,6 +317,22 @@ puts -nonewline $f "\
|
|||||||
"
|
"
|
||||||
out_compdir out_cu
|
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"
|
puts $f " .section .debug_line"
|
||||||
out_compdir out_line
|
out_compdir out_line
|
||||||
|
|
||||||
|
@ -3193,6 +3193,9 @@ namespace eval Dwarf {
|
|||||||
# - the name of the file where the generated assembly
|
# - the name of the file where the generated assembly
|
||||||
# code is written.
|
# code is written.
|
||||||
# default = "".
|
# default = "".
|
||||||
|
# file_id <tcl channel identifier>
|
||||||
|
# - open file where the generated assemble core is written.
|
||||||
|
# default = "".
|
||||||
# add_dummy_cus <0|1>
|
# add_dummy_cus <0|1>
|
||||||
# - Whether to add dummy CUs before and after the CUs
|
# - Whether to add dummy CUs before and after the CUs
|
||||||
# added in the BODY.
|
# added in the BODY.
|
||||||
@ -3233,6 +3236,7 @@ namespace eval Dwarf {
|
|||||||
|
|
||||||
parse_options {
|
parse_options {
|
||||||
{ filename "" }
|
{ filename "" }
|
||||||
|
{ file_id "" }
|
||||||
{ add_dummy_cus 1 }
|
{ add_dummy_cus 1 }
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3241,7 +3245,12 @@ namespace eval Dwarf {
|
|||||||
set _initialized 1
|
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
|
set _cu_count -1
|
||||||
_empty_array _deferred_output
|
_empty_array _deferred_output
|
||||||
set _defer ""
|
set _defer ""
|
||||||
@ -3274,7 +3283,9 @@ namespace eval Dwarf {
|
|||||||
|
|
||||||
_write_deferred_output
|
_write_deferred_output
|
||||||
|
|
||||||
catch {close $_output_file}
|
if { $file_id == "" } {
|
||||||
|
catch {close $_output_file}
|
||||||
|
}
|
||||||
set _output_file {}
|
set _output_file {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user