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

Message ID 20200717144300.GA25321@delia
State New
Headers show
Series
  • [committed,gdb/testsuite] Use MACRO_AT_{func,range}
Related show

Commit Message

Tom de Vries July 17, 2020, 2:43 p.m.
Hi,

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

Tested on x86_64-linux.

Committed to trunk.

Thanks,
- Tom

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

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.

---
 gdb/testsuite/gdb.dlang/circular.c                    |  5 +----
 gdb/testsuite/gdb.dlang/circular.exp                  |  4 +---
 gdb/testsuite/gdb.dwarf2/ada-linkage-name.exp         | 12 ++----------
 gdb/testsuite/gdb.dwarf2/arr-subrange.c               |  1 +
 gdb/testsuite/gdb.dwarf2/arr-subrange.exp             |  3 +--
 gdb/testsuite/gdb.dwarf2/atomic-type.exp              | 10 +---------
 gdb/testsuite/gdb.dwarf2/comp-unit-lang.c             |  4 +---
 gdb/testsuite/gdb.dwarf2/comp-unit-lang.exp           |  7 ++-----
 gdb/testsuite/gdb.dwarf2/cpp-linkage-name.exp         |  9 +--------
 .../gdb.dwarf2/dw2-bad-mips-linkage-name.exp          | 18 ++----------------
 gdb/testsuite/gdb.dwarf2/dw2-lexical-block-bare.exp   | 19 +++++--------------
 gdb/testsuite/gdb.dwarf2/dw2-regno-invalid.exp        | 13 +++++--------
 gdb/testsuite/gdb.dwarf2/implptr-64bit.exp            |  8 ++------
 .../gdb.dwarf2/imported-unit-abstract-const-value.exp |  9 +--------
 gdb/testsuite/gdb.dwarf2/imported-unit-runto-main.exp |  9 +--------
 gdb/testsuite/gdb.dwarf2/imported-unit.exp            | 16 ++--------------
 gdb/testsuite/gdb.dwarf2/main-subprogram.exp          | 10 +---------
 gdb/testsuite/gdb.dwarf2/missing-type-name.exp        | 18 ++----------------
 gdb/testsuite/gdb.dwarf2/nonvar-access.exp            | 10 +---------
 gdb/testsuite/gdb.dwarf2/struct-with-sig.exp          | 16 ++--------------
 gdb/testsuite/gdb.dwarf2/typedef-void-finish.exp      | 18 ++----------------
 gdb/testsuite/gdb.dwarf2/void-type.exp                | 18 ++----------------
 22 files changed, 39 insertions(+), 198 deletions(-)

Patch

diff --git a/gdb/testsuite/gdb.dlang/circular.c b/gdb/testsuite/gdb.dlang/circular.c
index 1c2e08c5df..d2e55d1512 100644
--- a/gdb/testsuite/gdb.dlang/circular.c
+++ b/gdb/testsuite/gdb.dlang/circular.c
@@ -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)
 {
diff --git a/gdb/testsuite/gdb.dlang/circular.exp b/gdb/testsuite/gdb.dlang/circular.exp
index 1e04370478..a34cc83099 100644
--- a/gdb/testsuite/gdb.dlang/circular.exp
+++ b/gdb/testsuite/gdb.dlang/circular.exp
@@ -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}}
 		}
 	    }
 
diff --git a/gdb/testsuite/gdb.dwarf2/ada-linkage-name.exp b/gdb/testsuite/gdb.dwarf2/ada-linkage-name.exp
index d823fac3c2..c10a592df7 100644
--- a/gdb/testsuite/gdb.dwarf2/ada-linkage-name.exp
+++ b/gdb/testsuite/gdb.dwarf2/ada-linkage-name.exp
@@ -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}
 	    }
 	}
diff --git a/gdb/testsuite/gdb.dwarf2/arr-subrange.c b/gdb/testsuite/gdb.dwarf2/arr-subrange.c
index 01087518a8..9bfe1d627f 100644
--- a/gdb/testsuite/gdb.dwarf2/arr-subrange.c
+++ b/gdb/testsuite/gdb.dwarf2/arr-subrange.c
@@ -16,5 +16,6 @@ 
 int
 main (void)
 {
+  asm ("main_label: .globl main_label");
   return 0;
 }
