aboutsummaryrefslogtreecommitdiff
path: root/gdb/mdebugread.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/mdebugread.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/mdebugread.c')
-rw-r--r--gdb/mdebugread.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/gdb/mdebugread.c b/gdb/mdebugread.c
index 94d44f4..325afab 100644
--- a/gdb/mdebugread.c
+++ b/gdb/mdebugread.c
@@ -2490,6 +2490,13 @@ parse_partial_symbols (objfile, section_offsets)
cur_fdr = fh = debug_info->fdr + f_idx;
+ /* If a partial symbol table has already been read for this file,
+ don't make another one. This works around a problem with some
+ compilers that emit both DWARF and mdebug sections for a single
+ module. */
+ if (lookup_partial_symtab (fdr_name (fh)))
+ continue;
+
if (fh->csym == 0)
{
fdr_to_pst[f_idx].pst = NULL;