aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/testsuite/lib/dwarf.exp11
1 files changed, 11 insertions, 0 deletions
diff --git a/gdb/testsuite/lib/dwarf.exp b/gdb/testsuite/lib/dwarf.exp
index ce7b598..3aef58e 100644
--- a/gdb/testsuite/lib/dwarf.exp
+++ b/gdb/testsuite/lib/dwarf.exp
@@ -1258,6 +1258,10 @@ namespace eval Dwarf {
# default = default
# fission 0|1 - boolean indicating if generating Fission debug info
# default = 0
+ # label <label>
+ # - string indicating label to be defined at the start
+ # of the CU header.
+ # default = ""
# BODY is Tcl code that emits the DIEs which make up the body of
# the CU. It is evaluated in the caller's context.
proc cu {options body} {
@@ -1278,6 +1282,7 @@ namespace eval Dwarf {
set _cu_is_fission 0
set section ".debug_info"
set _abbrev_section ".debug_abbrev"
+ set label ""
foreach { name value } $options {
set value [uplevel 1 "subst \"$value\""]
@@ -1286,6 +1291,7 @@ namespace eval Dwarf {
version { set _cu_version $value }
addr_size { set _cu_addr_size $value }
fission { set _cu_is_fission $value }
+ label { set label $value }
default { error "unknown option $name" }
}
}
@@ -1318,6 +1324,11 @@ namespace eval Dwarf {
set start_label [_compute_label "cu${cu_num}_start"]
set end_label [_compute_label "cu${cu_num}_end"]
+ if { $label != "" } {
+ upvar $label my_label
+ set my_label $_cu_label
+ }
+
define_label $_cu_label
if {$is_64} {
_op .4byte 0xffffffff