[gdb/testsuite] Use MACRO_AT_{func,range}

Use dwarf assembly procs MACRO_AT_func and MACRO_AT_range in test-cases where
that's appropriate.

Tested on x86_64-linux.

gdb/testsuite/ChangeLog:

2020-07-17  Tom de Vries  <tdevries@suse.de>

	* gdb.dlang/circular.c (found): Use found_label as label name.
	* gdb.dwarf2/arr-subrange.c (main): Use main_label as label name.
	* gdb.dwarf2/comp-unit-lang.c (func): Use func_label as label name.
	* gdb.dlang/circular.exp: Use MACRO_AT_func and MACRO_AT_range.
	* gdb.dwarf2/ada-linkage-name.exp: Same.
	* gdb.dwarf2/arr-subrange.exp: Same.
	* gdb.dwarf2/atomic-type.exp: Same.
	* gdb.dwarf2/comp-unit-lang.exp: Same.
	* gdb.dwarf2/cpp-linkage-name.exp: Same.
	* gdb.dwarf2/dw2-bad-mips-linkage-name.exp: Same.
	* gdb.dwarf2/dw2-lexical-block-bare.exp: Same.
	* gdb.dwarf2/dw2-regno-invalid.exp: Same.
	* gdb.dwarf2/implptr-64bit.exp: Same.
	* gdb.dwarf2/imported-unit-abstract-const-value.exp: Same.
	* gdb.dwarf2/imported-unit-runto-main.exp: Same.
	* gdb.dwarf2/imported-unit.exp: Same.
	* gdb.dwarf2/main-subprogram.exp: Same.
	* gdb.dwarf2/missing-type-name.exp: Same.
	* gdb.dwarf2/nonvar-access.exp: Same.
	* gdb.dwarf2/struct-with-sig.exp: Same.
	* gdb.dwarf2/typedef-void-finish.exp: Same.
	* gdb.dwarf2/void-type.exp: Same.
This commit is contained in:
Tom de Vries 2020-07-17 16:42:37 +02:00
parent 10da644dc4
commit 90c3ec2d21
23 changed files with 64 additions and 198 deletions

View File

@ -1,3 +1,28 @@
2020-07-17 Tom de Vries <tdevries@suse.de>
* gdb.dlang/circular.c (found): Use found_label as label name.
* gdb.dwarf2/arr-subrange.c (main): Use main_label as label name.
* gdb.dwarf2/comp-unit-lang.c (func): Use func_label as label name.
* gdb.dlang/circular.exp: Use MACRO_AT_func and MACRO_AT_range.
* gdb.dwarf2/ada-linkage-name.exp: Same.
* gdb.dwarf2/arr-subrange.exp: Same.
* gdb.dwarf2/atomic-type.exp: Same.
* gdb.dwarf2/comp-unit-lang.exp: Same.
* gdb.dwarf2/cpp-linkage-name.exp: Same.
* gdb.dwarf2/dw2-bad-mips-linkage-name.exp: Same.
* gdb.dwarf2/dw2-lexical-block-bare.exp: Same.
* gdb.dwarf2/dw2-regno-invalid.exp: Same.
* gdb.dwarf2/implptr-64bit.exp: Same.
* gdb.dwarf2/imported-unit-abstract-const-value.exp: Same.
* gdb.dwarf2/imported-unit-runto-main.exp: Same.
* gdb.dwarf2/imported-unit.exp: Same.
* gdb.dwarf2/main-subprogram.exp: Same.
* gdb.dwarf2/missing-type-name.exp: Same.
* gdb.dwarf2/nonvar-access.exp: Same.
* gdb.dwarf2/struct-with-sig.exp: Same.
* gdb.dwarf2/typedef-void-finish.exp: Same.
* gdb.dwarf2/void-type.exp: Same.
2020-07-17 Tom de Vries <tdevries@suse.de>
* lib/dwarf.exp (Dwarf::MACRO_AT_func, Dwarf::MACRO_AT_range): Drop

View File

@ -13,17 +13,14 @@
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
asm ("circular1_found_start: .globl circular1_found_start");
/* DWARF will describe this function as being inside a D module. */
void
found (void)
{
asm ("found_label: .globl found_label");
}
asm ("circular1_found_end: .globl circular1_found_end");
int
main (void)
{

View File

@ -54,10 +54,8 @@ Dwarf::assemble $asm_file {
}
subprogram {
{name found}
{external 1 flag_present}
{low_pc circular1_found_start addr}
{high_pc circular1_found_end addr}
{MACRO_AT_func {found}}
}
}

