* elf64-ppc.c (ppc64_elf_edit_toc): Ignore can_optimize bit if
authorAlan Modra <amodra@gmail.com>
Fri, 19 Aug 2011 08:12:08 +0000 (08:12 +0000)
committerAlan Modra <amodra@gmail.com>
Fri, 19 Aug 2011 08:12:08 +0000 (08:12 +0000)
we haven't seen expected -mcmodel=medium/large code relocs.

bfd/ChangeLog
bfd/elf64-ppc.c

index f883765bc6f478ea54490f69684d4a2d5919f9e6..0f367b925252bc944f91a2f9cb2ba21a199b133f 100644 (file)
@@ -1,3 +1,8 @@
+2011-08-19  Alan Modra  <amodra@gmail.com>
+
+       * elf64-ppc.c (ppc64_elf_edit_toc): Ignore can_optimize bit if
+       we haven't seen expected -mcmodel=medium/large code relocs.
+
 2011-08-18  Tristan Gingold  <gingold@adacore.com>
 
        * mach-o.c (bfd_mach_o_read_segment): Initialize list.
index 677de04f3b305e45cf0843c09d2e701e4edf0ed9..b71a11b231abbda02928026250e27204bdb7005c 100644 (file)
@@ -8267,7 +8267,7 @@ ppc64_elf_edit_toc (struct bfd_link_info *info)
                some_unused = 1;
              last = 0;
            }
-         else if (*drop)
+         else if (*drop & ref_from_discarded)
            {
              some_unused = 1;
              last = ref_from_discarded;