* minsyms.c (lookup_minimal_symbol_by_pc): Don't use mst_abs symbols.

This commit is contained in:
Jim Kingdon 1993-10-04 22:01:38 +00:00
parent 4f5666c520
commit 291b84ff00
2 changed files with 19 additions and 3 deletions

View File

@ -1,5 +1,7 @@
Mon Oct 4 11:02:11 1993 Jim Kingdon (kingdon@lioth.cygnus.com) Mon Oct 4 11:02:11 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
* minsyms.c (lookup_minimal_symbol_by_pc): Don't use mst_abs symbols.
* dbxread.c (process_one_symbol): Make n_opt_found static. * dbxread.c (process_one_symbol): Make n_opt_found static.
* Rename i386lynx-tdep.c to i386ly-tdep.c for 14 character file names. * Rename i386lynx-tdep.c to i386ly-tdep.c for 14 character file names.

View File

@ -253,9 +253,23 @@ lookup_minimal_symbol_by_pc (pc)
objfile's minimal symbol table. See if it is the best one objfile's minimal symbol table. See if it is the best one
overall. */ overall. */
if ((best_symbol == NULL) || /* Skip any absolute symbols. This is apparently what adb
(SYMBOL_VALUE_ADDRESS (best_symbol) < and dbx do, and is needed for the CM-5. There are two
SYMBOL_VALUE_ADDRESS (&msymbol[hi]))) known possible problems: (1) on ELF, apparently end, edata,
etc. are absolute. Not sure ignoring them here is a big
deal, but if we want to use them, the fix would go in
elfread.c. (2) I think shared library entry points on the
NeXT are absolute. If we want special handling for this
it probably should be triggered by a special
mst_abs_or_lib or some such. */
while (hi >= 0
&& msymbol[hi].type == mst_abs)
--hi;
if (hi >= 0
&& ((best_symbol == NULL) ||
(SYMBOL_VALUE_ADDRESS (best_symbol) <
SYMBOL_VALUE_ADDRESS (&msymbol[hi]))))
{ {
best_symbol = &msymbol[hi]; best_symbol = &msymbol[hi];
} }