diff --git a/bfd/elfnn-aarch64.c b/bfd/elfnn-aarch64.c index 59c51cc..37bbef1 100644 --- a/bfd/elfnn-aarch64.c +++ b/bfd/elfnn-aarch64.c @@ -2639,34 +2639,21 @@ aarch64_select_branch_stub (bfd_vma value, bfd_vma place) /* Determine the type of stub needed, if any, for a call. */ static enum elf_aarch64_stub_type -aarch64_type_of_stub (struct bfd_link_info *info, - asection *input_sec, +aarch64_type_of_stub (asection *input_sec, const Elf_Internal_Rela *rel, asection *sym_sec, unsigned char st_type, - struct elf_aarch64_link_hash_entry *hash, bfd_vma destination) { bfd_vma location; bfd_signed_vma branch_offset; unsigned int r_type; - struct elf_aarch64_link_hash_table *globals; enum elf_aarch64_stub_type stub_type = aarch64_stub_none; - bfd_boolean via_plt_p; if (st_type != STT_FUNC && (sym_sec != bfd_abs_section_ptr)) return stub_type; - globals = elf_aarch64_hash_table (info); - via_plt_p = (globals->root.splt != NULL && hash != NULL - && hash->root.plt.offset != (bfd_vma) - 1); - /* Make sure call to plt stub can fit into the branch range. */ - if (via_plt_p) - destination = (globals->root.splt->output_section->vma - + globals->root.splt->output_offset - + hash->root.plt.offset); - /* Determine where the call point is. */ location = (input_sec->output_offset + input_sec->output_section->vma + rel->r_offset); @@ -4142,8 +4129,8 @@ elfNN_aarch64_size_stubs (bfd *output_bfd, } /* Determine what (if any) linker stub is needed. */ - stub_type = aarch64_type_of_stub - (info, section, irela, sym_sec, st_type, hash, destination); + stub_type = aarch64_type_of_stub (section, irela, sym_sec, + st_type, destination); if (stub_type == aarch64_stub_none) continue;