aboutsummaryrefslogtreecommitdiff
path: root/gas/config/tc-v850.h
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2005-05-17 11:56:13 +0000
committerNick Clifton <nickc@redhat.com>2005-05-17 11:56:13 +0000
commit2d034539b1365c8d25be0be70c16c84c9288a088 (patch)
tree10737f73c49a538017c9dc13e3eca58af13d5514 /gas/config/tc-v850.h
parent641bd09305df4cd893788b2b10b3aa5bced813ac (diff)
downloadgdb-2d034539b1365c8d25be0be70c16c84c9288a088.zip
gdb-2d034539b1365c8d25be0be70c16c84c9288a088.tar.gz
gdb-2d034539b1365c8d25be0be70c16c84c9288a088.tar.bz2
* config/tc-v850,h (TC_FIX_TYPE): Define. (TC_INIT_FIX_TYPE): Define.
* config/tc-v850.c (md_assemble): When creating a fix record the operand in the tc_fix_data field. (md_apply_fix3): When applying a resolved fix use the operand's insertion procedure to store the value, if the operand has been recorded. * gas/v850/split-lo16.s: Add test for a lo() pseudo reloc corrupting an ld.w instruction. * gas/v850/split-lo16.d: Add expected, correct (ie not corrupt) output.
Diffstat (limited to 'gas/config/tc-v850.h')
-rw-r--r--gas/config/tc-v850.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/gas/config/tc-v850.h b/gas/config/tc-v850.h
index 5db1141..4dd3c7e 100644
--- a/gas/config/tc-v850.h
+++ b/gas/config/tc-v850.h
@@ -78,3 +78,8 @@ extern void v850_handle_align (fragS *);
extern long v850_pcrel_from_section (struct fix *, asection *);
#define DWARF2_LINE_MIN_INSN_LENGTH 2
+
+/* We need to record the operand involved when a pseudo-reloc is
+ processed so that the resulting value can be inserted correctly. */
+#define TC_FIX_TYPE void *
+#define TC_INIT_FIX_DATA(fixP) (fixP)->tc_fix_data = NULL