Don't use error result from find_stab_function_addr().

This commit is contained in:
Kevin Buettner 2001-09-06 20:50:48 +00:00
parent 8050ee1ada
commit 9a058a09a9
3 changed files with 47 additions and 6 deletions

View File

@ -1,3 +1,13 @@
2001-09-06 Kevin Buettner <kevinb@redhat.com>
* dbxread.c (process_one_symbol): Don't use error result from
find_stab_function_addr().
* partial-stab.h (case 'F'): Likewise.
* partial-stab.h (case 'f'): Make SOFUN_ADDRESS_MAYBE_MISSING
code match that used for case 'F'. This fixes the divergence
that was introduced by my 1999-09-14 changes to partial-stab.h.
2001-09-05 Elena Zannoni <ezannoni@redhat.com>
* gdbarch.sh: Move include of dis-asm.h so it is generated earlier

View File

@ -2266,8 +2266,18 @@ process_one_symbol (int type, int desc, CORE_ADDR valu, char *name,
from N_FUN symbols. */
if (type == N_FUN
&& valu == ANOFFSET (section_offsets, SECT_OFF_TEXT (objfile)))
valu =
find_stab_function_addr (name, last_source_file, objfile);
{
CORE_ADDR minsym_valu =
find_stab_function_addr (name, last_source_file, objfile);
/* find_stab_function_addr will return 0 if the minimal
symbol wasn't found. (Unfortunately, this might also
be a valid address.) Anyway, if it *does* return 0,
it is likely that the value was set correctly to begin
with... */
if (minsym_valu != 0)
valu = minsym_valu;
}
#endif
#ifdef SUN_FIXED_LBRAC_BUG

View File

@ -595,10 +595,22 @@ switch (CUR_SYMBOL_TYPE)
#ifdef SOFUN_ADDRESS_MAYBE_MISSING
/* Do not fix textlow==0 for .o or NLM files, as 0 is a legit
value for the bottom of the text seg in those cases. */
if (CUR_SYMBOL_VALUE == ANOFFSET (objfile->section_offsets,
SECT_OFF_TEXT (objfile)))
{
CORE_ADDR minsym_valu =
find_stab_function_addr (namestring, pst->filename, objfile);
/* find_stab_function_addr will return 0 if the minimal
symbol wasn't found. (Unfortunately, this might also
be a valid address.) Anyway, if it *does* return 0,
it is likely that the value was set correctly to begin
with... */
if (minsym_valu != 0)
CUR_SYMBOL_VALUE = minsym_valu;
}
if (pst && textlow_not_set)
{
pst->textlow =
find_stab_function_addr (namestring, pst->filename, objfile);
pst->textlow = CUR_SYMBOL_VALUE;
textlow_not_set = 0;
}
#endif
@ -652,8 +664,17 @@ switch (CUR_SYMBOL_TYPE)
value for the bottom of the text seg in those cases. */
if (CUR_SYMBOL_VALUE == ANOFFSET (objfile->section_offsets,
SECT_OFF_TEXT (objfile)))
CUR_SYMBOL_VALUE =
find_stab_function_addr (namestring, pst->filename, objfile);
{
CORE_ADDR minsym_valu =
find_stab_function_addr (namestring, pst->filename, objfile);
/* find_stab_function_addr will return 0 if the minimal
symbol wasn't found. (Unfortunately, this might also
be a valid address.) Anyway, if it *does* return 0,
it is likely that the value was set correctly to begin
with... */
if (minsym_valu != 0)
CUR_SYMBOL_VALUE = minsym_valu;
}
if (pst && textlow_not_set)
{
pst->textlow = CUR_SYMBOL_VALUE;