diff options
author | Adam Nemet <anemet@caviumnetworks.com> | 2009-09-03 18:31:00 +0000 |
---|---|---|
committer | Adam Nemet <anemet@caviumnetworks.com> | 2009-09-03 18:31:00 +0000 |
commit | b1c0b28b7f73f8dc303bb2d836129371873d6091 (patch) | |
tree | 139aea700663a0fc2f4ccc6b80d7c5e8dc90e470 /bfd/elfxx-mips.c | |
parent | b843d5f0897830e9ee18e7cb0a9aeda842da44d7 (diff) | |
download | gdb-b1c0b28b7f73f8dc303bb2d836129371873d6091.tar.gz |
* elfxx-mips.c (mips_elf_calculate_relocation): Don't relocate
R_MIPS_JALR unless symbol resolves locally.
Diffstat (limited to 'bfd/elfxx-mips.c')
-rw-r--r-- | bfd/elfxx-mips.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c index cece0bc7070..3a1c8ba9bf7 100644 --- a/bfd/elfxx-mips.c +++ b/bfd/elfxx-mips.c @@ -5489,8 +5489,8 @@ mips_elf_calculate_relocation (bfd *abfd, bfd *input_bfd, case R_MIPS_JALR: /* This relocation is only a hint. In some cases, we optimize it into a bal instruction. But we don't try to optimize - branches to the PLT; that will wind up wasting time. */ - if (h != NULL && h->root.plt.offset != (bfd_vma) -1) + when the symbol does not resolve locally. */ + if (h != NULL && !SYMBOL_CALLS_LOCAL (info, &h->root)) return bfd_reloc_continue; value = symbol + addend; break; |