Commit | Line | Data |
---|---|---|
3f8107ab AM |
1 | /* tc-ft32.h -- Header file for tc-ft32.c. |
2 | ||
2571583a | 3 | Copyright (C) 2013-2017 Free Software Foundation, Inc. |
3f8107ab AM |
4 | Contributed by FTDI (support@ftdichip.com) |
5 | ||
6 | This file is part of GAS, the GNU Assembler. | |
7 | ||
8 | GAS is free software; you can redistribute it and/or modify | |
9 | it under the terms of the GNU General Public License as published by | |
10 | the Free Software Foundation; either version 3, or (at your option) | |
11 | any later version. | |
12 | ||
13 | GAS is distributed in the hope that it will be useful, | |
14 | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
16 | GNU General Public License for more details. | |
17 | ||
18 | You should have received a copy of the GNU General Public License along | |
19 | with GAS; see the file COPYING. If not, write to the Free Software | |
20 | Foundation, 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ | |
21 | ||
22 | #define TC_FT32 1 | |
23 | #define TARGET_BYTES_BIG_ENDIAN 0 | |
24 | #define WORKING_DOT_WORD | |
25 | ||
26 | /* This macro is the BFD architecture to pass to `bfd_set_arch_mach'. */ | |
b19e0aeb | 27 | #define TARGET_FORMAT "elf32-ft32" |
3f8107ab AM |
28 | |
29 | #define TARGET_ARCH bfd_arch_ft32 | |
30 | ||
31 | #define md_undefined_symbol(NAME) 0 | |
32 | ||
33 | /* These macros must be defined, but is will be a fatal assembler | |
34 | error if we ever hit them. */ | |
35 | #define md_estimate_size_before_relax(A, B) (as_fatal (_("estimate size\n")), 0) | |
36 | #define md_convert_frag(B, S, F) (as_fatal (_("convert_frag\n"))) | |
37 | ||
38 | /* If you define this macro, it should return the offset between the | |
39 | address of a PC relative fixup and the position from which the PC | |
40 | relative adjustment should be made. On many processors, the base | |
41 | of a PC relative instruction is the next instruction, so this | |
42 | macro would return the length of an instruction. */ | |
43 | // #define MD_PCREL_FROM_SECTION(FIX, SEC) md_pcrel_from (FIX) | |
44 | // extern long md_pcrel_from (struct fix *); | |
45 | ||
46 | /* PC relative operands are relative to the start of the opcode, and | |
47 | the operand is always one byte into the opcode. */ | |
48 | #define md_pcrel_from(FIX) \ | |
49 | ((FIX)->fx_where + (FIX)->fx_frag->fr_address - 1) | |
50 | ||
51 | #define md_section_align(SEGMENT, SIZE) (SIZE) | |
52 | ||
53 | #define md_operand(x) |