From: Nick Clifton Date: Wed, 18 May 2005 09:42:13 +0000 (+0000) Subject: (md_apply_fix3): Only use the insertion routine if one exists. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=a0ef61f7a061fa836f9b09178c4347bdc159a4f6;p=binutils-gdb.git (md_apply_fix3): Only use the insertion routine if one exists. Ignore any error messages it may produce, just allow it to perform the insertion. --- diff --git a/gas/ChangeLog b/gas/ChangeLog index b24c1261c88..239d6495be0 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,9 @@ +2005-05-18 Nick Clifton + + * config/tc-v850.c (md_apply_fix3): Only use the insertion routine + if one exists. Ignore any error messages it may produce, just + allow it to perform the insertion. + 2005-05-17 Zack Weinberg * hash.c (hash_lookup): Add len parameter. All callers changed. diff --git a/gas/config/tc-v850.c b/gas/config/tc-v850.c index 1828396c0d5..aca61e959aa 100644 --- a/gas/config/tc-v850.c +++ b/gas/config/tc-v850.c @@ -2321,8 +2321,10 @@ md_apply_fix3 (fixS *fixP, valueT *valueP, segT seg ATTRIBUTE_UNUSED) /* We still have to insert the value into memory! */ where = fixP->fx_frag->fr_literal + fixP->fx_where; - if (fixP->tc_fix_data != NULL) + if (fixP->tc_fix_data != NULL + && ((struct v850_operand *) fixP->tc_fix_data)->insert != NULL) { + const char * message = NULL; struct v850_operand * operand = (struct v850_operand *) fixP->tc_fix_data; unsigned long insn; @@ -2339,8 +2341,8 @@ md_apply_fix3 (fixS *fixP, valueT *valueP, segT seg ATTRIBUTE_UNUSED) /* Use the operand's insertion procedure, if present, in order to make sure that the value is correctly stored in the insn. */ - insn = v850_insert_operand (insn, operand, (offsetT) value, - fixP->fx_file, fixP->fx_line, NULL); + insn = operand->insert (insn, (offsetT) value, message); + /* Ignore message even if it is set. */ bfd_putl32 ((bfd_vma) insn, (unsigned char *) where); }