aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
Diffstat (limited to 'gas')
-rw-r--r--gas/ChangeLog5
-rw-r--r--gas/config/tc-mn10300.c8
2 files changed, 6 insertions, 7 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 249070e..a5b3c3d 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,8 @@
+2001-05-06 Alexandre Oliva <aoliva@redhat.com>
+
+ * config/tc-mn10300.c (md_assemble): Subtract operand->shift
+ from offset in non-pcrel operands too.
+
2001-05-06 Nick Clifton <nickc@cambridge.redhat.com>
* config/tc-arm.h (MAX_MEM_FOR_RS_ALIGN_CODE): Define.
diff --git a/gas/config/tc-mn10300.c b/gas/config/tc-mn10300.c
index 00f1c05..59e13c7 100644
--- a/gas/config/tc-mn10300.c
+++ b/gas/config/tc-mn10300.c
@@ -1727,13 +1727,7 @@ keep_going:
/* Is the reloc pc-relative? */
pcrel = (operand->flags & MN10300_OPERAND_PCREL) != 0;
- offset = size - reloc_size / 8;
-
- /* If the pcrel relocation isn't at the end of the insn,
- we have to adjust the offset for the relocation to be
- correct. */
- if (pcrel)
- offset -= operand->shift / 8;
+ offset = size - (reloc_size + operand->shift) / 8;
/* Choose a proper BFD relocation type. */
if (pcrel)