overflow for calls to undefined weak symbols.
+2004-12-14 Richard Sandiford <rsandifo@redhat.com>
+
+ * elfxx-mips.c (mips_elf_calculate_relocation): Don't report an
+ overflow for calls to undefined weak symbols.
+
2004-12-11 Alan Modra <amodra@bigpond.net.au>
* elfcode.h (elf_slurp_symbol_table): Use bfd_elf_sym_name so that
else
{
value = (_bfd_mips_elf_sign_extend (addend, 28) + symbol) >> 2;
- overflowed_p = (value >> 26) != ((p + 4) >> 28);
+ if (h->root.root.type != bfd_link_hash_undefweak)
+ overflowed_p = (value >> 26) != ((p + 4) >> 28);
}
value &= howto->dst_mask;
break;
+2004-12-14 Richard Sandiford <rsandifo@redhat.com>
+
+ * ld-mips-elf/jal-overflow-2.[sd]: New test.
+ * ld-mips-elf/mips-elf.exp: Run it.
+
2004-12-13 Richard Sandiford <rsandifo@redhat.com>
* ld-mips-elf/mips-elf.exp: Only run jalbal if n32 is supported.
--- /dev/null
+#name: JAL overflow 2
+#source: jaloverflow-2.s
+#as:
+#ld: -Ttext=0x10000000 -e start
+#objdump: -dr
+#...
+0*10000000: 0c000000.*
+#pass
--- /dev/null
+# jal relocs against undefined weak symbols should not be treated as
+# overflowing
+
+ .globl start
+ .weak foo
+start:
+ jal foo
}
run_dump_test "jaloverflow"
+run_dump_test "jaloverflow-2"
if {$has_newabi} {
run_dump_test "jalbal"
}