diff --git a/gdb/testsuite/gdb.dwarf2/arr-subrange.exp b/gdb/testsuite/gdb.dwarf2/arr-subrange.exp
index f79b659463..4e355ff5c1 100644
--- a/gdb/testsuite/gdb.dwarf2/arr-subrange.exp
+++ b/gdb/testsuite/gdb.dwarf2/arr-subrange.exp
@@ -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
 
diff --git a/gdb/testsuite/gdb.dwarf2/atomic-type.exp b/gdb/testsuite/gdb.dwarf2/atomic-type.exp
index 689924c748..9a44686f43 100644
--- a/gdb/testsuite/gdb.dwarf2/atomic-type.exp
+++ b/gdb/testsuite/gdb.dwarf2/atomic-type.exp
@@ -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 {
diff --git a/gdb/testsuite/gdb.dwarf2/comp-unit-lang.c b/gdb/testsuite/gdb.dwarf2/comp-unit-lang.c
index fa6f8fe9c8..4bd33464d2 100644
--- a/gdb/testsuite/gdb.dwarf2/comp-unit-lang.c
+++ b/gdb/testsuite/gdb.dwarf2/comp-unit-lang.c
@@ -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)
 {
diff --git a/gdb/testsuite/gdb.dwarf2/comp-unit-lang.exp b/gdb/testsuite/gdb.dwarf2/comp-unit-lang.exp
index 2ebe6caedc..162848be94 100644
--- a/gdb/testsuite/gdb.dwarf2/comp-unit-lang.exp
+++ b/gdb/testsuite/gdb.dwarf2/comp-unit-lang.exp
@@ -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}}
 		} {
 		}
 	    }
diff --git a/gdb/testsuite/gdb.dwarf2/cpp-linkage-name.exp b/gdb/testsuite/gdb.dwarf2/cpp-linkage-name.exp
index 414b43a7dd..7ff4938029 100644
--- a/gdb/testsuite/gdb.dwarf2/cpp-linkage-name.exp
+++ b/gdb/testsuite/gdb.dwarf2/cpp-linkage-name.exp
@@ -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 {
diff --git a/gdb/testsuite/gdb.dwarf2/dw2-bad-mips-linkage-name.exp b/gdb/testsuite/gdb.dwarf2/dw2-bad-mips-linkage-name.exp
index 5f01c41aaa..986de0c526 100644
--- a/gdb/testsuite/gdb.dwarf2/dw2-bad-mips-linkage-name.exp
+++ b/gdb/testsuite/gdb.dwarf2/dw2-bad-mips-linkage-name.exp
@@ -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}
 	    }
diff --git a/gdb/testsuite/gdb.dwarf2/dw2-lexical-block-bare.exp b/gdb/testsuite/gdb.dwarf2/dw2-lexical-block-bare.exp
index 8844058340..161100d1fc 100644
--- a/gdb/testsuite/gdb.dwarf2/dw2-lexical-block-bare.exp
+++ b/gdb/testsuite/gdb.dwarf2/dw2-lexical-block-bare.exp
@@ -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
 }
 
diff --git a/gdb/testsuite/gdb.dwarf2/dw2-regno-invalid.exp b/gdb/testsuite/gdb.dwarf2/dw2-regno-invalid.exp
index 62d29ea468..b8a67dbd43 100644
--- a/gdb/testsuite/gdb.dwarf2/dw2-regno-invalid.exp
+++ b/gdb/testsuite/gdb.dwarf2/dw2-regno-invalid.exp
@@ -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
 }
 
