From 36297ff31d80a029ea0e27f8946f74354a881a62 Mon Sep 17 00:00:00 2001 From: Ron Unrau Date: Fri, 17 Jul 1998 15:29:11 +0000 Subject: * 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. --- gdb/parse.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'gdb/parse.c') 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); -- cgit v1.1