X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=bfd%2Felf32-m32c.c;h=3e2c8027e30ad188e8bbf0d4213a10739e948b2c;hb=f36e88862f94c15a88fa27df7af906ad75a42e7f;hp=b0428eb92ec213b3b893f56f78f0daee267cb394;hpb=4b95cf5c0c75d6efc1b2f96af72317aecca079f1;p=deliverable%2Fbinutils-gdb.git diff --git a/bfd/elf32-m32c.c b/bfd/elf32-m32c.c index b0428eb92e..3e2c8027e3 100644 --- a/bfd/elf32-m32c.c +++ b/bfd/elf32-m32c.c @@ -408,6 +408,11 @@ m32c_elf_relocate_section { h = sym_hashes [r_symndx - symtab_hdr->sh_info]; + if (info->wrap_hash != NULL + && (input_section->flags & SEC_DEBUGGING) != 0) + h = ((struct elf_link_hash_entry *) + unwrap_hash_lookup (info, input_bfd, &h->root)); + while (h->root.type == bfd_link_hash_indirect || h->root.type == bfd_link_hash_warning) h = (struct elf_link_hash_entry *) h->root.u.i.link; @@ -1105,7 +1110,7 @@ m32c_elf_relax_plt_section (asection *splt, /* Likewise for local symbols, though that's somewhat less convenient as we have to walk the list of input bfds and swap in symbol data. */ - for (ibfd = info->input_bfds; ibfd ; ibfd = ibfd->link_next) + for (ibfd = info->input_bfds; ibfd ; ibfd = ibfd->link.next) { bfd_vma *local_plt_offsets = elf_local_got_offsets (ibfd); Elf_Internal_Shdr *symtab_hdr; @@ -1179,7 +1184,7 @@ m32c_elf_relax_plt_section (asection *splt, elf_link_hash_traverse (elf_hash_table (info), m32c_relax_plt_realloc, &entry); - for (ibfd = info->input_bfds; ibfd ; ibfd = ibfd->link_next) + for (ibfd = info->input_bfds; ibfd ; ibfd = ibfd->link.next) { bfd_vma *local_plt_offsets = elf_local_got_offsets (ibfd); unsigned int nlocals = elf_tdata (ibfd)->symtab_hdr.sh_info; @@ -2043,10 +2048,10 @@ _bfd_m32c_elf_eh_frame_address_size (bfd *abfd, asection *sec ATTRIBUTE_UNUSED) #define ELF_MAXPAGESIZE 0x100 #if 0 -#define TARGET_BIG_SYM bfd_elf32_m32c_vec +#define TARGET_BIG_SYM m32c_elf32_vec #define TARGET_BIG_NAME "elf32-m32c" #else -#define TARGET_LITTLE_SYM bfd_elf32_m32c_vec +#define TARGET_LITTLE_SYM m32c_elf32_vec #define TARGET_LITTLE_NAME "elf32-m32c" #endif