diff --git a/gdb/testsuite/gdb.dwarf2/implptr-64bit.exp b/gdb/testsuite/gdb.dwarf2/implptr-64bit.exp
index 71f51bb87d..a75d443630 100644
--- a/gdb/testsuite/gdb.dwarf2/implptr-64bit.exp
+++ b/gdb/testsuite/gdb.dwarf2/implptr-64bit.exp
@@ -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 }
 		    } {
diff --git a/gdb/testsuite/gdb.dwarf2/imported-unit-abstract-const-value.exp b/gdb/testsuite/gdb.dwarf2/imported-unit-abstract-const-value.exp
index 13a7e97cc5..363305170e 100644
--- a/gdb/testsuite/gdb.dwarf2/imported-unit-abstract-const-value.exp
+++ b/gdb/testsuite/gdb.dwarf2/imported-unit-abstract-const-value.exp
@@ -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}}
 	    }
 	}
     }
diff --git a/gdb/testsuite/gdb.dwarf2/imported-unit-runto-main.exp b/gdb/testsuite/gdb.dwarf2/imported-unit-runto-main.exp
index 8a05ee8527..a35c12e441 100644
--- a/gdb/testsuite/gdb.dwarf2/imported-unit-runto-main.exp
+++ b/gdb/testsuite/gdb.dwarf2/imported-unit-runto-main.exp
@@ -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}}
 	    }
 	}
     }
diff --git a/gdb/testsuite/gdb.dwarf2/imported-unit.exp b/gdb/testsuite/gdb.dwarf2/imported-unit.exp
index dba87ffcb2..0e65276a02 100644
--- a/gdb/testsuite/gdb.dwarf2/imported-unit.exp
+++ b/gdb/testsuite/gdb.dwarf2/imported-unit.exp
@@ -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}
diff --git a/gdb/testsuite/gdb.dwarf2/main-subprogram.exp b/gdb/testsuite/gdb.dwarf2/main-subprogram.exp
index 15a67bada6..b0924c8096 100644
--- a/gdb/testsuite/gdb.dwarf2/main-subprogram.exp
+++ b/gdb/testsuite/gdb.dwarf2/main-subprogram.exp
@@ -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}
 	    } {
diff --git a/gdb/testsuite/gdb.dwarf2/missing-type-name.exp b/gdb/testsuite/gdb.dwarf2/missing-type-name.exp
index 3ee1e335bb..920b67a7cb 100644
--- a/gdb/testsuite/gdb.dwarf2/missing-type-name.exp
+++ b/gdb/testsuite/gdb.dwarf2/missing-type-name.exp
@@ -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}
 	    }
 
diff --git a/gdb/testsuite/gdb.dwarf2/nonvar-access.exp b/gdb/testsuite/gdb.dwarf2/nonvar-access.exp
index a3705f9514..93174657bb 100644
--- a/gdb/testsuite/gdb.dwarf2/nonvar-access.exp
+++ b/gdb/testsuite/gdb.dwarf2/nonvar-access.exp
@@ -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 {
diff --git a/gdb/testsuite/gdb.dwarf2/struct-with-sig.exp b/gdb/testsuite/gdb.dwarf2/struct-with-sig.exp
index 1ce013dfea..c8be804e53 100644
--- a/gdb/testsuite/gdb.dwarf2/struct-with-sig.exp
+++ b/gdb/testsuite/gdb.dwarf2/struct-with-sig.exp
@@ -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}}
 	    }
 	}
     }
diff --git a/gdb/testsuite/gdb.dwarf2/typedef-void-finish.exp b/gdb/testsuite/gdb.dwarf2/typedef-void-finish.exp
index 1505532f68..e2b95adefe 100644
--- a/gdb/testsuite/gdb.dwarf2/typedef-void-finish.exp
+++ b/gdb/testsuite/gdb.dwarf2/typedef-void-finish.exp
@@ -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}
 	    }
 	}
diff --git a/gdb/testsuite/gdb.dwarf2/void-type.exp b/gdb/testsuite/gdb.dwarf2/void-type.exp
index 8bc44cdbe6..4ae00c3d25 100644
--- a/gdb/testsuite/gdb.dwarf2/void-type.exp
+++ b/gdb/testsuite/gdb.dwarf2/void-type.exp
@@ -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}
 	    }