From 9f1a453ea1b37d280adaff3d45a517e9a6318d90 Mon Sep 17 00:00:00 2001 From: "Maciej W. Rozycki" Date: Mon, 13 Aug 2012 13:06:14 +0000 Subject: [PATCH] * elfxx-mips.c (mips_elf_calculate_relocation): Fix the handling of protected symbols. --- bfd/ChangeLog | 5 +++++ bfd/elfxx-mips.c | 5 ++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index b1dcf8607cd..02cac165779 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2012-08-13 Maciej W. Rozycki + + * elfxx-mips.c (mips_elf_calculate_relocation): Fix the handling + of protected symbols. + 2012-08-10 Alan Modra PR binutils/14444 diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c index 2a4c27886b7..966a0be3242 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); -- 2.30.2