diff options
author | Alan Modra <amodra@gmail.com> | 2008-03-11 23:23:23 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2008-03-11 23:23:23 +0000 |
commit | cb33740c88ad5fd9e07f243332c511275c15219f (patch) | |
tree | bce7dd46370c50810ce310835662665013404f3c /bfd/elf64-ppc.c | |
parent | 1bce5d2cc6fc0433d2c2ad7a1ae39d72a9825eeb (diff) | |
download | gdb-cb33740c88ad5fd9e07f243332c511275c15219f.zip gdb-cb33740c88ad5fd9e07f243332c511275c15219f.tar.gz gdb-cb33740c88ad5fd9e07f243332c511275c15219f.tar.bz2 |
* elf-bfd.h (_bfd_elf_section_from_bfd_section): Update prototype.
* elf.c (_bfd_elf_section_from_bfd_section): Return unsigned int,
SHN_BAD on error.
(_bfd_elf_print_private_bfd_data): Test for SHN_BAD result from
_bfd_elf_section_from_bfd_section, not -1.
(swap_out_syms): Likewise.
* elflink.c (elf_link_add_object_symbols): Likewise.
(bfd_elf_get_bfd_needed_list): Likewise.
(bfd_elf_match_symbols_in_sections): Likewise.
(elf_link_add_object_symbols): Don't bother testing for symbols
using normal sections before calling bfd_section_from_elf_index.
(elf_link_input_bfd, bfd_elf_final_link): Likewise.
(bfd_elf_reloc_symbol_deleted_p): Likewise.
* elfcode.h (elf_slurp_symbol_table): Likewise.
* elf32-spu.c (get_sym_h): Likewise.
* elf32-xtensa.c (get_elf_r_symndx_section): Likewise.
* elf64-ppc.c (opd_entry_value, get_sym_h, ppc64_elf_edit_toc): Ditto.
* elf64-sh64.c (sh_elf64_get_relocated_section_contents): Likewise.
Diffstat (limited to 'bfd/elf64-ppc.c')
-rw-r--r-- | bfd/elf64-ppc.c | 20 |
1 files changed, 3 insertions, 17 deletions
diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c index a196824..8aabad7 100644 --- a/bfd/elf64-ppc.c +++ b/bfd/elf64-ppc.c @@ -5026,11 +5026,7 @@ opd_entry_value (asection *opd_sec, sym += symndx; val = sym->st_value; - sec = NULL; - if ((sym->st_shndx != SHN_UNDEF - && sym->st_shndx < SHN_LORESERVE) - || sym->st_shndx > SHN_HIRESERVE) - sec = bfd_section_from_elf_index (opd_bfd, sym->st_shndx); + sec = bfd_section_from_elf_index (opd_bfd, sym->st_shndx); BFD_ASSERT ((sec->flags & SEC_MERGE) == 0); } else @@ -6060,14 +6056,7 @@ get_sym_h (struct elf_link_hash_entry **hp, *symp = sym; if (symsecp != NULL) - { - asection *symsec = NULL; - if ((sym->st_shndx != SHN_UNDEF - && sym->st_shndx < SHN_LORESERVE) - || sym->st_shndx > SHN_HIRESERVE) - symsec = bfd_section_from_elf_index (ibfd, sym->st_shndx); - *symsecp = symsec; - } + *symsecp = bfd_section_from_elf_index (ibfd, sym->st_shndx); if (tls_maskp != NULL) { @@ -7577,10 +7566,7 @@ ppc64_elf_edit_toc (bfd *obfd ATTRIBUTE_UNUSED, struct bfd_link_info *info) for (sym = local_syms; sym < local_syms + symtab_hdr->sh_info; ++sym) - if (sym->st_shndx != SHN_UNDEF - && (sym->st_shndx < SHN_LORESERVE - || sym->st_shndx > SHN_HIRESERVE) - && sym->st_value != 0 + if (sym->st_value != 0 && bfd_section_from_elf_index (ibfd, sym->st_shndx) == toc) { if (skip[sym->st_value >> 3] != (unsigned long) -1) |