diff options
author | Ron Unrau <runrau@cygnus> | 1998-07-17 15:29:11 +0000 |
---|---|---|
committer | Ron Unrau <runrau@cygnus> | 1998-07-17 15:29:11 +0000 |
commit | 36297ff31d80a029ea0e27f8946f74354a881a62 (patch) | |
tree | 36787a2a58781eb64e3b36fa964c6477e97a01c2 /gdb/parse.c | |
parent | 4c4a5de54375655787f9e9851f6ba028572d140d (diff) | |
download | gdb-36297ff31d80a029ea0e27f8946f74354a881a62.zip gdb-36297ff31d80a029ea0e27f8946f74354a881a62.tar.gz gdb-36297ff31d80a029ea0e27f8946f74354a881a62.tar.bz2 |
* blockframe.c (find_pc_sect_partial_function): allow for the possi-
bility of multiple symbols at the same address when finding high.
* breakpoint.c (resolve_sal_pc): if the function based section lookup
fails, try getting the section from the minimal symbol table.
* parse.c (write_exp_msymbol): use symbol_overlayed_address to get
the LMA of a minimal symbol if unmapped.
* symtab.c (find_line_symtab): change interface to return symtab
containing the best linetable found.
(decode_line_1): use find_line_symtab to set val.symtab. This should
improve support for source files with multiple symtabs.
* tm-txvu.h: include tm-mips64.h instead of starting from scratch.
Diffstat (limited to 'gdb/parse.c')
-rw-r--r-- | gdb/parse.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/gdb/parse.c b/gdb/parse.c index edb374c..1cb6217 100644 --- a/gdb/parse.c +++ b/gdb/parse.c @@ -38,6 +38,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include "command.h" #include "language.h" #include "parser-defs.h" +#include "symfile.h" /* for overlay functions */ /* Global variables declared in parser-defs.h (and commented there). */ struct expression *expout; @@ -406,9 +407,16 @@ write_exp_msymbol (msymbol, text_symbol_type, data_symbol_type) struct type *text_symbol_type; struct type *data_symbol_type; { + CORE_ADDR addr; + write_exp_elt_opcode (OP_LONG); write_exp_elt_type (lookup_pointer_type (builtin_type_void)); - write_exp_elt_longcst ((LONGEST) SYMBOL_VALUE_ADDRESS (msymbol)); + + addr = SYMBOL_VALUE_ADDRESS (msymbol); + if (overlay_debugging) + addr = symbol_overlayed_address (addr, SYMBOL_BFD_SECTION (msymbol)); + write_exp_elt_longcst ((LONGEST) addr); + write_exp_elt_opcode (OP_LONG); write_exp_elt_opcode (UNOP_MEMVAL); |