[3/3,gdb/testsuite] Fix end_sequence addresses
Checks
Context |
Check |
Description |
linaro-tcwg-bot/tcwg_gdb_build--master-aarch64 |
success
|
Testing passed
|
linaro-tcwg-bot/tcwg_gdb_build--master-arm |
success
|
Testing passed
|
linaro-tcwg-bot/tcwg_gdb_check--master-arm |
success
|
Testing passed
|
linaro-tcwg-bot/tcwg_gdb_check--master-aarch64 |
success
|
Testing passed
|
Commit Message
I noticed in test-case gdb.reverse/map-to-same-line.exp, that the end of main:
...
00000000004102c4 <end_of_sequence>:
4102c4: 52800000 mov w0, #0x0 // #0
4102c8: 9100c3ff add sp, sp, #0x30
4102cc: d65f03c0 ret
...
is not described by the line table:
...
File name Line number Starting address View Stmt
...
map-to-same-line.c 54 0x4102ac x
map-to-same-line.c - 0x4102c4
...
Fix this by ending the line table at $main_end.
Likewise in a few other test-cases, found using:
...
$ find gdb/testsuite/ -type f \
| xargs grep -B1 DW_LNE_end_sequence \
| grep set_address \
| egrep -v "_end|_len"
...
Tested on aarch64-linux.
---
gdb/testsuite/gdb.dwarf2/dw2-gas-workaround.exp | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-inline-header-1.exp | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-inline-header-2.exp | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-inline-header-3.exp | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-line-number-zero.exp | 7 +++++--
gdb/testsuite/gdb.dwarf2/dw2-lines.exp | 2 +-
gdb/testsuite/gdb.dwarf2/dw2-vendor-extended-opcode.exp | 4 +++-
gdb/testsuite/gdb.dwarf2/imported-unit-bp.exp.tcl | 2 +-
gdb/testsuite/gdb.reverse/map-to-same-line.c | 1 -
gdb/testsuite/gdb.reverse/map-to-same-line.exp | 3 ++-
10 files changed, 16 insertions(+), 11 deletions(-)
@@ -70,7 +70,7 @@ Dwarf::assemble $asm_file {
line [line_for bar_label]
DW_LNS_copy
- DW_LNE_set_address bar_label_2
+ DW_LNE_set_address $bar_end
DW_LNE_end_sequence
}
}
@@ -146,7 +146,7 @@ proc do_test { start_label func_name tag } {
DW_LNS_advance_line 1
DW_LNS_copy
- DW_LNE_set_address line_label_7
+ DW_LNE_set_address "$main_start + $main_len"
DW_LNE_end_sequence
}
}
@@ -134,7 +134,7 @@ Dwarf::assemble $asm_file {
DW_LNS_advance_line 1
DW_LNS_copy
- DW_LNE_set_address line_label_7
+ DW_LNE_set_address "$main_start + $main_len"
DW_LNE_end_sequence
}
}
@@ -123,7 +123,7 @@ Dwarf::assemble $asm_file {
DW_LNS_negate_stmt
DW_LNS_copy
- DW_LNE_set_address line_label_7
+ DW_LNE_set_address "$main_start + $main_len"
DW_LNE_end_sequence
}
}
@@ -27,6 +27,9 @@ Dwarf::assemble $asm_file {
declare_labels Llines
global srcdir subdir srcfile
+ get_func_info bar1
+ get_func_info bar2
+
cu {} {
compile_unit {
{language @DW_LANG_C}
@@ -69,7 +72,7 @@ Dwarf::assemble $asm_file {
line 33
DW_LNS_copy
- DW_LNE_set_address bar1_label_5
+ DW_LNE_set_address $bar1_end
DW_LNE_end_sequence
@@ -91,7 +94,7 @@ Dwarf::assemble $asm_file {
line 47
DW_LNS_copy
- DW_LNE_set_address bar2_label_5
+ DW_LNE_set_address $bar2_end
DW_LNE_end_sequence
}
}
@@ -104,7 +104,7 @@ proc test_1 { _cv _cdw64 _lv _ldw64 {_string_form ""}} {
line [line_for bar_label_4]
DW_LNS_copy
- DW_LNE_set_address bar_label_5
+ DW_LNE_set_address "$main_start + $main_len"
DW_LNE_end_sequence
}
}
@@ -30,6 +30,8 @@ Dwarf::assemble $asm_file {
set DW_LNE_lo_usr 0x80
set DW_LNE_hi_usr 0xff
+ get_func_info main
+
cu {} {
compile_unit {
{language @DW_LANG_C}
@@ -54,7 +56,7 @@ Dwarf::assemble $asm_file {
DW_LNE_user 2 $DW_LNE_hi_usr
DW_LNS_copy
- DW_LNE_set_address main_label_2
+ DW_LNE_set_address $main_end
DW_LNE_end_sequence
}
}
@@ -110,7 +110,7 @@ Dwarf::assemble $asm_file {
DW_LNS_negate_stmt
DW_LNS_copy
- DW_LNE_set_address line_label_7
+ DW_LNE_set_address "$func_start + $func_len"
DW_LNE_end_sequence
}
}
@@ -53,6 +53,5 @@ main (void)
asm ("main_return: .globl main_return");
k = j; f3 = f2; str_3 = str_2; /* TAG: main return */
- asm ("end_of_sequence: .globl end_of_sequence");
return 0; /* TAG: main return */
}
@@ -100,7 +100,8 @@ Dwarf::assemble $asm_file {
DW_LNE_set_address main_return
line [gdb_get_line_number "TAG: main return"]
DW_LNS_copy
- DW_LNE_set_address end_of_sequence
+
+ DW_LNE_set_address $main_end
DW_LNE_end_sequence
}
}