diff options
-rw-r--r-- | bfd/ChangeLog | 5 | ||||
-rw-r--r-- | bfd/elfxx-mips.c | 5 |
2 files changed, 9 insertions, 1 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index b1dcf86..02cac16 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2012-08-13 Maciej W. Rozycki <macro@codesourcery.com> + + * elfxx-mips.c (mips_elf_calculate_relocation): Fix the handling + of protected symbols. + 2012-08-10 Alan Modra <amodra@gmail.com> PR binutils/14444 diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c index 2a4c278..966a0be 100644 --- a/bfd/elfxx-mips.c +++ b/bfd/elfxx-mips.c @@ -5360,7 +5360,10 @@ mips_elf_calculate_relocation (bfd *abfd, bfd *input_bfd, && (target_is_16_bit_code_p || target_is_micromips_code_p)))); - local_p = h == NULL || SYMBOL_REFERENCES_LOCAL (info, &h->root); + local_p = (h == NULL + || (h->got_only_for_calls + ? SYMBOL_CALLS_LOCAL (info, &h->root) + : SYMBOL_REFERENCES_LOCAL (info, &h->root))); gp0 = _bfd_get_gp_value (input_bfd); gp = _bfd_get_gp_value (abfd); |