* elfread.c (elf_symfile_read): Update ELF structure and routine

names to specify 32-bit versions.
(elf_symtab_read): Retrieve size field directly from symbol,
instead of using old kludge.
This commit is contained in:
Ken Raeburn
1993-05-25 20:21:06 +00:00
parent 51300bdb0b
commit 2084a17668

View File

@ -33,11 +33,9 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
************************************************************************/ ************************************************************************/
#include "defs.h" #include "defs.h"
#include "elf/common.h"
#include "elf/external.h"
#include "elf/internal.h"
#include "bfd.h" #include "bfd.h"
#include "libbfd.h" /* For bfd_elf_find_section */ #include "libbfd.h" /* For bfd_elf_find_section */
#include "libelf.h"
#include "symtab.h" #include "symtab.h"
#include "symfile.h" #include "symfile.h"
#include "objfiles.h" #include "objfiles.h"
@ -283,8 +281,12 @@ elf_symtab_read (abfd, addr, objfile)
continue; /* Skip this symbol. */ continue; /* Skip this symbol. */
} }
/* Pass symbol size field in via BFD. FIXME!!! */ /* Pass symbol size field in via BFD. FIXME!!! */
record_minimal_symbol_and_info ((char *) sym -> name, {
symaddr, ms_type, sym->udata, objfile); elf32_symbol_type *esym = (elf32_symbol_type *) sym;
unsigned long size = esym->internal_elf_sym.st_size;
record_minimal_symbol_and_info ((char *) sym -> name, symaddr,
ms_type, (PTR) size, objfile);
}
} }
/* See if this is a debugging symbol that helps Solaris /* See if this is a debugging symbol that helps Solaris
@ -436,9 +438,9 @@ elf_symfile_read (objfile, section_offsets, mainline)
sections visible to the caller. So we have to search the sections visible to the caller. So we have to search the
ELF section table, not the BFD section table, for the string ELF section table, not the BFD section table, for the string
table. */ table. */
struct elf_internal_shdr *elf_sect; struct elf32_internal_shdr *elf_sect;
elf_sect = bfd_elf_find_section (abfd, ".stabstr"); elf_sect = bfd_elf32_find_section (abfd, ".stabstr");
if (elf_sect) if (elf_sect)
elfstab_build_psymtabs (objfile, elfstab_build_psymtabs (objfile,
section_offsets, section_offsets,