Commit e633b117 authored by Simon Marchi's avatar Simon Marchi
Browse files

gdb/testsuite: make declare_labels use better default label names

When using the single-element form of argument to declare_labels, the
generated label (in the assembly file) is of the format ".LlabelN",
where N is a number.

I propose making it use the name of the label by default.  Calling:

    declare_labels foo

will generate the ".LfooN" in the assembly file (again, where N is a
number).  When debugging the output of the DWARF assembler, it makes it
easier to map labels to the source.  Also, when defining the same label
twice by mistake in the Tcl code (like I d id), it's easier to track the
error from the message to the root cause:

    -/home/smarchi/build/binutils-gdb/gdb/testsuite/outputs/gdb.dwarf2/implptrpiece/implptrpiece-dw.S:62: Error: symbol `.Llabel5' is already defined
    +/home/smarchi/build/binutils-gdb/gdb/testsuite/outputs/gdb.dwarf2/implptrpiece/implptrpiece-dw.S:62: Error: symbol `.Lvar_label5' is already defined

This doesn't change anything for the test cases, it just makes the
assembly output a bit nicer.


	* lib/dwarf.exp (declare_labels): Use name as text if text is
	not provided.

Change-Id: I63856c1fa6390498fd5b9d66f471f817ff0a465c
parent ab954e4a
2020-12-04 Simon Marchi <>
* lib/dwarf.exp (declare_labels): Use name as text if text is
not provided.
2020-12-04 Tom de Vries <>
PR testsuite/26990
......@@ -863,13 +863,13 @@ namespace eval Dwarf {
set name [lindex $arg 0]
set text [lindex $arg 1]
upvar $name label_var
if {$text == ""} {
set label_var [new_label]
} else {
set label_var [new_label $text]
if { $text == "" } {
set text $name
upvar $name label_var
set label_var [new_label $text]
proc ${name}: {args} [format {
define_label %s
uplevel $args
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment