summaryrefslogtreecommitdiff
path: root/bfd/elf32-i860.c
diff options
context:
space:
mode:
authorJason Eckhardt <jle@rice.edu>2003-05-12 03:08:02 +0000
committerJason Eckhardt <jle@rice.edu>2003-05-12 03:08:02 +0000
commited74202cef3c975932c7956341b6f482afb94a18 (patch)
tree1126e911473a46f522e418b97b0eb8e1fe28c9ca /bfd/elf32-i860.c
parent9c62f5348d6559138972e40f55bfb9600e850de1 (diff)
downloadbinutils-redhat-ed74202cef3c975932c7956341b6f482afb94a18.tar.gz
2003-05-11 Jason Eckhardt <jle@rice.edu>
* bfd/elf32-i860.c (elf32_i860_relocate_highadj): Properly adjust upper bits. (elf32_i860_relocate_splitn): Obtain upper 5 bits from the proper place. (elf32_i860_relocate_pc16): Obtain upper 5 bits from the proper place.
Diffstat (limited to 'bfd/elf32-i860.c')
-rw-r--r--bfd/elf32-i860.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/bfd/elf32-i860.c b/bfd/elf32-i860.c
index d24a29d8a6..7a132c6d69 100644
--- a/bfd/elf32-i860.c
+++ b/bfd/elf32-i860.c
@@ -718,7 +718,7 @@ elf32_i860_relocate_splitn (input_bfd, rello, contents, value)
value += rello->r_addend;
/* Separate the fields and insert. */
- value = (((value & 0xf8) << 5) | (value & 0x7ff)) & howto->dst_mask;
+ value = (((value & 0xf800) << 5) | (value & 0x7ff)) & howto->dst_mask;
insn = (insn & ~howto->dst_mask) | value;
bfd_put_32 (input_bfd, insn, contents + rello->r_offset);
@@ -750,7 +750,7 @@ elf32_i860_relocate_pc16 (input_bfd, input_section, rello, contents, value)
value += rello->r_addend;
/* Separate the fields and insert. */
- value = (((value & 0xf8) << 5) | (value & 0x7ff)) & howto->dst_mask;
+ value = (((value & 0xf800) << 5) | (value & 0x7ff)) & howto->dst_mask;
insn = (insn & ~howto->dst_mask) | value;
bfd_put_32 (input_bfd, insn, contents + rello->r_offset);
@@ -802,8 +802,8 @@ elf32_i860_relocate_highadj (input_bfd, rel, contents, value)
insn = bfd_get_32 (input_bfd, contents + rel->r_offset);
- value += ((rel->r_addend & 0x8000) << 1);
value += rel->r_addend;
+ value += (value & 0x8000) << 1;
value = ((value >> 16) & 0xffff);
insn = (insn & 0xffff0000) | value;