aboutsummaryrefslogtreecommitdiff
path: root/gas/config/tc-spu.c
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2007-03-23 00:42:26 +0000
committerAlan Modra <amodra@gmail.com>2007-03-23 00:42:26 +0000
commit840edabd6d37b1b00d04e339e019b97ec5543265 (patch)
tree38cc6b7bcdb640f15e4adda8220d80d6c0af1a81 /gas/config/tc-spu.c
parentaa7a0635f3a0b331b9c9f15925241f6c2e0b9f8f (diff)
downloadgdb-840edabd6d37b1b00d04e339e019b97ec5543265.zip
gdb-840edabd6d37b1b00d04e339e019b97ec5543265.tar.gz
gdb-840edabd6d37b1b00d04e339e019b97ec5543265.tar.bz2
* config/tc-spu.c: Don't include opcode/spu.h.
(md_assemble): Set tc_fix_data.insn_tag and arg_format. (md_apply_fix): Adjust. * config/tc-spu.h: Include opcode/spu.h. (struct tc_fix_info): New. (TC_FIX_TYPE, TC_INIT_FIX_DATA): Adjust. (TC_FORCE_RELOCATION): Define.
Diffstat (limited to 'gas/config/tc-spu.c')
-rw-r--r--gas/config/tc-spu.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/gas/config/tc-spu.c b/gas/config/tc-spu.c
index cd4af4c..f4690fb 100644
--- a/gas/config/tc-spu.c
+++ b/gas/config/tc-spu.c
@@ -1,6 +1,6 @@
/* spu.c -- Assembler for the IBM Synergistic Processing Unit (SPU)
- Copyright 2006 Free Software Foundation, Inc.
+ Copyright 2006, 2007 Free Software Foundation, Inc.
This file is part of GAS, the GNU Assembler.
@@ -22,7 +22,6 @@
#include "as.h"
#include "safe-ctype.h"
#include "subsegs.h"
-#include "opcode/spu.h"
#include "dwarf2dbg.h"
const struct spu_opcode spu_opcodes[] = {
@@ -366,7 +365,8 @@ md_assemble (char *op)
&insn.exp[i],
pcrel,
reloc);
- fixP->tc_fix_data = insn.reloc_arg[i];
+ fixP->tc_fix_data.arg_format = insn.reloc_arg[i];
+ fixP->tc_fix_data.insn_tag = insn.tag;
}
dwarf2_emit_insn (4);
}
@@ -941,10 +941,10 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED)
{
fixP->fx_done = 1;
res = 0;
- if (fixP->tc_fix_data > A_P)
+ if (fixP->tc_fix_data.arg_format > A_P)
{
- int hi = arg_encode[fixP->tc_fix_data].hi;
- int lo = arg_encode[fixP->tc_fix_data].lo;
+ int hi = arg_encode[fixP->tc_fix_data.arg_format].hi;
+ int lo = arg_encode[fixP->tc_fix_data.arg_format].lo;
if (hi > lo && ((offsetT) val < lo || (offsetT) val > hi))
as_bad_where (fixP->fx_file, fixP->fx_line,
"Relocation doesn't fit. (relocation value = 0x%lx)",