aboutsummaryrefslogtreecommitdiff
path: root/gas/config/tc-crx.h
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2004-07-27 11:37:12 +0000
committerNick Clifton <nickc@redhat.com>2004-07-27 11:37:12 +0000
commit670ec21de99faddc3a86f9e18fb9ef1a093b3dbf (patch)
treed809163639cab84dd83ef7b8229321767c541388 /gas/config/tc-crx.h
parent575eebb19f60c85a0e4973dfa9e2f8b1a197005a (diff)
downloadgdb-670ec21de99faddc3a86f9e18fb9ef1a093b3dbf.zip
gdb-670ec21de99faddc3a86f9e18fb9ef1a093b3dbf.tar.gz
gdb-670ec21de99faddc3a86f9e18fb9ef1a093b3dbf.tar.bz2
Add CRX insns: pushx, popx
Add support to GAS for expressions which are the difference of two symbols
Diffstat (limited to 'gas/config/tc-crx.h')
-rw-r--r--gas/config/tc-crx.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/gas/config/tc-crx.h b/gas/config/tc-crx.h
index dc26a70..29e59fe 100644
--- a/gas/config/tc-crx.h
+++ b/gas/config/tc-crx.h
@@ -48,6 +48,10 @@ extern const struct relax_type md_relax_table[];
linker relaxations easier. */
#define tc_fix_adjustable(fixP) 0
+/* We need to force out some relocations when relaxing. */
+#define TC_FORCE_RELOCATION(FIXP) crx_force_relocation (FIXP)
+extern int crx_force_relocation (struct fix *);
+
/* Fixup debug sections since we will never relax them. */
#define TC_LINKRELAX_FIXUP(seg) (seg->flags & SEC_ALLOC)
@@ -58,8 +62,8 @@ extern const struct relax_type md_relax_table[];
/* This is called by emit_expr when creating a reloc for a cons.
We could use the definition there, except that we want to handle
the CRX reloc type specially, rather than the BFD_RELOC type. */
-#define TC_CONS_FIX_NEW(FRAG,OFF,LEN,EXP) \
- fix_new_exp (FRAG, OFF, (int)LEN, EXP, 0, \
+#define TC_CONS_FIX_NEW(FRAG, OFF, LEN, EXP) \
+ fix_new_exp (FRAG, OFF, (int) LEN, EXP, 0, \
LEN == 1 ? BFD_RELOC_CRX_NUM8 \
: LEN == 2 ? BFD_RELOC_CRX_NUM16 \
: LEN == 4 ? BFD_RELOC_CRX_NUM32 \