2009-04-15 Christophe Lyon <christophe.lyon@st.com>
[deliverable/binutils-gdb.git] / bfd / elf32-arm.c
index a47d02c020df4b666669b448dc90a1c351bbc749..99beb9e63cc8c123ff22da7c61ab3ee2fcb728e4 100644 (file)
@@ -6363,8 +6363,9 @@ elf32_arm_final_link_relocate (reloc_howto_type *           howto,
          signed_addend >>= howto->rightshift;
 
          /* A branch to an undefined weak symbol is turned into a jump to
-            the next instruction.  */
-         if (h && h->root.type == bfd_link_hash_undefweak)
+            the next instruction unless a PLT entry will be created.  */
+         if (h && h->root.type == bfd_link_hash_undefweak
+             && !(splt != NULL && h->plt.offset != (bfd_vma) -1))
            {
              value = (bfd_get_32 (input_bfd, hit_data) & 0xf0000000)
                      | 0x0affffff;
This page took 0.02818 seconds and 4 git commands to generate.