View File

@ -31,12 +31,6 @@ set asm_file [standard_output_file $srcfile2]
Dwarf::assemble $asm_file {
global srcdir subdir srcfile
lassign [function_range first ${srcdir}/${subdir}/${srcfile}] \
first_start first_length
lassign [function_range second ${srcdir}/${subdir}/${srcfile}] \
second_start second_length
cu {} {
DW_TAG_compile_unit {
{DW_AT_language @DW_LANG_Ada95}
@ -55,16 +49,14 @@ Dwarf::assemble $asm_file {
DW_TAG_subprogram {
{name system__namefirst}
{linkage_name __gnat_namefirst}
{low_pc $first_start addr}
{high_pc "$first_start + $first_length" addr}
{MACRO_AT_range {first}}
{type :$b_l}
}
# Here the linkage name comes first and the name second.
DW_TAG_subprogram {
{linkage_name __gnat_namesecond}
{name system__namesecond}
{low_pc $second_start addr}
{high_pc "$second_start + $second_length" addr}
{MACRO_AT_range {second}}
{type :$b_l}
}
}

View File

@ -16,5 +16,6 @@
int
main (void)
{
asm ("main_label: .globl main_label");
return 0;
}

View File

@ -29,8 +29,7 @@ Dwarf::assemble $asm_file {
{DW_AT_language @DW_LANG_Ada95}
{DW_AT_name foo.adb}
{DW_AT_comp_dir /tmp}
{DW_AT_low_pc 0x1000 addr}
{DW_AT_high_pc 0x2000 addr}
{MACRO_AT_range {main}}
} {
declare_labels boolean_label typedef_label array_label enum_label

View File

@ -25,12 +25,6 @@ standard_testfile atomic.c atomic-type-dw.S
set asm_file [standard_output_file $srcfile2]
Dwarf::assemble $asm_file {
global srcdir subdir srcfile
set f_result [function_range f ${srcdir}/${subdir}/${srcfile}]
set f_start [lindex $f_result 0]
set f_length [lindex $f_result 1]
cu {} {
DW_TAG_compile_unit {
{DW_AT_language @DW_LANG_C11}
@ -73,9 +67,7 @@ Dwarf::assemble $asm_file {
}
DW_TAG_subprogram {
{name f}
{low_pc $f_start addr}
{high_pc "$f_start + $f_length" addr}
{MACRO_AT_func {f}}
{type :$i_l}
} {
DW_TAG_formal_parameter {

View File

@ -17,15 +17,13 @@
asm (".section \".text\"");
asm (".balign 8");
asm ("func_start: .globl func_start");
static void
func (void)
{
asm ("func_label: .globl func_label");
}
asm ("func_end: .globl func_end");
int
main (void)
{

View File

@ -45,14 +45,11 @@ proc do_test {cu_lang gdb_lang} {
compile_unit {
{name file1.txt}
{language @$cu_lang}
{low_pc func_start addr}
{high_pc func_end addr}
{MACRO_AT_range {func}}
} {
subprogram {
{external 1 flag}
{name func}
{low_pc func_start addr}
{high_pc func_end addr}
{MACRO_AT_func {func}}
} {
}
}

View File

@ -30,11 +30,6 @@ standard_testfile cpp-linkage-name.c cpp-linkage-name-debug.S
# Set up the DWARF for the test.
set asm_file [standard_output_file $srcfile2]
Dwarf::assemble $asm_file {
global srcdir subdir srcfile
lassign [function_range main ${srcdir}/${subdir}/${srcfile}] \
main_start main_length
cu {} {
DW_TAG_compile_unit {
{DW_AT_language @DW_LANG_C_plus_plus}
@ -70,9 +65,7 @@ Dwarf::assemble $asm_file {
}
}
DW_TAG_subprogram {
{name "main"}
{low_pc $main_start addr}
{high_pc "$main_start + $main_length" addr}
{MACRO_AT_func {main}}
{type :$a_l}
}
DW_TAG_variable {

View File

@ -26,16 +26,6 @@ standard_testfile dw2-bad-mips-linkage-name.c dw2-bad-mips-linkage-name.S
set asm_file [standard_output_file $srcfile2]
Dwarf::assemble $asm_file {
global srcdir subdir srcfile
set f_result [function_range f ${srcdir}/${subdir}/${srcfile}]
set f_start [lindex $f_result 0]
set f_length [lindex $f_result 1]
set g_result [function_range g ${srcdir}/${subdir}/${srcfile}]
set g_start [lindex $g_result 0]
set g_length [lindex $g_result 1]
cu {} {
DW_TAG_compile_unit {
{DW_AT_language @DW_LANG_C_plus_plus}
@ -51,16 +41,12 @@ Dwarf::assemble $asm_file {
{DW_AT_name bool}
}
DW_TAG_subprogram {
{name f}
{low_pc $f_start addr}
{high_pc "$f_start + $f_length" addr}
{MACRO_AT_func {f}}
{type :$b_l}
{DW_AT_MIPS_linkage_name _Z1fv}
}
DW_TAG_subprogram {
{name g}
{low_pc $g_start addr}
{high_pc "$g_start + $g_length" addr}
{MACRO_AT_func {g}}
{type :$b_l}
{DW_AT_MIPS_linkage_name 42 DW_FORM_data1}
}

View File

@ -19,21 +19,14 @@ if {![dwarf2_support]} {
return 0
}
standard_testfile .S main.c
standard_testfile main.c .S
# Make some DWARF for the test.
set asm_file [standard_output_file $srcfile]
set asm_file [standard_output_file $srcfile2]
Dwarf::assemble $asm_file {
global srcdir subdir srcfile2
set main_result [function_range main ${srcdir}/${subdir}/${srcfile2}]
set main_start [lindex $main_result 0]
set main_length [lindex $main_result 1]
cu {} {
compile_unit {
{low_pc $main_start addr}
{high_pc "$main_start + $main_length" addr}
{MACRO_AT_range {main}}
} {
declare_labels integer_label
@ -44,10 +37,8 @@ Dwarf::assemble $asm_file {
}
DW_TAG_subprogram {
{name main}
{MACRO_AT_func {main}}
{DW_AT_external 1 flag}
{low_pc $main_start addr}
{high_pc "$main_start + $main_length" addr}
} {
DW_TAG_lexical_block {
} {
@ -66,7 +57,7 @@ Dwarf::assemble $asm_file {
}
if { [prepare_for_testing "failed to prepare" ${testfile} \
[list $srcfile2 $asm_file] {nodebug}] } {
[list $srcfile $asm_file] {nodebug}] } {
return -1
}

View File

@ -22,15 +22,14 @@ if {![dwarf2_support]} {
return 0
}
standard_testfile .S main.c
standard_testfile main.c .S
# Make some DWARF for the test.
set asm_file [standard_output_file $srcfile]
set asm_file [standard_output_file $srcfile2]
Dwarf::assemble $asm_file {
cu {} {
compile_unit {
{low_pc [gdb_target_symbol main] DW_FORM_addr}
{high_pc [gdb_target_symbol main]+0x10000 DW_FORM_addr}
{MACRO_AT_range {main}}
} {
declare_labels integer_label
@ -41,10 +40,8 @@ Dwarf::assemble $asm_file {
}
DW_TAG_subprogram {
{name main}
{DW_AT_external 1 flag}
{low_pc [gdb_target_symbol main] DW_FORM_addr}
{high_pc [gdb_target_symbol main]+0x10000 DW_FORM_addr}
{MACRO_AT_func {main}}
} {
DW_TAG_variable {
{DW_AT_name bregx}
@ -60,7 +57,7 @@ Dwarf::assemble $asm_file {
}
if { [prepare_for_testing "failed to prepare" ${testfile} \
[list $srcfile2 $asm_file] {nodebug}] } {
[list $srcfile $asm_file] {nodebug}] } {
return -1
}

View File

@ -81,9 +81,7 @@ proc test { dwarf_version offset_size addr_size ref_addr_size two_cu } {
if { !$two_cu } {
subprogram {
{ name main }
{ low_pc main addr }
{ high_pc "main+0x100" addr }
{MACRO_AT_func {main}}
{ type :$int_label }
{ external 1 flag }
} {
@ -111,9 +109,7 @@ proc test { dwarf_version offset_size addr_size ref_addr_size two_cu } {
{ name 1.c }
} {
subprogram {
{ name main }
{ low_pc main addr }
{ high_pc "main+0x100" addr }
{ MACRO_AT_func {main} }
{ type %$int_label }
{ external 1 flag }
} {

View File

@ -40,12 +40,6 @@ Dwarf::assemble $asm_file {
declare_labels aaa_label
set int_size [get_sizeof "int" 4]
global srcdir subdir srcfile
set main_range [function_range main ${srcdir}/${subdir}/${srcfile}]
set main_start [lindex $main_range 0]
set main_length [lindex $main_range 1]
cu {} {
cu_label: partial_unit {
{language @DW_LANG_C}
@ -81,8 +75,7 @@ Dwarf::assemble $asm_file {
}
subprogram {
{abstract_origin %$main_label}
{low_pc $main_start addr}
{high_pc "$main_start + $main_length" addr}
{MACRO_AT_range {main}}
}
}
}

View File

@ -37,12 +37,6 @@ Dwarf::assemble $asm_file {
declare_labels aaa_label
set int_size [get_sizeof "int" 4]
global srcdir subdir srcfile
set main_range [function_range main ${srcdir}/${subdir}/${srcfile}]
set main_start [lindex $main_range 0]
set main_length [lindex $main_range 1]
cu {} {
cu_label: partial_unit {
{language @DW_LANG_C}
@ -69,8 +63,7 @@ Dwarf::assemble $asm_file {
} {
subprogram {
{abstract_origin %$main_label}
{low_pc $main_start addr}
{high_pc "$main_start + $main_length" addr}
{MACRO_AT_range {main}}
}
}
}

View File

@ -54,16 +54,6 @@ Dwarf::assemble $asm_file {
set int_size [get_sizeof "int" 4]
set addr_size [get_sizeof "void *" 8]
global srcdir subdir srcfile
set main_range [function_range main ${srcdir}/${subdir}/${srcfile}]
set main_start [lindex $main_range 0]
set main_length [lindex $main_range 1]
set doit_range [function_range doit ${srcdir}/${subdir}/${srcfile}]
set doit_start [lindex $doit_range 0]
set doit_length [lindex $doit_range 1]
cu {} {
compile_unit {
{language @DW_LANG_C_plus_plus}
@ -74,13 +64,11 @@ Dwarf::assemble $asm_file {
}
subprogram {
{abstract_origin %$main_label}
{low_pc $main_start addr}
{high_pc "$main_start + $main_length" addr}
{MACRO_AT_range {main}}
} {
subprogram {
{abstract_origin %$doit_label}
{low_pc $doit_start addr}
{high_pc "$doit_start + $doit_length" addr}
{MACRO_AT_range {doit}}
} {
formal_parameter {
{abstract_origin %$doit_self_label}

View File

@ -24,12 +24,6 @@ standard_testfile main-subprogram.c enum-type-dw.S
# Make some DWARF for the test.
set asm_file [standard_output_file $srcfile2]
Dwarf::assemble $asm_file {
global srcdir subdir srcfile
set range [function_range mymain ${srcdir}/${subdir}/${srcfile}]
set mymain_start [lindex $range 0]
set mymain_length [lindex $range 1]
cu {} {
DW_TAG_compile_unit {
{DW_AT_language @DW_LANG_C}
@ -45,9 +39,7 @@ Dwarf::assemble $asm_file {
}
DW_TAG_subprogram {
{name mymain}
{low_pc $mymain_start addr}
{high_pc "$mymain_start + $mymain_length" addr}
{MACRO_AT_func {mymain}}
{type :$type}
{DW_AT_main_subprogram 1 flag}
} {

View File

@ -42,16 +42,6 @@ standard_testfile void-type.c void-type.S
# Make some DWARF for the test.
set asm_file [standard_output_file $srcfile2]
Dwarf::assemble $asm_file {
global srcdir subdir srcfile
set func_result [function_range func ${srcdir}/${subdir}/${srcfile}]
set func_start [lindex $func_result 0]
set func_length [lindex $func_result 1]
set main_result [function_range main ${srcdir}/${subdir}/${srcfile}]
set main_start [lindex $main_result 0]
set main_length [lindex $main_result 1]
cu {} {
DW_TAG_compile_unit {
{DW_AT_producer "GNU C 8.1"}
@ -76,15 +66,11 @@ Dwarf::assemble $asm_file {
}
DW_TAG_subprogram {
{name func}
{low_pc $func_start addr}
{high_pc "$func_start + $func_length" addr}
{MACRO_AT_func func}
{type :$int_type}
}
DW_TAG_subprogram {
{name main}
{low_pc $main_start addr}
{high_pc "$main_start + $main_length" addr}
{MACRO_AT_func main}
{type :$main_type}
}

View File

@ -27,12 +27,6 @@ standard_testfile main.c nonvar-access-dw.S
set asm_file [standard_output_file $srcfile2]
Dwarf::assemble $asm_file {
global srcdir subdir srcfile
set range [function_range main ${srcdir}/${subdir}/${srcfile}]
set main_start [lindex $range 0]
set main_length [lindex $range 1]
cu {} {
compile_unit {
{DW_AT_name main.c}
@ -101,10 +95,8 @@ Dwarf::assemble $asm_file {
}
DW_TAG_subprogram {
{name main}
{MACRO_AT_func {main}}
{DW_AT_external 1 flag}
{low_pc [gdb_target_symbol main] DW_FORM_addr}
{high_pc "$main_start + $main_length" DW_FORM_addr}
} {
# Simple variable without location.
DW_TAG_variable {

View File

@ -24,14 +24,6 @@ standard_testfile main-foo.c .S
# Make some DWARF for the test.
set asm_file [standard_output_file $srcfile2]
Dwarf::assemble $asm_file {
global srcdir subdir srcfile
lassign [function_range main ${srcdir}/${subdir}/${srcfile}] \
main_start main_length
lassign [function_range foo ${srcdir}/${subdir}/${srcfile}] \
foo_start foo_length
cu {} {
compile_unit {
{DW_AT_language @DW_LANG_C}
@ -43,9 +35,7 @@ Dwarf::assemble $asm_file {
{declaration 1 flag}
}
DW_TAG_subprogram {
{name "main"}
{low_pc $main_start addr}
{high_pc "$main_start + $main_length" addr}
{MACRO_AT_func {main}}
}
}
}
@ -61,9 +51,7 @@ Dwarf::assemble $asm_file {
{declaration 1 flag}
}
DW_TAG_subprogram {
{name "foo"}
{low_pc $foo_start addr}
{high_pc "$foo_start + $foo_length" addr}
{MACRO_AT_func {foo}}
}
}
}

View File

@ -29,16 +29,6 @@ standard_testfile void-type.c typedef-void-finish.S
# Make some DWARF for the test.
set asm_file [standard_output_file $srcfile2]
Dwarf::assemble $asm_file {
global srcdir subdir srcfile
set func_result [function_range func ${srcdir}/${subdir}/${srcfile}]
set func_start [lindex $func_result 0]
set func_length [lindex $func_result 1]
set main_result [function_range main ${srcdir}/${subdir}/${srcfile}]
set main_start [lindex $main_result 0]
set main_length [lindex $main_result 1]
cu {} {
DW_TAG_compile_unit {
{DW_AT_producer "GNU C 8.1"}
@ -58,15 +48,11 @@ Dwarf::assemble $asm_file {
}
DW_TAG_subprogram {
{name func}
{low_pc $func_start addr}
{high_pc "$func_start + $func_length" addr}
{MACRO_AT_func {func}}
{type :$void_typedef}
}
DW_TAG_subprogram {
{name main}
{low_pc $main_start addr}
{high_pc "$main_start + $main_length" addr}
{MACRO_AT_func {main}}
{type :$main_type}
}
}

View File

@ -36,16 +36,6 @@ standard_testfile void-type.c void-type.S
# Make some DWARF for the test.
set asm_file [standard_output_file $srcfile2]
Dwarf::assemble $asm_file {
global srcdir subdir srcfile
set func_result [function_range func ${srcdir}/${subdir}/${srcfile}]
set func_start [lindex $func_result 0]
set func_length [lindex $func_result 1]
set main_result [function_range main ${srcdir}/${subdir}/${srcfile}]
set main_start [lindex $main_result 0]
set main_length [lindex $main_result 1]
cu {} {
DW_TAG_compile_unit {
{DW_AT_producer "Intel(R) C Intel(R) 64 Compiler XE for applications running on Intel(R) 64, Version 14.0.5.212 Build 20150212"}
@ -72,15 +62,11 @@ Dwarf::assemble $asm_file {
}
DW_TAG_subprogram {
{name func}
{low_pc $func_start addr}
{high_pc "$func_start + $func_length" addr}
{MACRO_AT_func {func}}
{type :$void_type}
}
DW_TAG_subprogram {
{name main}
{low_pc $main_start addr}
{high_pc "$main_start + $main_length" addr}
{MACRO_AT_func {main}}
{type :$int_type}
}