From b9298844e505d8bad226fa7be2a625263eaa7da6 Mon Sep 17 00:00:00 2001 From: Jim Kingdon Date: Wed, 26 May 1993 03:27:32 +0000 Subject: * 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. --- gdb/symtab.h | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) (limited to 'gdb/symtab.h') 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)); -- cgit v1.1