2001-08-20 H.J. Lu <hjl@gnu.org>
* elf-bfd.h (elf_obj_tdata): Add num_section_syms. (elf_num_section_syms): New for num_section_syms. * elf.c (elf_map_symbols): Set num_section_syms. (_bfd_elf_symbol_from_bfd_symbol): Check num_section_syms for the section symbol index.
This commit is contained in:
parent
a6bacc8047
commit
4e89ac30f3
@ -1,3 +1,12 @@
|
||||
2001-08-20 H.J. Lu <hjl@gnu.org>
|
||||
|
||||
* elf-bfd.h (elf_obj_tdata): Add num_section_syms.
|
||||
(elf_num_section_syms): New for num_section_syms.
|
||||
|
||||
* elf.c (elf_map_symbols): Set num_section_syms.
|
||||
(_bfd_elf_symbol_from_bfd_symbol): Check num_section_syms for
|
||||
the section symbol index.
|
||||
|
||||
2001-08-20 Nick Clifton <nickc@cambridge.redhat.com>
|
||||
|
||||
* elfxx-target.h (bfd_elfNN_bfd_link_hash_table_create): Never
|
||||
|
@ -813,6 +813,7 @@ struct elf_obj_tdata
|
||||
struct bfd_strtab_hash *strtab_ptr;
|
||||
int num_locals;
|
||||
int num_globals;
|
||||
int num_section_syms;
|
||||
asymbol **section_syms; /* STT_SECTION symbols for each section */
|
||||
Elf_Internal_Shdr symtab_hdr;
|
||||
Elf_Internal_Shdr shstrtab_hdr;
|
||||
@ -954,6 +955,7 @@ struct elf_obj_tdata
|
||||
#define elf_num_locals(bfd) (elf_tdata(bfd) -> num_locals)
|
||||
#define elf_num_globals(bfd) (elf_tdata(bfd) -> num_globals)
|
||||
#define elf_section_syms(bfd) (elf_tdata(bfd) -> section_syms)
|
||||
#define elf_num_section_syms(bfd) (elf_tdata(bfd) -> num_section_syms)
|
||||
#define core_prpsinfo(bfd) (elf_tdata(bfd) -> prpsinfo)
|
||||
#define core_prstatus(bfd) (elf_tdata(bfd) -> prstatus)
|
||||
#define elf_gp(bfd) (elf_tdata(bfd) -> gp)
|
||||
|
@ -2091,6 +2091,7 @@ elf_map_symbols (abfd)
|
||||
if (sect_syms == NULL)
|
||||
return false;
|
||||
elf_section_syms (abfd) = sect_syms;
|
||||
elf_num_section_syms (abfd) = max_index;
|
||||
|
||||
for (idx = 0; idx < symcount; idx++)
|
||||
{
|
||||
@ -3651,7 +3652,8 @@ _bfd_elf_symbol_from_bfd_symbol (abfd, asym_ptr_ptr)
|
||||
indx = asym_ptr->section->output_section->index;
|
||||
else
|
||||
indx = asym_ptr->section->index;
|
||||
if (elf_section_syms (abfd)[indx])
|
||||
if (indx < elf_num_section_syms (abfd)
|
||||
&& elf_section_syms (abfd)[indx] != NULL)
|
||||
asym_ptr->udata.i = elf_section_syms (abfd)[indx]->udata.i;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user