|
|
|
@ -1,7 +1,9 @@ |
|
|
|
/* Read a symbol table in ECOFF format (Third-Eye).
|
|
|
|
Copyright 1986, 1987, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, |
|
|
|
1997, 1998, 1999, 2000, 2001, 2002, 2003 |
|
|
|
Free Software Foundation, Inc. |
|
|
|
|
|
|
|
Copyright 1986, 1987, 1989, 1990, 1991, 1992, 1993, 1994, 1995, |
|
|
|
1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software |
|
|
|
Foundation, Inc. |
|
|
|
|
|
|
|
Original version contributed by Alessandro Forin (af@cs.cmu.edu) at |
|
|
|
CMU. Major work by Per Bothner, John Gilmore and Ian Lance Taylor |
|
|
|
at Cygnus Support. |
|
|
|
@ -793,7 +795,8 @@ parse_symbol (SYMR *sh, union aux_ext *ax, char *ext_sh, int bigend, |
|
|
|
else |
|
|
|
{ |
|
|
|
t = parse_type (cur_fd, ax, sh->index + 1, 0, bigend, name); |
|
|
|
if (DEPRECATED_STREQ (name, "malloc") && TYPE_CODE (t) == TYPE_CODE_VOID) |
|
|
|
if (strcmp (name, "malloc") == 0 |
|
|
|
&& TYPE_CODE (t) == TYPE_CODE_VOID) |
|
|
|
{ |
|
|
|
/* I don't know why, but, at least under Alpha GNU/Linux,
|
|
|
|
when linking against a malloc without debugging |
|
|
|
@ -1667,7 +1670,8 @@ parse_type (int fd, union aux_ext *ax, unsigned int aux_index, int *bs, |
|
|
|
bad_tag_guess_complaint (sym_name); |
|
|
|
TYPE_CODE (tp) = type_code; |
|
|
|
} |
|
|
|
if (TYPE_NAME (tp) == NULL || !DEPRECATED_STREQ (TYPE_NAME (tp), name)) |
|
|
|
if (TYPE_NAME (tp) == NULL |
|
|
|
|| strcmp (TYPE_NAME (tp), name) != 0) |
|
|
|
TYPE_NAME (tp) = obsavestring (name, strlen (name), |
|
|
|
¤t_objfile->type_obstack); |
|
|
|
} |
|
|
|
@ -1987,7 +1991,8 @@ parse_procedure (PDR *pr, struct symtab *search_symtab, |
|
|
|
|
|
|
|
/* Correct incorrect setjmp procedure descriptor from the library
|
|
|
|
to make backtrace through setjmp work. */ |
|
|
|
if (e->pdr.pcreg == 0 && DEPRECATED_STREQ (sh_name, "setjmp")) |
|
|
|
if (e->pdr.pcreg == 0 |
|
|
|
&& strcmp (sh_name, "setjmp") == 0) |
|
|
|
{ |
|
|
|
complaint (&symfile_complaints, "fixing bad setjmp PDR from libc"); |
|
|
|
e->pdr.pcreg = RA_REGNUM; |
|
|
|
@ -2608,7 +2613,8 @@ parse_partial_symbols (struct objfile *objfile) |
|
|
|
((char *) debug_info->external_sym |
|
|
|
+ (fh->isymBase + 1) * external_sym_size), |
|
|
|
&sh); |
|
|
|
if (DEPRECATED_STREQ (debug_info->ss + fh->issBase + sh.iss, stabs_symbol)) |
|
|
|
if (strcmp (debug_info->ss + fh->issBase + sh.iss, |
|
|
|
stabs_symbol) == 0) |
|
|
|
processing_gcc_compilation = 2; |
|
|
|
} |
|
|
|
|
|
|
|
@ -2929,12 +2935,13 @@ parse_partial_symbols (struct objfile *objfile) |
|
|
|
things like "break c-exp.y:435" need to work (I |
|
|
|
suppose the psymtab_include_list could be hashed or put |
|
|
|
in a binary tree, if profiling shows this is a major hog). */ |
|
|
|
if (pst && DEPRECATED_STREQ (namestring, pst->filename)) |
|
|
|
if (pst && strcmp (namestring, pst->filename) == 0) |
|
|
|
continue; |
|
|
|
{ |
|
|
|
int i; |
|
|
|
for (i = 0; i < includes_used; i++) |
|
|
|
if (DEPRECATED_STREQ (namestring, psymtab_include_list[i])) |
|
|
|
if (strcmp (namestring, |
|
|
|
psymtab_include_list[i]) == 0) |
|
|
|
{ |
|
|
|
i = -1; |
|
|
|
break; |
|
|
|
@ -3861,8 +3868,8 @@ psymtab_to_symtab_1 (struct partial_symtab *pst, char *filename) |
|
|
|
((char *) debug_info->external_sym |
|
|
|
+ (fh->isymBase + 1) * external_sym_size), |
|
|
|
&sh); |
|
|
|
if (DEPRECATED_STREQ (debug_info->ss + fh->issBase + sh.iss, |
|
|
|
stabs_symbol)) |
|
|
|
if (strcmp (debug_info->ss + fh->issBase + sh.iss, |
|
|
|
stabs_symbol) == 0) |
|
|
|
{ |
|
|
|
/* We indicate that this is a GCC compilation so that certain
|
|
|
|
features will be enabled in stabsread/dbxread. */ |
|
|
|
|