diff options
author | Nick Clifton <nickc@redhat.com> | 2005-05-18 09:42:13 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2005-05-18 09:42:13 +0000 |
commit | a0ef61f7a061fa836f9b09178c4347bdc159a4f6 (patch) | |
tree | b62c59ee5c335f76f22651c157347dd6eda38e0a /gas | |
parent | 181124bc7ce9af40ecdc24f29b84a04e20ddb449 (diff) | |
download | gdb-a0ef61f7a061fa836f9b09178c4347bdc159a4f6.zip gdb-a0ef61f7a061fa836f9b09178c4347bdc159a4f6.tar.gz gdb-a0ef61f7a061fa836f9b09178c4347bdc159a4f6.tar.bz2 |
(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.
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 6 | ||||
-rw-r--r-- | gas/config/tc-v850.c | 8 |
2 files changed, 11 insertions, 3 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index b24c126..239d649 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,9 @@ +2005-05-18 Nick Clifton <nickc@redhat.com> + + * 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 <zack@codesourcery.com> * 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 1828396..aca61e95 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); } |