From 2d56269edf0223b27cddd4ab1736819b5d66762c Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Sat, 31 Aug 1996 18:36:19 +0000 Subject: [PATCH] * config/tc-v850.c (md_apply_fix3): Do simple byte, short and word fixups too. Fixes "difference between forward references". --- gas/ChangeLog | 3 +++ gas/config/tc-v850.c | 11 +++++++++++ 2 files changed, 14 insertions(+) diff --git a/gas/ChangeLog b/gas/ChangeLog index 0ba20b8e566..b7d4159235d 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,6 +1,9 @@ start-sanitize-v850 Fri Aug 30 23:50:08 1996 Jeffrey A Law (law@cygnus.com) + * config/tc-v850.c (md_apply_fix3): Do simple byte, short and + word fixups too. + * config/tc-v850.c (md_apply_fix3): Use little endian get/put routines to fetch/store the updated instruction from/to memory. (v850_insert_operand): If the operand has a specialized insert diff --git a/gas/config/tc-v850.c b/gas/config/tc-v850.c index 80249937509..1471f3c7e9c 100644 --- a/gas/config/tc-v850.c +++ b/gas/config/tc-v850.c @@ -915,6 +915,17 @@ md_apply_fix3 (fixp, valuep, seg) return 1; } } + else if (fixp->fx_done) + { + /* We still have to insert the value into memory! */ + where = fixp->fx_frag->fr_literal + fixp->fx_where; + if (fixp->fx_size == 1) + *where = value & 0xff; + if (fixp->fx_size == 2) + bfd_putl16(value & 0xffff, (unsigned char *) where); + if (fixp->fx_size == 4) + bfd_putl32(value, (unsigned char *) where); + } fixp->fx_addnumber = value; return 1; -- 2.30.2