aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorAndrew Burgess <andrew.burgess@embecosm.com>2020-04-03 20:41:00 +0100
committerAndrew Burgess <andrew.burgess@embecosm.com>2020-04-14 12:13:06 +0100
commit21b0982c778bf20de6fc42e7ae7735055cdd35c5 (patch)
tree134371c1283853cf730baf6a34f347c9f3a4beec /gdb
parentb1f1b4decbb40d441ad7a31f2831aee792767fa6 (diff)
downloadgdb-21b0982c778bf20de6fc42e7ae7735055cdd35c5.zip
gdb-21b0982c778bf20de6fc42e7ae7735055cdd35c5.tar.gz
gdb-21b0982c778bf20de6fc42e7ae7735055cdd35c5.tar.bz2
gdb/testsuite: Move helper function into lib/dwarf.exp
Every time I write a test making use of the DWARF assembler I end up copying in the function get_func_info. Duplicating code is bad, so lets put this function into lib/dwarf.exp and remove all of the duplicates. There should be no changes in the testsuite behaviour after this commit. gdb/testsuite/ChangeLog: * gdb.dwarf2/dw2-inline-many-frames.exp (get_func_info): Delete. * gdb.dwarf2/dw2-inline-small-func.exp: Pass options to get_func_info. (get_func_info): Delete. * gdb.dwarf2/dw2-is-stmt-2.exp (get_func_info): Delete. * gdb.dwarf2/dw2-is-stmt.exp (get_func_info): Delete. * lib/dwarf.exp (get_func_info): New function.
Diffstat (limited to 'gdb')
-rw-r--r--gdb/testsuite/ChangeLog10
-rw-r--r--gdb/testsuite/gdb.dwarf2/dw2-inline-many-frames.exp14
-rw-r--r--gdb/testsuite/gdb.dwarf2/dw2-inline-small-func.exp16
-rw-r--r--gdb/testsuite/gdb.dwarf2/dw2-is-stmt-2.exp14
-rw-r--r--gdb/testsuite/gdb.dwarf2/dw2-is-stmt.exp14
-rw-r--r--gdb/testsuite/lib/dwarf.exp16
6 files changed, 27 insertions, 57 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index c7f80f7..0afe9d0 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,3 +1,13 @@
+2020-04-14 Andrew Burgess <andrew.burgess@embecosm.com>
+
+ * gdb.dwarf2/dw2-inline-many-frames.exp (get_func_info): Delete.
+ * gdb.dwarf2/dw2-inline-small-func.exp: Pass options to
+ get_func_info.
+ (get_func_info): Delete.
+ * gdb.dwarf2/dw2-is-stmt-2.exp (get_func_info): Delete.
+ * gdb.dwarf2/dw2-is-stmt.exp (get_func_info): Delete.
+ * lib/dwarf.exp (get_func_info): New function.
+
2020-04-13 Tom de Vries <tdevries@suse.de>
* lib/ada.exp (find_ada_tool): Pass --GCC and -B to gnatlink, similar
diff --git a/gdb/testsuite/gdb.dwarf2/dw2-inline-many-frames.exp b/gdb/testsuite/gdb.dwarf2/dw2-inline-many-frames.exp
index 146af8c..0c2c661 100644
--- a/gdb/testsuite/gdb.dwarf2/dw2-inline-many-frames.exp
+++ b/gdb/testsuite/gdb.dwarf2/dw2-inline-many-frames.exp
@@ -40,20 +40,6 @@ if !$gcc_compiled {
standard_testfile dw2-inline-many-frames.c dw2-inline-many-frames.S
-# Extract the start, length, and end for function called NAME and
-# create suitable variables in the callers scope.
-proc get_func_info { name } {
- global srcdir subdir srcfile
-
- upvar 1 "${name}_start" func_start
- upvar 1 "${name}_len" func_len
- upvar 1 "${name}_end" func_end
-
- lassign [function_range ${name} [list ${srcdir}/${subdir}/$srcfile]] \
- func_start func_len
- set func_end "$func_start + $func_len"
-}
-
set asm_file [standard_output_file $srcfile2]
Dwarf::assemble $asm_file {
global srcdir subdir srcfile srcfile2
diff --git a/gdb/testsuite/gdb.dwarf2/dw2-inline-small-func.exp b/gdb/testsuite/gdb.dwarf2/dw2-inline-small-func.exp
index 777db06..4fcc3cf 100644
--- a/gdb/testsuite/gdb.dwarf2/dw2-inline-small-func.exp
+++ b/gdb/testsuite/gdb.dwarf2/dw2-inline-small-func.exp
@@ -42,26 +42,12 @@ if !$gcc_compiled {
standard_testfile dw2-inline-small-func-lbls.c dw2-inline-small-func.S \
dw2-inline-small-func.c dw2-inline-small-func.h
-# Extract the start, length, and end for function called NAME and
-# create suitable variables in the callers scope.
-proc get_func_info { name } {
- global srcdir subdir srcfile
-
- upvar 1 "${name}_start" func_start
- upvar 1 "${name}_len" func_len
- upvar 1 "${name}_end" func_end
-
- lassign [function_range ${name} [list ${srcdir}/${subdir}/$srcfile] {debug optimize=-O1}] \
- func_start func_len
- set func_end "$func_start + $func_len"
-}
-
set asm_file [standard_output_file $srcfile2]
Dwarf::assemble $asm_file {
global srcdir subdir srcfile srcfile3 srcfile4
declare_labels lines_label callee_subprog_label
- get_func_info main
+ get_func_info main {debug optimize=-O1}
cu {} {
# It is important that the producer here be 'clang' as, at the
diff --git a/gdb/testsuite/gdb.dwarf2/dw2-is-stmt-2.exp b/gdb/testsuite/gdb.dwarf2/dw2-is-stmt-2.exp
index 436c4d0..2fcad93 100644
--- a/gdb/testsuite/gdb.dwarf2/dw2-is-stmt-2.exp
+++ b/gdb/testsuite/gdb.dwarf2/dw2-is-stmt-2.exp
@@ -40,20 +40,6 @@ if !$gcc_compiled {
standard_testfile dw2-is-stmt-2.c dw2-is-stmt-2.S
-# Extract the start, length, and end for function called NAME and
-# create suitable variables in the callers scope.
-proc get_func_info { name } {
- global srcdir subdir srcfile
-
- upvar 1 "${name}_start" func_start
- upvar 1 "${name}_len" func_len
- upvar 1 "${name}_end" func_end
-
- lassign [function_range ${name} [list ${srcdir}/${subdir}/$srcfile]] \
- func_start func_len
- set func_end "$func_start + $func_len"
-}
-
set asm_file [standard_output_file $srcfile2]
Dwarf::assemble $asm_file {
global srcdir subdir srcfile
diff --git a/gdb/testsuite/gdb.dwarf2/dw2-is-stmt.exp b/gdb/testsuite/gdb.dwarf2/dw2-is-stmt.exp
index 1bcf5b0..e200e91 100644
--- a/gdb/testsuite/gdb.dwarf2/dw2-is-stmt.exp
+++ b/gdb/testsuite/gdb.dwarf2/dw2-is-stmt.exp
@@ -40,20 +40,6 @@ if !$gcc_compiled {
standard_testfile dw2-is-stmt.c dw2-is-stmt.S
-# Extract the start, length, and end for function called NAME and
-# create suitable variables in the callers scope.
-proc get_func_info { name } {
- global srcdir subdir srcfile
-
- upvar 1 "${name}_start" func_start
- upvar 1 "${name}_len" func_len
- upvar 1 "${name}_end" func_end
-
- lassign [function_range ${name} [list ${srcdir}/${subdir}/$srcfile]] \
- func_start func_len
- set func_end "$func_start + $func_len"
-}
-
set asm_file [standard_output_file $srcfile2]
Dwarf::assemble $asm_file {
global srcdir subdir srcfile
diff --git a/gdb/testsuite/lib/dwarf.exp b/gdb/testsuite/lib/dwarf.exp
index 93bde76..a7dbe25 100644
--- a/gdb/testsuite/lib/dwarf.exp
+++ b/gdb/testsuite/lib/dwarf.exp
@@ -164,6 +164,22 @@ proc function_range { func src {options {debug}} } {
return [list "${func}_label - $func_label_offset" $func_length]
}
+# Extract the start, length, and end for function called NAME and
+# create suitable variables in the callers scope.
+proc get_func_info { name {options {debug}} } {
+ global srcdir subdir srcfile
+
+ upvar 1 "${name}_start" func_start
+ upvar 1 "${name}_len" func_len
+ upvar 1 "${name}_end" func_end
+
+ lassign [function_range ${name} \
+ [list ${srcdir}/${subdir}/$srcfile] \
+ ${options}] \
+ func_start func_len
+ set func_end "$func_start + $func_len"
+}
+
# A DWARF assembler.
#
# All the variables in this namespace are private to the