aboutsummaryrefslogtreecommitdiff
path: root/gdb/symtab.h
diff options
context:
space:
mode:
authorJim Kingdon <jkingdon@engr.sgi.com>1993-05-26 03:27:32 +0000
committerJim Kingdon <jkingdon@engr.sgi.com>1993-05-26 03:27:32 +0000
commitb9298844e505d8bad226fa7be2a625263eaa7da6 (patch)
tree938dddddb320a2a9f0f37de81addf05dc0c20bdb /gdb/symtab.h
parentb64d5e491ac1c828ac4aab59b239077a339e42c9 (diff)
downloadfsf-binutils-gdb-b9298844e505d8bad226fa7be2a625263eaa7da6.zip
fsf-binutils-gdb-b9298844e505d8bad226fa7be2a625263eaa7da6.tar.gz
fsf-binutils-gdb-b9298844e505d8bad226fa7be2a625263eaa7da6.tar.bz2
* source.c (line_info): If --fullname, display the source.
(identify_source_line), callers: Take pc as argument, rather than assuming innermost frame (emacs doesn't use this, so no one ever noticed). * symtab.h: Declare frame_file_full_name. * main.c: Don't.
Diffstat (limited to 'gdb/symtab.h')
-rw-r--r--gdb/symtab.h24
1 files changed, 22 insertions, 2 deletions
diff --git a/gdb/symtab.h b/gdb/symtab.h
index 03d5e7f..c8c311d 100644
--- a/gdb/symtab.h
+++ b/gdb/symtab.h
@@ -469,7 +469,8 @@ enum address_class
/* Value is in specified register. Just like LOC_REGPARM except the
register holds the address of the argument instead of the argument
itself. This is currently used for the passing of structs and unions
- on sparc and hppa. */
+ on sparc and hppa. It is also used for call by reference where the
+ address is in a register, at least by mipsread.c. */
LOC_REGPARM_ADDR,
@@ -618,6 +619,23 @@ struct linetable_entry
CORE_ADDR pc;
};
+/* The order of entries in the linetable is significant.
+
+ It should generally be in ascending line number order. Line table
+ entries for a function at lines 10-40 should come before entries
+ for a function at lines 50-70.
+
+ A for statement looks like this
+
+ 10 0x100 - for the init/test part of a for stmt.
+ 20 0x200
+ 30 0x300
+ 10 0x400 - for the increment part of a for stmt.
+
+ FIXME: this description is incomplete. coffread.c is said to get
+ the linetable order wrong (would arrange_linenos from xcoffread.c
+ work for normal COFF too?). */
+
struct linetable
{
int nitems;
@@ -1041,8 +1059,10 @@ symbol_file_add PARAMS ((char *, int, CORE_ADDR, int, int, int));
/* source.c */
+extern int frame_file_full_name; /* in stack.c */
+
extern int
-identify_source_line PARAMS ((struct symtab *, int, int));
+identify_source_line PARAMS ((struct symtab *, int, int, CORE_ADDR));
extern void
print_source_lines PARAMS ((struct symtab *, int, int, int));