aboutsummaryrefslogtreecommitdiff
path: root/bfd
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>1995-01-23 22:32:18 +0000
committerIan Lance Taylor <ian@airs.com>1995-01-23 22:32:18 +0000
commit6e3acf74d0fd966128b0d68bf94bf6bc4bd5d5cd (patch)
tree1e9a75414dec849ab3aa4fe007f0360ad12fbe37 /bfd
parent1b0c5a4fbb7352ff544f57c3b3acaf853c3f706b (diff)
downloadgdb-6e3acf74d0fd966128b0d68bf94bf6bc4bd5d5cd.zip
gdb-6e3acf74d0fd966128b0d68bf94bf6bc4bd5d5cd.tar.gz
gdb-6e3acf74d0fd966128b0d68bf94bf6bc4bd5d5cd.tar.bz2
* coff-sh.c (sh_reloc): Don't ignore the previous contents of an
R_SH_IMM32 reloc. PR 6215.
Diffstat (limited to 'bfd')
-rw-r--r--bfd/ChangeLog3
-rw-r--r--bfd/coff-sh.c10
2 files changed, 5 insertions, 8 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 3a5840c..3b15f47 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,5 +1,8 @@
Mon Jan 23 13:33:18 1995 Ian Lance Taylor <ian@sanguine.cygnus.com>
+ * 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 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 */