Changes so that GAS will build - not work - just build.
[external/binutils.git] / gas / config / tc-fr30.h
1 /* tc-fr30.h -- Header file for tc-fr30.c.
2    Copyright (C) 1998 Free Software Foundation, Inc.
3
4    This file is part of GAS, the GNU Assembler.
5
6    GAS is free software; you can redistribute it and/or modify
7    it under the terms of the GNU General Public License as published by
8    the Free Software Foundation; either version 2, or (at your option)
9    any later version.
10
11    GAS is distributed in the hope that it will be useful,
12    but WITHOUT ANY WARRANTY; without even the implied warranty of
13    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14    GNU General Public License for more details.
15
16    You should have received a copy of the GNU General Public License
17    along with GAS; see the file COPYING.  If not, write to
18    the Free Software Foundation, 59 Temple Place - Suite 330,
19    Boston, MA 02111-1307, USA. */
20
21 #define TC_FR30
22
23 #ifndef BFD_ASSEMBLER
24 /* leading space so will compile with cc */
25  #error FR30 support requires BFD_ASSEMBLER
26 #endif
27
28 #define LISTING_HEADER "FR30 GAS "
29
30 /* The target BFD architecture.  */
31 #define TARGET_ARCH bfd_arch_fr30
32
33 #define TARGET_FORMAT "elf32-fr30"
34
35 #define TARGET_BYTES_BIG_ENDIAN 1
36
37 /* call md_pcrel_from_section, not md_pcrel_from */
38 long md_pcrel_from_section PARAMS ((struct fix *, segT));
39 #define MD_PCREL_FROM_SECTION(FIXP, SEC) md_pcrel_from_section (FIXP, SEC)
40
41 /* Permit temporary numeric labels.  */
42 #define LOCAL_LABELS_FB 1
43
44 #define DIFF_EXPR_OK            /* .-foo gets turned into PC relative relocs */
45
46 /* We don't need to handle .word strangely.  */
47 #define WORKING_DOT_WORD
48
49 #define MD_APPLY_FIX3
50 #define md_apply_fix3 gas_cgen_md_apply_fix3
51
52 #define TC_FRAG_INIT(fragP) \
53 do { \
54   (fragP)->fr_cgen.insn = 0; \
55   (fragP)->fr_cgen.opindex = 0; \
56   (fragP)->fr_cgen.opinfo = 0; \
57 } while (0);
58
59 #define TC_HANDLES_FX_DONE
60
61 #define tc_gen_reloc gas_cgen_tc_gen_reloc
62
63 /* Call md_pcrel_from_section(), not md_pcrel_from().  */
64 #define MD_PCREL_FROM_SECTION(FIXP, SEC) md_pcrel_from_section (FIXP, SEC)
65 extern long md_pcrel_from_section PARAMS ((struct fix *, segT));
66
67 /* Record a pointer to the insn table entry for each fixup.  */
68 #define TC_FIX_TYPE struct { PTR insn; int opinfo; }
69 #define TC_INIT_FIX_DATA(FIXP) \
70   ((FIXP)->tc_fix_data.insn = NULL, (FIXP)->tc_fix_data.opinfo = 0)
71
72 /* For 8 vs 16 vs 32 bit branch selection.  */
73 #define TC_GENERIC_RELAX_TABLE md_relax_table
74 extern const struct relax_type md_relax_table[];
75