From: Ian Lance Taylor Date: Mon, 23 Jan 1995 22:32:18 +0000 (+0000) Subject: * coff-sh.c (sh_reloc): Don't ignore the previous contents of an X-Git-Tag: gdb-4_18-branchpoint~12616 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=6e3acf74d0fd966128b0d68bf94bf6bc4bd5d5cd;p=thirdparty%2Fbinutils-gdb.git * coff-sh.c (sh_reloc): Don't ignore the previous contents of an R_SH_IMM32 reloc. PR 6215. --- diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 3a5840c717f..3b15f47688a 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,5 +1,8 @@ Mon Jan 23 13:33:18 1995 Ian Lance Taylor + * coff-sh.c (sh_reloc): Don't ignore the previous contents of an + R_SH_IMM32 reloc. + * config.bfd (i[345]86-*-gnu*): Set bfd_name to i386-gnu. * config/i386-gnu.mt: New file. Include ELF support. diff --git a/bfd/coff-sh.c b/bfd/coff-sh.c index 80f4af40cc4..3a9c76d15a7 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 */