aboutsummaryrefslogtreecommitdiff
path: root/gdb/dbxread.c
diff options
context:
space:
mode:
authorMark Alexander <marka@cygnus>1997-09-15 21:06:16 +0000
committerMark Alexander <marka@cygnus>1997-09-15 21:06:16 +0000
commit899c402166e46e5b16b3e668d2b947b12a682136 (patch)
tree6005600a8fef2ac571d224536ecfe7640b616eb5 /gdb/dbxread.c
parenta611b1c2fd7c9974146134a1eeaf41c04c743386 (diff)
downloadgdb-899c402166e46e5b16b3e668d2b947b12a682136.zip
gdb-899c402166e46e5b16b3e668d2b947b12a682136.tar.gz
gdb-899c402166e46e5b16b3e668d2b947b12a682136.tar.bz2
* dbxread.c (MSYMBOL_SIZE): New macro.
(end_psymtab): Use MSYMBOL_SIZE to extract size from minimal symbol. * elfread.c (elf_symtab_read): If ELF symbol is "special", such as a MIPS16 function, mark minimal symbol as special too. * mips-tdep.c (pc_is_mips16): New function to check whether a function is MIPS16 by looking at the minimal symbol. Use pc_is_mips16 throughout instead of IS_MIPS16_ADDR macro. * config/mips/tm-mips.h (SYMBOL_IS_SPECIAL, MAKE_MSYMBOL_SPECIAL, MSYMBOL_IS_SPECIAL, MSYMBOL_SIZE): New functions for setting/testing "special" MIPS16 bit in ELF and minimal symbols. * mdebugread.c (parse_partial_symbols): Don't construct a partial symbol table for a file that already has one. start-sanitize-tx19 * configure.tgt: Support TX19. * config/mips/tm-tx19.h, config/mips/tm-tx19l.h, config/mips/tx19.mt, config/mips/tx19l.mt: New files for TX19. end-sanitize-tx19
Diffstat (limited to 'gdb/dbxread.c')
-rw-r--r--gdb/dbxread.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/gdb/dbxread.c b/gdb/dbxread.c
index 7fa7d7d..2f57096 100644
--- a/gdb/dbxread.c
+++ b/gdb/dbxread.c
@@ -62,6 +62,14 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "aout/stab_gnu.h" /* We always use GNU stabs, not native, now */
+/* This macro returns the size field of a minimal symbol, which is normally
+ stored in the "info" field. The macro can be overridden for specific
+ targets (e.g. MIPS16) that use the info field for other purposes. */
+#ifndef MSYMBOL_SIZE
+#define MSYMBOL_SIZE(msym) ((long) MSYMBOL_INFO (msym))
+#endif
+
+
/* We put a pointer to this structure in the read_symtab_private field
of the psymtab. */
@@ -1417,8 +1425,7 @@ end_psymtab (pst, include_list, num_includes, capping_symbol_offset,
minsym = lookup_minimal_symbol (p, pst->filename, objfile);
if (minsym)
- pst->texthigh = SYMBOL_VALUE_ADDRESS (minsym)
- + (long) MSYMBOL_INFO (minsym);
+ pst->texthigh = SYMBOL_VALUE_ADDRESS (minsym) + MSYMBOL_SIZE (minsym);
last_function_name = NULL;
}