Commit | Line | Data |
---|---|---|
252b5132 | 1 | /* tc-arc.h - Macros and type defines for the ARC. |
b90efa5b | 2 | Copyright (C) 1994-2015 Free Software Foundation, Inc. |
252b5132 RH |
3 | Contributed by Doug Evans (dje@cygnus.com). |
4 | ||
5 | This file is part of GAS, the GNU Assembler. | |
6 | ||
7 | GAS is free software; you can redistribute it and/or modify | |
8 | it under the terms of the GNU General Public License as | |
ec2655a6 | 9 | published by the Free Software Foundation; either version 3, |
252b5132 RH |
10 | or (at your option) any later version. |
11 | ||
12 | GAS is distributed in the hope that it will be useful, but | |
13 | WITHOUT ANY WARRANTY; without even the implied warranty of | |
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See | |
15 | the GNU General Public License for more details. | |
16 | ||
17 | You should have received a copy of the GNU General Public License | |
18 | along with GAS; see the file COPYING. If not, write to the Free | |
4b4da160 NC |
19 | Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA |
20 | 02110-1301, USA. */ | |
252b5132 RH |
21 | |
22 | #define TC_ARC 1 | |
23 | ||
24 | #define TARGET_BYTES_BIG_ENDIAN 0 | |
25 | ||
26 | #define LOCAL_LABELS_FB 1 | |
27 | ||
28 | #define TARGET_ARCH bfd_arch_arc | |
29 | ||
0d2bcfaf NC |
30 | #define DIFF_EXPR_OK |
31 | #define REGISTER_PREFIX '%' | |
32 | ||
4a314ec8 NC |
33 | #ifdef LITTLE_ENDIAN |
34 | #undef LITTLE_ENDIAN | |
35 | #endif | |
36 | ||
37 | #ifdef BIG_ENDIAN | |
38 | #undef BIG_ENDIAN | |
39 | #endif | |
40 | ||
252b5132 | 41 | #define LITTLE_ENDIAN 1234 |
0d2bcfaf | 42 | |
252b5132 RH |
43 | #define BIG_ENDIAN 4321 |
44 | ||
45 | /* The endianness of the target format may change based on command | |
46 | line arguments. */ | |
ea1562b3 | 47 | extern const char * arc_target_format; |
252b5132 | 48 | |
ea1562b3 NC |
49 | #define DEFAULT_TARGET_FORMAT "elf32-littlearc" |
50 | #define TARGET_FORMAT arc_target_format | |
51 | #define DEFAULT_BYTE_ORDER LITTLE_ENDIAN | |
252b5132 | 52 | #define WORKING_DOT_WORD |
ea1562b3 | 53 | #define LISTING_HEADER "ARC GAS " |
252b5132 | 54 | |
252b5132 RH |
55 | /* The ARC needs to parse reloc specifiers in .word. */ |
56 | ||
62ebcb5c AM |
57 | extern bfd_reloc_code_real_type arc_parse_cons_expression (struct expressionS *, |
58 | unsigned); | |
252b5132 | 59 | #define TC_PARSE_CONS_EXPRESSION(EXP, NBYTES) \ |
ea1562b3 | 60 | arc_parse_cons_expression (EXP, NBYTES) |
252b5132 | 61 | |
62ebcb5c AM |
62 | extern void arc_cons_fix_new (struct frag *, int, int, struct expressionS *, |
63 | bfd_reloc_code_real_type); | |
64 | #define TC_CONS_FIX_NEW(FRAG, WHERE, NBYTES, EXP, RELOC) \ | |
65 | arc_cons_fix_new (FRAG, WHERE, NBYTES, EXP, RELOC) | |
bcee8eb8 AM |
66 | |
67 | #define DWARF2_LINE_MIN_INSN_LENGTH 4 | |
a161fe53 | 68 | |
55cf6793 | 69 | /* Values passed to md_apply_fix don't include the symbol value. */ |
a161fe53 AM |
70 | #define MD_APPLY_SYM_VALUE(FIX) 0 |
71 | ||
72 | /* No shared lib support, so we don't need to ensure externally | |
73 | visible symbols can be overridden. */ | |
74 | #define EXTERN_FORCE_RELOC 0 |