aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite/gdb.base
diff options
context:
space:
mode:
authorAndrew Burgess <andrew.burgess@embecosm.com>2016-01-21 11:03:32 +0100
committerAndrew Burgess <andrew.burgess@embecosm.com>2016-03-11 22:48:21 +0000
commitf2403c39342b723a18a2bea5ed209c8c96203d2b (patch)
treefae4982a4dbea2848a4f8468dd00b05bc90b8f50 /gdb/testsuite/gdb.base
parentc4b3e547d50b01dcf909498119ff6c0af482f2c8 (diff)
downloadgdb-f2403c39342b723a18a2bea5ed209c8c96203d2b.zip
gdb-f2403c39342b723a18a2bea5ed209c8c96203d2b.tar.gz
gdb-f2403c39342b723a18a2bea5ed209c8c96203d2b.tar.bz2
gdb: New maint info line-table command.
Add a new command 'maint info line-table' to display the contents of GDB's internal line table structure. Useful when trying to understand problems (within gdb) relating to line tables. gdb/ChangeLog: * symmisc.c (maintenance_info_line_tables): New function. (maintenance_print_one_line_table): New function. (_initialize_symmisc): Register 'maint info line-table' command. * NEWS: Mention new command. gdb/doc/ChangeLog: * gdb.texinfo (Symbols): Document new 'maint info line-table' command. gdb/testsuite/ChangeLog: * gdb.base/maint.exp: New tests for 'maint info line-table'.
Diffstat (limited to 'gdb/testsuite/gdb.base')
-rw-r--r--gdb/testsuite/gdb.base/maint.exp20
1 files changed, 20 insertions, 0 deletions
diff --git a/gdb/testsuite/gdb.base/maint.exp b/gdb/testsuite/gdb.base/maint.exp
index 79924a7..f926c8b 100644
--- a/gdb/testsuite/gdb.base/maint.exp
+++ b/gdb/testsuite/gdb.base/maint.exp
@@ -471,6 +471,26 @@ gdb_test "maint" \
"\"maintenance\" must be followed by the name of a maintenance command\\.\r\nList.*unambiguous\\..*" \
"maint w/o args"
+gdb_test "maint info line-table" \
+ "symtab: \[^\n\r\]+${srcfile}.*\\(\\(struct symtab \\*\\) $hex\\)\r\nlinetable: \\(\\(struct linetable \\*\\) $hex\\):\r\nINDEX.*LINE.*ADDRESS.*" \
+ "maint info line-table w/o a file name"
+
+gdb_test "maint info line-table ${srcfile}" \
+ "symtab: \[^\n\r\]+${srcfile}.*INDEX.*LINE.*ADDRESS.*" \
+ "maint info line-table with filename of current symtab"
+
+gdb_test_no_output "maint info line-table ${srcfile2}" \
+ "maint info line-table with filename of symtab that is not currently expanded"
+
+gdb_test_no_output "maint expand-symtabs"
+
+gdb_test "maint info line-table ${srcfile2}" \
+ "symtab: \[^\n\r\]+${srcfile2}.*INDEX.*LINE.*ADDRESS.*" \
+ "maint info line-table with filename of symtab that is not current"
+
+gdb_test_no_output "maint info line-table xxx.c" \
+ "maint info line-table with invalid filename"
+
set timeout $oldtimeout
#============test help on maint commands