mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-22 02:50:08 +08:00
gdb/testsuite/dwarf: simplify line number program syntax
By calling `uplevel $body` in the program proc (a pattern we use at many places), we can get rid of curly braces around each line number program directive. That seems like a nice small improvement to me. Change-Id: Ib327edcbffbd4c23a08614adee56c12ea25ebc0b
This commit is contained in:
@ -135,35 +135,35 @@ Dwarf::assemble $asm_file {
|
||||
# of adding some !is_stmt at the end of a loop line, making until
|
||||
# not work properly.
|
||||
program {
|
||||
{DW_LNE_set_address $main_start}
|
||||
{line [gdb_get_line_number "TAG: main prologue"]}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNE_set_address loop_start}
|
||||
{line [gdb_get_line_number "TAG: loop line"]}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNE_set_address loop_condition}
|
||||
{line [gdb_get_line_number "TAG: loop line"]}
|
||||
{DW_LNS_negate_stmt}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNE_set_address loop_code}
|
||||
{line [gdb_get_line_number "TAG: loop code"]}
|
||||
{DW_LNS_negate_stmt}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNE_set_address loop_increment}
|
||||
{line [gdb_get_line_number "TAG: loop line"]}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNE_set_address loop_jump}
|
||||
{line [gdb_get_line_number "TAG: loop line"]}
|
||||
{DW_LNS_negate_stmt}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNE_set_address main_return}
|
||||
{line [gdb_get_line_number "TAG: main return"]}
|
||||
{DW_LNS_negate_stmt}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNE_set_address $main_end}
|
||||
{line [expr [gdb_get_line_number "TAG: main return"] + 1]}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNE_end_sequence}
|
||||
DW_LNE_set_address $main_start
|
||||
line [gdb_get_line_number "TAG: main prologue"]
|
||||
DW_LNS_copy
|
||||
DW_LNE_set_address loop_start
|
||||
line [gdb_get_line_number "TAG: loop line"]
|
||||
DW_LNS_copy
|
||||
DW_LNE_set_address loop_condition
|
||||
line [gdb_get_line_number "TAG: loop line"]
|
||||
DW_LNS_negate_stmt
|
||||
DW_LNS_copy
|
||||
DW_LNE_set_address loop_code
|
||||
line [gdb_get_line_number "TAG: loop code"]
|
||||
DW_LNS_negate_stmt
|
||||
DW_LNS_copy
|
||||
DW_LNE_set_address loop_increment
|
||||
line [gdb_get_line_number "TAG: loop line"]
|
||||
DW_LNS_copy
|
||||
DW_LNE_set_address loop_jump
|
||||
line [gdb_get_line_number "TAG: loop line"]
|
||||
DW_LNS_negate_stmt
|
||||
DW_LNS_copy
|
||||
DW_LNE_set_address main_return
|
||||
line [gdb_get_line_number "TAG: main return"]
|
||||
DW_LNS_negate_stmt
|
||||
DW_LNS_copy
|
||||
DW_LNE_set_address $main_end
|
||||
line [expr [gdb_get_line_number "TAG: main return"] + 1]
|
||||
DW_LNS_copy
|
||||
DW_LNE_end_sequence
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -127,13 +127,13 @@ Dwarf::assemble $asm_file {
|
||||
|
||||
# Line data doens't need to be correct, just present.
|
||||
program {
|
||||
{DW_LNE_set_address [lindex $main_result 0]}
|
||||
{DW_LNS_advance_line 10}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNS_advance_pc [lindex $main_result 1]}
|
||||
{DW_LNS_advance_line 19}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNE_end_sequence}
|
||||
DW_LNE_set_address [lindex $main_result 0]
|
||||
DW_LNS_advance_line 10
|
||||
DW_LNS_copy
|
||||
DW_LNS_advance_pc [lindex $main_result 1]
|
||||
DW_LNS_advance_line 19
|
||||
DW_LNS_copy
|
||||
DW_LNE_end_sequence
|
||||
}
|
||||
}
|
||||
|
||||
@ -143,13 +143,13 @@ Dwarf::assemble $asm_file {
|
||||
|
||||
# Line data doens't need to be correct, just present.
|
||||
program {
|
||||
{DW_LNE_set_address some_func}
|
||||
{DW_LNS_advance_line 5}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNS_advance_pc 64}
|
||||
{DW_LNS_advance_line 8}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNE_end_sequence}
|
||||
DW_LNE_set_address some_func
|
||||
DW_LNS_advance_line 5
|
||||
DW_LNS_copy
|
||||
DW_LNS_advance_pc 64
|
||||
DW_LNS_advance_line 8
|
||||
DW_LNS_copy
|
||||
DW_LNE_end_sequence
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -68,34 +68,34 @@ Dwarf::assemble $asm_file {
|
||||
file_name "$srcfile3" 1
|
||||
|
||||
program {
|
||||
{DW_LNE_set_address $main_start}
|
||||
{DW_LNS_advance_line 15}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address $main_start
|
||||
DW_LNS_advance_line 15
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_set_address line_label_2}
|
||||
{DW_LNS_negate_stmt}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address line_label_2
|
||||
DW_LNS_negate_stmt
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_set_address line_label_3}
|
||||
{DW_LNS_advance_line 1}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address line_label_3
|
||||
DW_LNS_advance_line 1
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_set_address line_label_4}
|
||||
{DW_LNS_negate_stmt}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address line_label_4
|
||||
DW_LNS_negate_stmt
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_set_address line_label_5}
|
||||
{DW_LNS_negate_stmt}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address line_label_5
|
||||
DW_LNS_negate_stmt
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_set_address line_label_6}
|
||||
{DW_LNS_advance_line 1}
|
||||
{DW_LNS_negate_stmt}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address line_label_6
|
||||
DW_LNS_advance_line 1
|
||||
DW_LNS_negate_stmt
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_set_address $main_end}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNE_end_sequence}
|
||||
DW_LNE_set_address $main_end
|
||||
DW_LNS_copy
|
||||
DW_LNE_end_sequence
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -119,41 +119,41 @@ proc do_test { start_label func_name tag } {
|
||||
file_name "$srcfile4" 1
|
||||
|
||||
program {
|
||||
{DW_LNE_set_address line_label_1}
|
||||
{DW_LNS_advance_line 15}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address line_label_1
|
||||
DW_LNS_advance_line 15
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_set_address line_label_2}
|
||||
{DW_LNS_advance_line 1}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address line_label_2
|
||||
DW_LNS_advance_line 1
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNS_set_file 2}
|
||||
{DW_LNE_set_address line_label_3}
|
||||
{DW_LNS_advance_line 4}
|
||||
{DW_LNS_copy}
|
||||
DW_LNS_set_file 2
|
||||
DW_LNE_set_address line_label_3
|
||||
DW_LNS_advance_line 4
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_set_address line_label_4}
|
||||
{DW_LNS_advance_line 1}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address line_label_4
|
||||
DW_LNS_advance_line 1
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNS_advance_line -4}
|
||||
{DW_LNS_set_file 1}
|
||||
{DW_LNS_negate_stmt}
|
||||
{DW_LNS_copy}
|
||||
DW_LNS_advance_line -4
|
||||
DW_LNS_set_file 1
|
||||
DW_LNS_negate_stmt
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNS_set_file 2}
|
||||
{DW_LNE_set_address line_label_5}
|
||||
{DW_LNS_advance_line 5}
|
||||
{DW_LNS_copy}
|
||||
DW_LNS_set_file 2
|
||||
DW_LNE_set_address line_label_5
|
||||
DW_LNS_advance_line 5
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNS_negate_stmt}
|
||||
{DW_LNS_set_file 1}
|
||||
{DW_LNE_set_address line_label_6}
|
||||
{DW_LNS_advance_line 1}
|
||||
{DW_LNS_copy}
|
||||
DW_LNS_negate_stmt
|
||||
DW_LNS_set_file 1
|
||||
DW_LNE_set_address line_label_6
|
||||
DW_LNS_advance_line 1
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_set_address line_label_7}
|
||||
{DW_LNE_end_sequence}
|
||||
DW_LNE_set_address line_label_7
|
||||
DW_LNE_end_sequence
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -109,39 +109,39 @@ Dwarf::assemble $asm_file {
|
||||
file_name "$srcfile4" 1
|
||||
|
||||
program {
|
||||
{DW_LNE_set_address line_label_1}
|
||||
{DW_LNS_advance_line 15}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address line_label_1
|
||||
DW_LNS_advance_line 15
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_set_address line_label_2}
|
||||
{DW_LNS_advance_line 1}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address line_label_2
|
||||
DW_LNS_advance_line 1
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNS_set_file 2}
|
||||
{DW_LNE_set_address line_label_3}
|
||||
{DW_LNS_advance_line 4}
|
||||
{DW_LNS_copy}
|
||||
DW_LNS_set_file 2
|
||||
DW_LNE_set_address line_label_3
|
||||
DW_LNS_advance_line 4
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_set_address line_label_4}
|
||||
{DW_LNS_advance_line 1}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address line_label_4
|
||||
DW_LNS_advance_line 1
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNS_advance_line -4}
|
||||
{DW_LNS_set_file 1}
|
||||
{DW_LNS_negate_stmt}
|
||||
{DW_LNS_copy}
|
||||
DW_LNS_advance_line -4
|
||||
DW_LNS_set_file 1
|
||||
DW_LNS_negate_stmt
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_set_address line_label_5}
|
||||
{DW_LNS_advance_line 1}
|
||||
{DW_LNS_negate_stmt}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address line_label_5
|
||||
DW_LNS_advance_line 1
|
||||
DW_LNS_negate_stmt
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_set_address line_label_6}
|
||||
{DW_LNS_advance_line 1}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address line_label_6
|
||||
DW_LNS_advance_line 1
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_set_address line_label_7}
|
||||
{DW_LNE_end_sequence}
|
||||
DW_LNE_set_address line_label_7
|
||||
DW_LNE_end_sequence
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -98,39 +98,39 @@ Dwarf::assemble $asm_file {
|
||||
file_name "$srcfile4" 1
|
||||
|
||||
program {
|
||||
{DW_LNE_set_address line_label_1}
|
||||
{DW_LNS_advance_line 15}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address line_label_1
|
||||
DW_LNS_advance_line 15
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_set_address line_label_2}
|
||||
{DW_LNS_advance_line 1}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address line_label_2
|
||||
DW_LNS_advance_line 1
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNS_set_file 2}
|
||||
{DW_LNE_set_address line_label_3}
|
||||
{DW_LNS_advance_line 4}
|
||||
{DW_LNS_copy}
|
||||
DW_LNS_set_file 2
|
||||
DW_LNE_set_address line_label_3
|
||||
DW_LNS_advance_line 4
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_set_address line_label_4}
|
||||
{DW_LNS_advance_line 1}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address line_label_4
|
||||
DW_LNS_advance_line 1
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNS_advance_line -4}
|
||||
{DW_LNS_set_file 1}
|
||||
{DW_LNS_negate_stmt}
|
||||
{DW_LNS_copy}
|
||||
DW_LNS_advance_line -4
|
||||
DW_LNS_set_file 1
|
||||
DW_LNS_negate_stmt
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_set_address line_label_5}
|
||||
{DW_LNS_advance_line 1}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address line_label_5
|
||||
DW_LNS_advance_line 1
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_set_address line_label_6}
|
||||
{DW_LNS_advance_line 1}
|
||||
{DW_LNS_negate_stmt}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address line_label_6
|
||||
DW_LNS_advance_line 1
|
||||
DW_LNS_negate_stmt
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_set_address line_label_7}
|
||||
{DW_LNE_end_sequence}
|
||||
DW_LNE_set_address line_label_7
|
||||
DW_LNE_end_sequence
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -187,95 +187,95 @@ Dwarf::assemble $asm_file {
|
||||
file_name "$srcfile" 1
|
||||
|
||||
program {
|
||||
{DW_LNE_set_address $main_start}
|
||||
{line [gdb_get_line_number "main prologue"]}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNE_set_address main_label}
|
||||
{line [gdb_get_line_number "main set global_var"]}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNE_set_address main_label2}
|
||||
{line [gdb_get_line_number "main call aaa"]}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNE_set_address main_label2}
|
||||
{line [gdb_get_line_number "aaa return"]}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNE_set_address main_label2}
|
||||
{line [gdb_get_line_number "bbb return"]}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNE_set_address main_label2}
|
||||
{line [gdb_get_line_number "ccc return"]}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNE_set_address main_label3}
|
||||
{line [gdb_get_line_number "main end"]}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNE_set_address $main_end}
|
||||
{DW_LNE_end_sequence}
|
||||
DW_LNE_set_address $main_start
|
||||
line [gdb_get_line_number "main prologue"]
|
||||
DW_LNS_copy
|
||||
DW_LNE_set_address main_label
|
||||
line [gdb_get_line_number "main set global_var"]
|
||||
DW_LNS_copy
|
||||
DW_LNE_set_address main_label2
|
||||
line [gdb_get_line_number "main call aaa"]
|
||||
DW_LNS_copy
|
||||
DW_LNE_set_address main_label2
|
||||
line [gdb_get_line_number "aaa return"]
|
||||
DW_LNS_copy
|
||||
DW_LNE_set_address main_label2
|
||||
line [gdb_get_line_number "bbb return"]
|
||||
DW_LNS_copy
|
||||
DW_LNE_set_address main_label2
|
||||
line [gdb_get_line_number "ccc return"]
|
||||
DW_LNS_copy
|
||||
DW_LNE_set_address main_label3
|
||||
line [gdb_get_line_number "main end"]
|
||||
DW_LNS_copy
|
||||
DW_LNE_set_address $main_end
|
||||
DW_LNE_end_sequence
|
||||
|
||||
{DW_LNE_set_address $ddd_start}
|
||||
{line [gdb_get_line_number "ddd prologue"]}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNE_set_address ddd_label}
|
||||
{line [gdb_get_line_number "ddd return"]}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNE_set_address ddd_label2}
|
||||
{line [gdb_get_line_number "ddd end"]}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNE_set_address $ddd_end}
|
||||
{DW_LNE_end_sequence}
|
||||
DW_LNE_set_address $ddd_start
|
||||
line [gdb_get_line_number "ddd prologue"]
|
||||
DW_LNS_copy
|
||||
DW_LNE_set_address ddd_label
|
||||
line [gdb_get_line_number "ddd return"]
|
||||
DW_LNS_copy
|
||||
DW_LNE_set_address ddd_label2
|
||||
line [gdb_get_line_number "ddd end"]
|
||||
DW_LNS_copy
|
||||
DW_LNE_set_address $ddd_end
|
||||
DW_LNE_end_sequence
|
||||
|
||||
{DW_LNE_set_address $eee_start}
|
||||
{line [gdb_get_line_number "eee prologue"]}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNE_set_address eee_label}
|
||||
{line [gdb_get_line_number "eee return"]}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNE_set_address eee_label2}
|
||||
{line [gdb_get_line_number "eee end"]}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNE_set_address $eee_end}
|
||||
{DW_LNE_end_sequence}
|
||||
DW_LNE_set_address $eee_start
|
||||
line [gdb_get_line_number "eee prologue"]
|
||||
DW_LNS_copy
|
||||
DW_LNE_set_address eee_label
|
||||
line [gdb_get_line_number "eee return"]
|
||||
DW_LNS_copy
|
||||
DW_LNE_set_address eee_label2
|
||||
line [gdb_get_line_number "eee end"]
|
||||
DW_LNS_copy
|
||||
DW_LNE_set_address $eee_end
|
||||
DW_LNE_end_sequence
|
||||
|
||||
{DW_LNE_set_address $fff_start}
|
||||
{line [gdb_get_line_number "fff prologue"]}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNE_set_address fff_label}
|
||||
{line [gdb_get_line_number "fff return"]}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNE_set_address fff_label}
|
||||
{line [gdb_get_line_number "ggg return"]}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNE_set_address fff_label}
|
||||
{line [gdb_get_line_number "hhh return"]}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNE_set_address fff_label}
|
||||
{line [gdb_get_line_number "iii return"]}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNE_set_address fff_label2}
|
||||
{line [gdb_get_line_number "fff end"]}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNE_set_address $fff_end}
|
||||
{DW_LNE_end_sequence}
|
||||
DW_LNE_set_address $fff_start
|
||||
line [gdb_get_line_number "fff prologue"]
|
||||
DW_LNS_copy
|
||||
DW_LNE_set_address fff_label
|
||||
line [gdb_get_line_number "fff return"]
|
||||
DW_LNS_copy
|
||||
DW_LNE_set_address fff_label
|
||||
line [gdb_get_line_number "ggg return"]
|
||||
DW_LNS_copy
|
||||
DW_LNE_set_address fff_label
|
||||
line [gdb_get_line_number "hhh return"]
|
||||
DW_LNS_copy
|
||||
DW_LNE_set_address fff_label
|
||||
line [gdb_get_line_number "iii return"]
|
||||
DW_LNS_copy
|
||||
DW_LNE_set_address fff_label2
|
||||
line [gdb_get_line_number "fff end"]
|
||||
DW_LNS_copy
|
||||
DW_LNE_set_address $fff_end
|
||||
DW_LNE_end_sequence
|
||||
|
||||
{DW_LNE_set_address $jjj_start}
|
||||
{line [gdb_get_line_number "jjj prologue"]}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNE_set_address jjj_label}
|
||||
{line [gdb_get_line_number "jjj return"]}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNE_set_address jjj_label2}
|
||||
{line [gdb_get_line_number "jjj end"]}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNE_set_address $jjj_end}
|
||||
{DW_LNE_end_sequence}
|
||||
DW_LNE_set_address $jjj_start
|
||||
line [gdb_get_line_number "jjj prologue"]
|
||||
DW_LNS_copy
|
||||
DW_LNE_set_address jjj_label
|
||||
line [gdb_get_line_number "jjj return"]
|
||||
DW_LNS_copy
|
||||
DW_LNE_set_address jjj_label2
|
||||
line [gdb_get_line_number "jjj end"]
|
||||
DW_LNS_copy
|
||||
DW_LNE_set_address $jjj_end
|
||||
DW_LNE_end_sequence
|
||||
|
||||
{DW_LNE_set_address $kkk_start}
|
||||
{line [gdb_get_line_number "kkk prologue"]}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNE_set_address kkk_label}
|
||||
{line [gdb_get_line_number "kkk return"]}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNE_set_address $kkk_end}
|
||||
{DW_LNE_end_sequence}
|
||||
DW_LNE_set_address $kkk_start
|
||||
line [gdb_get_line_number "kkk prologue"]
|
||||
DW_LNS_copy
|
||||
DW_LNE_set_address kkk_label
|
||||
line [gdb_get_line_number "kkk return"]
|
||||
DW_LNS_copy
|
||||
DW_LNE_set_address $kkk_end
|
||||
DW_LNE_end_sequence
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -94,28 +94,28 @@ Dwarf::assemble $asm_file {
|
||||
set f2_l1 [gdb_get_line_number "callee: body" $srcfile4]
|
||||
|
||||
program {
|
||||
{DW_LNE_set_address line_label_1}
|
||||
{line $f1_l1}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address line_label_1
|
||||
line $f1_l1
|
||||
DW_LNS_copy
|
||||
|
||||
{line ${f1_l2}}
|
||||
{DW_LNS_copy}
|
||||
line ${f1_l2}
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNS_set_file 2}
|
||||
{line ${f2_l1}}
|
||||
{DW_LNS_copy}
|
||||
DW_LNS_set_file 2
|
||||
line ${f2_l1}
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNS_negate_stmt}
|
||||
{DW_LNS_copy}
|
||||
DW_LNS_negate_stmt
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNS_set_file 1}
|
||||
{DW_LNE_set_address line_label_2}
|
||||
{line ${f1_l3}}
|
||||
{DW_LNS_copy}
|
||||
DW_LNS_set_file 1
|
||||
DW_LNE_set_address line_label_2
|
||||
line ${f1_l3}
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_set_address line_label_3}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNE_end_sequence}
|
||||
DW_LNE_set_address line_label_3
|
||||
DW_LNS_copy
|
||||
DW_LNE_end_sequence
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -94,29 +94,29 @@ Dwarf::assemble $asm_file {
|
||||
file_name "$srcfile" 1
|
||||
|
||||
program {
|
||||
{DW_LNE_set_address $main_start}
|
||||
{line [gdb_get_line_number "main prologue"]}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNE_set_address main_label}
|
||||
{line [gdb_get_line_number "main set global_var"]}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNE_set_address main_label2}
|
||||
{line [gdb_get_line_number "main call foo"]}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNE_set_address main_label2}
|
||||
{line [gdb_get_line_number "foo call bar"]}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNE_set_address $main_end}
|
||||
{DW_LNE_end_sequence}
|
||||
DW_LNE_set_address $main_start
|
||||
line [gdb_get_line_number "main prologue"]
|
||||
DW_LNS_copy
|
||||
DW_LNE_set_address main_label
|
||||
line [gdb_get_line_number "main set global_var"]
|
||||
DW_LNS_copy
|
||||
DW_LNE_set_address main_label2
|
||||
line [gdb_get_line_number "main call foo"]
|
||||
DW_LNS_copy
|
||||
DW_LNE_set_address main_label2
|
||||
line [gdb_get_line_number "foo call bar"]
|
||||
DW_LNS_copy
|
||||
DW_LNE_set_address $main_end
|
||||
DW_LNE_end_sequence
|
||||
|
||||
{DW_LNE_set_address $bar_start}
|
||||
{line [gdb_get_line_number "bar prologue"]}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNE_set_address bar_label}
|
||||
{line [gdb_get_line_number "bar return global_var"]}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNE_set_address $bar_end}
|
||||
{DW_LNE_end_sequence}
|
||||
DW_LNE_set_address $bar_start
|
||||
line [gdb_get_line_number "bar prologue"]
|
||||
DW_LNS_copy
|
||||
DW_LNE_set_address bar_label
|
||||
line [gdb_get_line_number "bar return global_var"]
|
||||
DW_LNS_copy
|
||||
DW_LNE_set_address $bar_end
|
||||
DW_LNE_end_sequence
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -110,20 +110,20 @@ Dwarf::assemble $asm_file {
|
||||
file_name "$srcfile" 1
|
||||
|
||||
program {
|
||||
{DW_LNE_set_address $main_start}
|
||||
{line [gdb_get_line_number "main prologue"]}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNE_set_address main_label}
|
||||
{line [gdb_get_line_number "func call"]}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNE_set_address main_label}
|
||||
{line [gdb_get_line_number "func end"]}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNE_set_address main_label2}
|
||||
{line [gdb_get_line_number "main end"]}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNE_set_address $main_end}
|
||||
{DW_LNE_end_sequence}
|
||||
DW_LNE_set_address $main_start
|
||||
line [gdb_get_line_number "main prologue"]
|
||||
DW_LNS_copy
|
||||
DW_LNE_set_address main_label
|
||||
line [gdb_get_line_number "func call"]
|
||||
DW_LNS_copy
|
||||
DW_LNE_set_address main_label
|
||||
line [gdb_get_line_number "func end"]
|
||||
DW_LNS_copy
|
||||
DW_LNE_set_address main_label2
|
||||
line [gdb_get_line_number "main end"]
|
||||
DW_LNS_copy
|
||||
DW_LNE_set_address $main_end
|
||||
DW_LNE_end_sequence
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -68,84 +68,84 @@ Dwarf::assemble $asm_file {
|
||||
file_name "$srcfile" 1
|
||||
|
||||
program {
|
||||
{DW_LNE_set_address main}
|
||||
{line [gdb_get_line_number "main prologue"]}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address main
|
||||
line [gdb_get_line_number "main prologue"]
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_set_address line_label_0}
|
||||
{line [gdb_get_line_number "main start"]}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address line_label_0
|
||||
line [gdb_get_line_number "main start"]
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_set_address line_label_1}
|
||||
{line [gdb_get_line_number "Line 1"]}
|
||||
{DW_LNS_negate_stmt}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address line_label_1
|
||||
line [gdb_get_line_number "Line 1"]
|
||||
DW_LNS_negate_stmt
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_set_address line_label_2}
|
||||
{DW_LNS_negate_stmt}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address line_label_2
|
||||
DW_LNS_negate_stmt
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_set_address line_label_3}
|
||||
{line [gdb_get_line_number "Line 2"]}
|
||||
{DW_LNS_negate_stmt}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address line_label_3
|
||||
line [gdb_get_line_number "Line 2"]
|
||||
DW_LNS_negate_stmt
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_set_address line_label_4}
|
||||
{line [gdb_get_line_number "Line 1"]}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address line_label_4
|
||||
line [gdb_get_line_number "Line 1"]
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_set_address line_label_5}
|
||||
{line [gdb_get_line_number "Line 3"]}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address line_label_5
|
||||
line [gdb_get_line_number "Line 3"]
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_set_address line_label_6}
|
||||
{line [gdb_get_line_number "Line 4"]}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address line_label_6
|
||||
line [gdb_get_line_number "Line 4"]
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_set_address line_label_7}
|
||||
{DW_LNS_negate_stmt}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address line_label_7
|
||||
DW_LNS_negate_stmt
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_set_address line_label_8}
|
||||
{line [gdb_get_line_number "Line 2"]}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address line_label_8
|
||||
line [gdb_get_line_number "Line 2"]
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_set_address line_label_9}
|
||||
{DW_LNS_negate_stmt}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address line_label_9
|
||||
DW_LNS_negate_stmt
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_set_address line_label_10}
|
||||
{line [gdb_get_line_number "Line 3"]}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address line_label_10
|
||||
line [gdb_get_line_number "Line 3"]
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_set_address line_label_11}
|
||||
{line [gdb_get_line_number "Line 5"]}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address line_label_11
|
||||
line [gdb_get_line_number "Line 5"]
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_set_address line_label_12}
|
||||
{DW_LNS_negate_stmt}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address line_label_12
|
||||
DW_LNS_negate_stmt
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_set_address line_label_13}
|
||||
{line [gdb_get_line_number "Line 3"]}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address line_label_13
|
||||
line [gdb_get_line_number "Line 3"]
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_set_address line_label_14}
|
||||
{line [gdb_get_line_number "Line 4"]}
|
||||
{DW_LNS_negate_stmt}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address line_label_14
|
||||
line [gdb_get_line_number "Line 4"]
|
||||
DW_LNS_negate_stmt
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_set_address line_label_15}
|
||||
{line [gdb_get_line_number "Line 5"]}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address line_label_15
|
||||
line [gdb_get_line_number "Line 5"]
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_set_address line_label_16}
|
||||
{line [gdb_get_line_number "main end"]}
|
||||
{DW_LNS_negate_stmt}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address line_label_16
|
||||
line [gdb_get_line_number "main end"]
|
||||
DW_LNS_negate_stmt
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_set_address ${main_end}}
|
||||
{DW_LNE_end_sequence}
|
||||
DW_LNE_set_address ${main_end}
|
||||
DW_LNE_end_sequence
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -68,35 +68,35 @@ Dwarf::assemble $asm_file {
|
||||
file_name "$srcfile" 1
|
||||
|
||||
program {
|
||||
{DW_LNE_set_address main}
|
||||
{line [gdb_get_line_number "main prologue"]}
|
||||
{DW_LNS_negate_stmt}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address main
|
||||
line [gdb_get_line_number "main prologue"]
|
||||
DW_LNS_negate_stmt
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_set_address line_label_1}
|
||||
{line [gdb_get_line_number "main, set var to 99"]}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address line_label_1
|
||||
line [gdb_get_line_number "main, set var to 99"]
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_set_address line_label_2}
|
||||
{line [gdb_get_line_number "main, set var to 0"]}
|
||||
{DW_LNS_negate_stmt}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address line_label_2
|
||||
line [gdb_get_line_number "main, set var to 0"]
|
||||
DW_LNS_negate_stmt
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_set_address line_label_3}
|
||||
{DW_LNS_negate_stmt}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address line_label_3
|
||||
DW_LNS_negate_stmt
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_set_address line_label_4}
|
||||
{DW_LNS_negate_stmt}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address line_label_4
|
||||
DW_LNS_negate_stmt
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_set_address line_label_5}
|
||||
{line [gdb_get_line_number "main end"]}
|
||||
{DW_LNS_negate_stmt}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address line_label_5
|
||||
line [gdb_get_line_number "main end"]
|
||||
DW_LNS_negate_stmt
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_set_address ${main_end}}
|
||||
{DW_LNE_end_sequence}
|
||||
DW_LNE_set_address ${main_end}
|
||||
DW_LNE_end_sequence
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -62,46 +62,46 @@ Dwarf::assemble $asm_file {
|
||||
file_name "$srcfile" 1
|
||||
|
||||
program {
|
||||
{DW_LNE_set_address bar1_label}
|
||||
{line 27}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address bar1_label
|
||||
line 27
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_set_address bar1_label_2}
|
||||
{line 29}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address bar1_label_2
|
||||
line 29
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_set_address bar1_label_3}
|
||||
{line 0}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address bar1_label_3
|
||||
line 0
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_set_address bar1_label_4}
|
||||
{line 33}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address bar1_label_4
|
||||
line 33
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_set_address bar1_label_5}
|
||||
{DW_LNE_end_sequence}
|
||||
DW_LNE_set_address bar1_label_5
|
||||
DW_LNE_end_sequence
|
||||
|
||||
|
||||
{DW_LNE_set_address bar2_label}
|
||||
{line 41}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address bar2_label
|
||||
line 41
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_set_address bar2_label_2}
|
||||
{line 43}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address bar2_label_2
|
||||
line 43
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_set_address bar2_label_3}
|
||||
{line 0}
|
||||
{DW_LNS_negate_stmt}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNS_negate_stmt}
|
||||
DW_LNE_set_address bar2_label_3
|
||||
line 0
|
||||
DW_LNS_negate_stmt
|
||||
DW_LNS_copy
|
||||
DW_LNS_negate_stmt
|
||||
|
||||
{DW_LNE_set_address bar2_label_4}
|
||||
{line 47}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address bar2_label_4
|
||||
line 47
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_set_address bar2_label_5}
|
||||
{DW_LNE_end_sequence}
|
||||
DW_LNE_set_address bar2_label_5
|
||||
DW_LNE_end_sequence
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -83,24 +83,24 @@ proc test_1 { _cv _cdw64 _lv _ldw64 {_string_form ""}} {
|
||||
file_name "$srcfile" 1
|
||||
|
||||
program {
|
||||
{DW_LNE_set_address bar_label}
|
||||
{line [line_for bar_label]}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address bar_label
|
||||
line [line_for bar_label]
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_set_address bar_label_2}
|
||||
{line [line_for bar_label_2]}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address bar_label_2
|
||||
line [line_for bar_label_2]
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_set_address bar_label_3}
|
||||
{line [line_for bar_label_3]}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address bar_label_3
|
||||
line [line_for bar_label_3]
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_set_address bar_label_4}
|
||||
{line [line_for bar_label_4]}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address bar_label_4
|
||||
line [line_for bar_label_4]
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_set_address bar_label_5}
|
||||
{DW_LNE_end_sequence}
|
||||
DW_LNE_set_address bar_label_5
|
||||
DW_LNE_end_sequence
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -58,19 +58,19 @@ Dwarf::assemble $asm_file {
|
||||
file_name "$srcfile" 1
|
||||
|
||||
program {
|
||||
{DW_LNE_set_address main_label}
|
||||
{line 1}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address main_label
|
||||
line 1
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNS_advance_pc 1}
|
||||
{DW_LNE_end_sequence}
|
||||
DW_LNS_advance_pc 1
|
||||
DW_LNE_end_sequence
|
||||
|
||||
{DW_LNE_set_address 0}
|
||||
{line 2}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address 0
|
||||
line 2
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNS_advance_pc 1}
|
||||
{DW_LNE_end_sequence}
|
||||
DW_LNS_advance_pc 1
|
||||
DW_LNE_end_sequence
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -52,28 +52,28 @@ Dwarf::assemble $asm_file {
|
||||
file_name "$srcfile" 1
|
||||
|
||||
program {
|
||||
{DW_LNE_set_address $main_start}
|
||||
{line [gdb_get_line_number "main prologue"]}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address $main_start
|
||||
line [gdb_get_line_number "main prologue"]
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_set_address main_label}
|
||||
{line [gdb_get_line_number "main assign m"]}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address main_label
|
||||
line [gdb_get_line_number "main assign m"]
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_set_address main_assign_n}
|
||||
{line [gdb_get_line_number "main assign n"]}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address main_assign_n
|
||||
line [gdb_get_line_number "main assign n"]
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_set_address main_end_prologue}
|
||||
{line [gdb_get_line_number "main assign o"]}
|
||||
{DW_LNS_set_prologue_end}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address main_end_prologue
|
||||
line [gdb_get_line_number "main assign o"]
|
||||
DW_LNS_set_prologue_end
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_set_address main_end}
|
||||
{line [gdb_get_line_number "main end"]}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address main_end
|
||||
line [gdb_get_line_number "main end"]
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_end_sequence}
|
||||
DW_LNE_end_sequence
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -84,29 +84,29 @@ Dwarf::assemble $asm_file {
|
||||
# table data associated with it. We do make use of the fake
|
||||
# line numbers that we pick here in the tests below.
|
||||
program {
|
||||
{DW_LNE_set_address [lindex $main_func 0]}
|
||||
{DW_LNS_advance_line 10}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNS_advance_pc [lindex $main_func 1]}
|
||||
{DW_LNS_advance_line 19}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNE_end_sequence}
|
||||
DW_LNE_set_address [lindex $main_func 0]
|
||||
DW_LNS_advance_line 10
|
||||
DW_LNS_copy
|
||||
DW_LNS_advance_pc [lindex $main_func 1]
|
||||
DW_LNS_advance_line 19
|
||||
DW_LNS_copy
|
||||
DW_LNE_end_sequence
|
||||
|
||||
{DW_LNE_set_address [lindex $frame2_func 0]}
|
||||
{DW_LNS_advance_line 20}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNS_advance_pc [lindex $frame2_func 1]}
|
||||
{DW_LNS_advance_line 29}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNE_end_sequence}
|
||||
DW_LNE_set_address [lindex $frame2_func 0]
|
||||
DW_LNS_advance_line 20
|
||||
DW_LNS_copy
|
||||
DW_LNS_advance_pc [lindex $frame2_func 1]
|
||||
DW_LNS_advance_line 29
|
||||
DW_LNS_copy
|
||||
DW_LNE_end_sequence
|
||||
|
||||
{DW_LNE_set_address [lindex $frame3_func 0]}
|
||||
{DW_LNS_advance_line 30}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNS_advance_pc [lindex $frame3_func 1]}
|
||||
{DW_LNS_advance_line 39}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNE_end_sequence}
|
||||
DW_LNE_set_address [lindex $frame3_func 0]
|
||||
DW_LNS_advance_line 30
|
||||
DW_LNS_copy
|
||||
DW_LNS_advance_pc [lindex $frame3_func 1]
|
||||
DW_LNS_advance_line 39
|
||||
DW_LNS_copy
|
||||
DW_LNE_end_sequence
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -133,66 +133,66 @@ proc do_test {suffix} {
|
||||
# Generate a line table program. An attempt was made to make it
|
||||
# reasonably accurate as it made debugging the test case easier.
|
||||
program {
|
||||
{DW_LNE_set_address $main_start}
|
||||
{line [gdb_get_line_number "main prologue"]}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNE_set_address main_label}
|
||||
{line [gdb_get_line_number "main foo call"]}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNE_set_address main_label2}
|
||||
{line [gdb_get_line_number "main return"]}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNE_set_address $main_end}
|
||||
{line [expr [gdb_get_line_number "main end"] + 1]}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNE_end_sequence}
|
||||
DW_LNE_set_address $main_start
|
||||
line [gdb_get_line_number "main prologue"]
|
||||
DW_LNS_copy
|
||||
DW_LNE_set_address main_label
|
||||
line [gdb_get_line_number "main foo call"]
|
||||
DW_LNS_copy
|
||||
DW_LNE_set_address main_label2
|
||||
line [gdb_get_line_number "main return"]
|
||||
DW_LNS_copy
|
||||
DW_LNE_set_address $main_end
|
||||
line [expr [gdb_get_line_number "main end"] + 1]
|
||||
DW_LNS_copy
|
||||
DW_LNE_end_sequence
|
||||
|
||||
{DW_LNE_set_address $foo_start}
|
||||
{line [gdb_get_line_number "foo prologue"]}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNE_set_address foo_label}
|
||||
{line [gdb_get_line_number "foo bar call"]}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNE_set_address foo_label2}
|
||||
{line [gdb_get_line_number "foo foo_cold call"]}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNE_set_address foo_label3}
|
||||
{line [gdb_get_line_number "foo end"]}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNE_set_address $foo_end}
|
||||
{DW_LNS_advance_line 1}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNE_end_sequence}
|
||||
DW_LNE_set_address $foo_start
|
||||
line [gdb_get_line_number "foo prologue"]
|
||||
DW_LNS_copy
|
||||
DW_LNE_set_address foo_label
|
||||
line [gdb_get_line_number "foo bar call"]
|
||||
DW_LNS_copy
|
||||
DW_LNE_set_address foo_label2
|
||||
line [gdb_get_line_number "foo foo_cold call"]
|
||||
DW_LNS_copy
|
||||
DW_LNE_set_address foo_label3
|
||||
line [gdb_get_line_number "foo end"]
|
||||
DW_LNS_copy
|
||||
DW_LNE_set_address $foo_end
|
||||
DW_LNS_advance_line 1
|
||||
DW_LNS_copy
|
||||
DW_LNE_end_sequence
|
||||
|
||||
{DW_LNE_set_address $bar_start}
|
||||
{line [gdb_get_line_number "bar end"]}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNS_advance_pc $bar_len}
|
||||
{DW_LNS_advance_line 1}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNE_end_sequence}
|
||||
DW_LNE_set_address $bar_start
|
||||
line [gdb_get_line_number "bar end"]
|
||||
DW_LNS_copy
|
||||
DW_LNS_advance_pc $bar_len
|
||||
DW_LNS_advance_line 1
|
||||
DW_LNS_copy
|
||||
DW_LNE_end_sequence
|
||||
|
||||
{DW_LNE_set_address $baz_start}
|
||||
{line [gdb_get_line_number "baz end"]}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNS_advance_pc $baz_len}
|
||||
{DW_LNS_advance_line 1}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNE_end_sequence}
|
||||
DW_LNE_set_address $baz_start
|
||||
line [gdb_get_line_number "baz end"]
|
||||
DW_LNS_copy
|
||||
DW_LNS_advance_pc $baz_len
|
||||
DW_LNS_advance_line 1
|
||||
DW_LNS_copy
|
||||
DW_LNE_end_sequence
|
||||
|
||||
{DW_LNE_set_address $foo_cold_start}
|
||||
{line [gdb_get_line_number "foo_cold prologue"]}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNE_set_address foo_cold_label}
|
||||
{line [gdb_get_line_number "foo_cold baz call"]}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNE_set_address foo_cold_label2}
|
||||
{line [gdb_get_line_number "foo_cold end"]}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNE_set_address $foo_cold_end}
|
||||
{DW_LNS_advance_line 1}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNE_end_sequence}
|
||||
DW_LNE_set_address $foo_cold_start
|
||||
line [gdb_get_line_number "foo_cold prologue"]
|
||||
DW_LNS_copy
|
||||
DW_LNE_set_address foo_cold_label
|
||||
line [gdb_get_line_number "foo_cold baz call"]
|
||||
DW_LNS_copy
|
||||
DW_LNE_set_address foo_cold_label2
|
||||
line [gdb_get_line_number "foo_cold end"]
|
||||
DW_LNS_copy
|
||||
DW_LNE_set_address $foo_cold_end
|
||||
DW_LNS_advance_line 1
|
||||
DW_LNS_copy
|
||||
DW_LNE_end_sequence
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -79,29 +79,29 @@ Dwarf::assemble $asm_file {
|
||||
file_name "$srcfile" 1
|
||||
|
||||
program {
|
||||
{DW_LNE_set_address bar_label}
|
||||
{line 26}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address bar_label
|
||||
line 26
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_set_address $bar_end}
|
||||
{DW_LNE_end_sequence}
|
||||
DW_LNE_set_address $bar_end
|
||||
DW_LNE_end_sequence
|
||||
|
||||
{DW_LNE_set_address main_label}
|
||||
{line 32}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address main_label
|
||||
line 32
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_set_address main_label_2}
|
||||
{line 36}
|
||||
{DW_LNS_negate_stmt}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNS_negate_stmt}
|
||||
DW_LNE_set_address main_label_2
|
||||
line 36
|
||||
DW_LNS_negate_stmt
|
||||
DW_LNS_copy
|
||||
DW_LNS_negate_stmt
|
||||
|
||||
{DW_LNE_set_address main_label_3}
|
||||
{line 36}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address main_label_3
|
||||
line 36
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_set_address $main_end}
|
||||
{DW_LNE_end_sequence}
|
||||
DW_LNE_set_address $main_end
|
||||
DW_LNE_end_sequence
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -77,7 +77,7 @@ Dwarf::assemble $asm_file {
|
||||
include_dir "${srcdir}/${subdir}"
|
||||
file_name "dw2-symtab-includes.h" 1
|
||||
program {
|
||||
{DW_LNS_advance_line 1}
|
||||
DW_LNS_advance_line 1
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -51,7 +51,7 @@ Dwarf::assemble $asm_file {
|
||||
include_dir "${srcdir}/${subdir}"
|
||||
file_name "dw2-symtab-includes.h" 1
|
||||
program {
|
||||
{DW_LNS_advance_line 1}
|
||||
DW_LNS_advance_line 1
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -57,14 +57,14 @@ Dwarf::assemble $asm_file {
|
||||
file_name "$srcfile" 1
|
||||
|
||||
program {
|
||||
{DW_LNE_set_address main_label}
|
||||
{line 27}
|
||||
{DW_LNE_user 1 $DW_LNE_lo_usr}
|
||||
{DW_LNE_user 2 $DW_LNE_hi_usr}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address main_label
|
||||
line 27
|
||||
DW_LNE_user 1 $DW_LNE_lo_usr
|
||||
DW_LNE_user 2 $DW_LNE_hi_usr
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_set_address main_label_2}
|
||||
{DW_LNE_end_sequence}
|
||||
DW_LNE_set_address main_label_2
|
||||
DW_LNE_end_sequence
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -88,18 +88,18 @@ Dwarf::assemble $asm_file_1 {
|
||||
file_name "$srcfile" 1
|
||||
|
||||
program {
|
||||
{DW_LNE_set_address $func_start}
|
||||
{DW_LNS_advance_line 24}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address $func_start
|
||||
DW_LNS_advance_line 24
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_set_address line_label_4}
|
||||
{DW_LNS_advance_line 3}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address line_label_4
|
||||
DW_LNS_advance_line 3
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_set_address $func_end}
|
||||
{DW_LNS_advance_line 1}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNE_end_sequence}
|
||||
DW_LNE_set_address $func_end
|
||||
DW_LNS_advance_line 1
|
||||
DW_LNS_copy
|
||||
DW_LNE_end_sequence
|
||||
}
|
||||
}
|
||||
|
||||
@ -164,26 +164,26 @@ Dwarf::assemble $asm_file_2 {
|
||||
file_name "$srcfile" 1
|
||||
|
||||
program {
|
||||
{DW_LNE_set_address $main_start}
|
||||
{DW_LNS_advance_line 32}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address $main_start
|
||||
DW_LNS_advance_line 32
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_set_address line_label_1}
|
||||
{DW_LNS_advance_line 3}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address line_label_1
|
||||
DW_LNS_advance_line 3
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_set_address line_label_2}
|
||||
{DW_LNS_advance_line 2}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address line_label_2
|
||||
DW_LNS_advance_line 2
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_set_address line_label_3}
|
||||
{DW_LNS_advance_line 2}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address line_label_3
|
||||
DW_LNS_advance_line 2
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_set_address $main_end}
|
||||
{DW_LNS_advance_line 2}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNE_end_sequence}
|
||||
DW_LNE_set_address $main_end
|
||||
DW_LNS_advance_line 2
|
||||
DW_LNS_copy
|
||||
DW_LNE_end_sequence
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -83,37 +83,37 @@ Dwarf::assemble $asm_file {
|
||||
file_name "$srcfile" 1
|
||||
|
||||
program {
|
||||
{DW_LNE_set_address line_label_1}
|
||||
{DW_LNS_advance_line 15}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address line_label_1
|
||||
DW_LNS_advance_line 15
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_set_address line_label_2}
|
||||
{DW_LNS_advance_line 1}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address line_label_2
|
||||
DW_LNS_advance_line 1
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_set_address line_label_3}
|
||||
{DW_LNS_advance_line 4}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address line_label_3
|
||||
DW_LNS_advance_line 4
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_set_address line_label_4}
|
||||
{DW_LNS_advance_line 1}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address line_label_4
|
||||
DW_LNS_advance_line 1
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNS_advance_line -4}
|
||||
{DW_LNS_negate_stmt}
|
||||
{DW_LNS_copy}
|
||||
DW_LNS_advance_line -4
|
||||
DW_LNS_negate_stmt
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_set_address line_label_5}
|
||||
{DW_LNS_advance_line 1}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address line_label_5
|
||||
DW_LNS_advance_line 1
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_set_address line_label_6}
|
||||
{DW_LNS_advance_line 1}
|
||||
{DW_LNS_negate_stmt}
|
||||
{DW_LNS_copy}
|
||||
DW_LNE_set_address line_label_6
|
||||
DW_LNS_advance_line 1
|
||||
DW_LNS_negate_stmt
|
||||
DW_LNS_copy
|
||||
|
||||
{DW_LNE_set_address line_label_7}
|
||||
{DW_LNE_end_sequence}
|
||||
DW_LNE_set_address line_label_7
|
||||
DW_LNE_end_sequence
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -267,31 +267,31 @@ Dwarf::assemble ${asm_file} {
|
||||
|
||||
# Generate a line table program.
|
||||
program {
|
||||
{DW_LNE_set_address $foo_start}
|
||||
{line [gdb_get_line_number "foo prologue"]}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNE_set_address foo_label}
|
||||
{line [gdb_get_line_number "foo return"]}
|
||||
{DW_LNS_copy}
|
||||
{line [gdb_get_line_number "foo end"]}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNE_set_address $foo_end}
|
||||
{DW_LNS_advance_line 1}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNE_end_sequence}
|
||||
DW_LNE_set_address $foo_start
|
||||
line [gdb_get_line_number "foo prologue"]
|
||||
DW_LNS_copy
|
||||
DW_LNE_set_address foo_label
|
||||
line [gdb_get_line_number "foo return"]
|
||||
DW_LNS_copy
|
||||
line [gdb_get_line_number "foo end"]
|
||||
DW_LNS_copy
|
||||
DW_LNE_set_address $foo_end
|
||||
DW_LNS_advance_line 1
|
||||
DW_LNS_copy
|
||||
DW_LNE_end_sequence
|
||||
|
||||
{DW_LNE_set_address $bar_start}
|
||||
{line [gdb_get_line_number "bar prologue"]}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNE_set_address bar_label}
|
||||
{line [gdb_get_line_number "bar return"]}
|
||||
{DW_LNS_copy}
|
||||
{line [gdb_get_line_number "bar end"]}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNE_set_address $bar_end}
|
||||
{DW_LNS_advance_line 1}
|
||||
{DW_LNS_copy}
|
||||
{DW_LNE_end_sequence}
|
||||
DW_LNE_set_address $bar_start
|
||||
line [gdb_get_line_number "bar prologue"]
|
||||
DW_LNS_copy
|
||||
DW_LNE_set_address bar_label
|
||||
line [gdb_get_line_number "bar return"]
|
||||
DW_LNS_copy
|
||||
line [gdb_get_line_number "bar end"]
|
||||
DW_LNS_copy
|
||||
DW_LNE_set_address $bar_end
|
||||
DW_LNS_advance_line 1
|
||||
DW_LNS_copy
|
||||
DW_LNE_end_sequence
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2410,7 +2410,7 @@ namespace eval Dwarf {
|
||||
define_label $_line_header_end_label
|
||||
}
|
||||
|
||||
proc program {statements} {
|
||||
proc program { body } {
|
||||
variable _line_header_end_label
|
||||
variable _line
|
||||
|
||||
@ -2502,9 +2502,7 @@ namespace eval Dwarf {
|
||||
_op .sleb128 ${num}
|
||||
}
|
||||
|
||||
foreach statement $statements {
|
||||
uplevel 1 $statement
|
||||
}
|
||||
uplevel $body
|
||||
}
|
||||
|
||||
uplevel $body
|
||||
|
Reference in New Issue
Block a user