aboutsummaryrefslogtreecommitdiff
path: root/bfd/coff-sh.c
diff options
context:
space:
mode:
Diffstat (limited to 'bfd/coff-sh.c')
-rw-r--r--bfd/coff-sh.c10
1 files changed, 2 insertions, 8 deletions
diff --git a/bfd/coff-sh.c b/bfd/coff-sh.c
index 80f4af4..3a9c76d 100644
--- a/bfd/coff-sh.c
+++ b/bfd/coff-sh.c
@@ -147,8 +147,8 @@ sh_reloc (abfd, reloc_entry, symbol_in, data, input_section, output_bfd,
switch (r_type)
{
case R_SH_IMM32:
- /* We ignore the previous contents ! */
insn = sym_value + reloc_entry->addend;
+ insn += bfd_get_32 (abfd, hit_data);
bfd_put_32(abfd, insn, hit_data);
break;
default:
@@ -308,12 +308,6 @@ const bfd_target shcoff_vec =
COFF_SWAP_TABLE,
};
-
-static int no_archive()
-{
- bfd_set_error (bfd_error_wrong_format);
- return 0;
-}
const bfd_target shlcoff_vec =
{
"coff-shl", /* name */
@@ -341,7 +335,7 @@ const bfd_target shlcoff_vec =
This is so that we only use one archive format for both
object file types */
{_bfd_dummy_target, coff_object_p, /* bfd_check_format */
- no_archive, _bfd_dummy_target},
+ _bfd_dummy_target, _bfd_dummy_target},
{bfd_false, coff_mkobject, _bfd_generic_mkarchive, /* bfd_set_format */
bfd_false},
{bfd_false, coff_write_object_contents, /* bfd_write_contents */