diff options
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 5 | ||||
-rw-r--r-- | gas/config/tc-mn10300.c | 8 |
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) |