/* tc-i960.h - Basic 80960 instruction formats.
Copyright 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1997, 1998, 1999,
- 2000, 2002, 2003
+ 2000, 2001, 2002, 2003, 2007, 2008
Free Software Foundation, Inc.
This file is part of GAS, the GNU Assembler.
GAS is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2,
+ published by the Free Software Foundation; either version 3,
or (at your option) any later version.
GAS is distributed in the hope that it will be useful, but
You should have received a copy of the GNU General Public License
along with GAS; see the file COPYING. If not, write to the Free
- Software Foundation, 59 Temple Place - Suite 330, Boston, MA
- 02111-1307, USA. */
+ Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA
+ 02110-1301, USA. */
#ifndef TC_I960
#define TC_I960 1
*/
/* tailor gas */
-#define SYMBOLS_NEED_BACKPOINTERS
#define LOCAL_LABELS_FB 1
#define BITFIELD_CONS_EXPRESSIONS
/* tailor the coff format */
-#define BFD_ARCH bfd_arch_i960
-#define COFF_FLAGS F_AR32WR
#define COFF_MAGIC I960ROMAGIC
-#define OBJ_COFF_SECTION_HEADER_HAS_ALIGNMENT
#define OBJ_COFF_MAX_AUXENTRIES (2)
-#define TC_COUNT_RELOC(FIX) (!(FIX)->fx_done)
-#define TC_COFF_FIX2RTYPE(FIX) tc_coff_fix2rtype (FIX)
-#define TC_COFF_SIZEMACHDEP(FRAGP) tc_coff_sizemachdep (FRAGP)
-#define TC_COFF_SET_MACHINE(HDRS) tc_headers_hook (HDRS)
-extern int tc_coff_sizemachdep PARAMS ((struct frag *));
/* MEANING OF 'n_other' in the symbol record.
*
/* reloc_callj() may replace a 'call' with a 'calls' or a
'bal', in which cases it modifies *fixP as appropriate.
In the case of a 'calls', no further work is required. */
-extern int reloc_callj PARAMS ((struct fix *));
+extern int reloc_callj (struct fix *);
#define TC_FORCE_RELOCATION_ABS(FIX) \
(TC_FORCE_RELOCATION (FIX) \
#define TC_FORCE_RELOCATION_LOCAL(FIX) \
(!(FIX)->fx_pcrel \
- || (FIX)->fx_plt \
|| TC_FORCE_RELOCATION (FIX) \
|| reloc_callj (FIX))
}
#endif
-extern int i960_validate_fix PARAMS ((struct fix *, segT));
+extern int i960_validate_fix (struct fix *, segT);
#define TC_VALIDATE_FIX(FIX,SEGTYPE,LABEL) \
if (!i960_validate_fix (FIX, SEGTYPE)) goto LABEL
#define tc_fix_adjustable(FIX) ((FIX)->fx_bsr == 0)
#ifndef OBJ_ELF
-/* Values passed to md_apply_fix3 sometimes include symbol values. */
+/* Values passed to md_apply_fix sometimes include symbol values. */
#define MD_APPLY_SYM_VALUE(FIX) tc_fix_adjustable (FIX)
#else
-/* Values passed to md_apply_fix3 don't include the symbol value. */
+/* Values passed to md_apply_fix don't include the symbol value. */
#define MD_APPLY_SYM_VALUE(FIX) 0
#endif
-extern void brtab_emit PARAMS ((void));
+extern void brtab_emit (void);
#define md_end() brtab_emit ()
-extern void tc_set_bal_of_call PARAMS ((symbolS *, symbolS *));
+extern void tc_set_bal_of_call (symbolS *, symbolS *);
-extern struct symbol *tc_get_bal_of_call PARAMS ((symbolS *));
+extern struct symbol *tc_get_bal_of_call (symbolS *);
-extern void i960_handle_align PARAMS ((struct frag *));
+extern void i960_handle_align (struct frag *);
#define HANDLE_ALIGN(FRAG) i960_handle_align (FRAG)
-#define NEED_FX_R_TYPE
#define NO_RELOC -1
#define md_operand(x)