diff options
author | Alan Modra <amodra@gmail.com> | 2007-03-23 00:42:26 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2007-03-23 00:42:26 +0000 |
commit | 840edabd6d37b1b00d04e339e019b97ec5543265 (patch) | |
tree | 38cc6b7bcdb640f15e4adda8220d80d6c0af1a81 /gas/config/tc-spu.c | |
parent | aa7a0635f3a0b331b9c9f15925241f6c2e0b9f8f (diff) | |
download | gdb-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.c | 12 |
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)", |