mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-10-20 14:22:35 +08:00
* 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:
@ -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,
|
||||||
|
Reference in New Issue
Block a user