* dbxread.c (process_one_symbol): If the value of an N_FUN for a

function is zero, use minimal symbols to get the address.
This commit is contained in:
Jim Kingdon 1993-09-07 18:12:26 +00:00
parent 4064305ec0
commit 8adcfb97ad
2 changed files with 14 additions and 1 deletions

View File

@ -1,3 +1,8 @@
Tue Sep 7 13:06:44 1993 Jim Kingdon (kingdon@lioth.cygnus.com)
* dbxread.c (process_one_symbol): If the value of an N_FUN for a
function is zero, use minimal symbols to get the address.
Mon Sep 6 15:01:57 1993 Jeffrey Wheat (cassidy@cygnus.com)
* elfread.c: change elf32_symbol_type to elf_symbol_type

View File

@ -1911,7 +1911,15 @@ process_one_symbol (type, desc, valu, name, section_offsets, objfile)
previous function. This means that we can use the
minimal symbol table to get the address. */
if (type == N_GSYM || type == N_STSYM)
/* On solaris up to 2.2, the N_FUN stab gets relocated.
On Solaris 2.3, ld no longer relocates stabs (which
is good), and the N_FUN's value is now always zero.
We only provide this correction for functions, not for
all N_FUN symbols, because that is easiest and all
readonly variables seem to go in the .rodata on Solaris. */
if (type == N_GSYM || type == N_STSYM
|| (type == N_FUN && valu == 0))
{
struct minimal_symbol *m;
int l = colon_pos - name;