diff options
author | Andrew Burgess <andrew.burgess@embecosm.com> | 2020-04-03 20:41:00 +0100 |
---|---|---|
committer | Andrew Burgess <andrew.burgess@embecosm.com> | 2020-04-14 12:13:06 +0100 |
commit | 21b0982c778bf20de6fc42e7ae7735055cdd35c5 (patch) | |
tree | 134371c1283853cf730baf6a34f347c9f3a4beec | |
parent | b1f1b4decbb40d441ad7a31f2831aee792767fa6 (diff) | |
download | gdb-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.
-rw-r--r-- | gdb/testsuite/ChangeLog | 10 | ||||
-rw-r--r-- | gdb/testsuite/gdb.dwarf2/dw2-inline-many-frames.exp | 14 | ||||
-rw-r--r-- | gdb/testsuite/gdb.dwarf2/dw2-inline-small-func.exp | 16 | ||||
-rw-r--r-- | gdb/testsuite/gdb.dwarf2/dw2-is-stmt-2.exp | 14 | ||||
-rw-r--r-- | gdb/testsuite/gdb.dwarf2/dw2-is-stmt.exp | 14 | ||||
-rw-r--r-- | gdb/testsuite/lib/dwarf.exp | 16 |
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 |