138889Sjdp/* tc-arc.h - Macros and type defines for the ARC. 2218822Sdim Copyright 1994, 1995, 1997, 2000, 2001, 2002, 2005 3130561Sobrien Free Software Foundation, Inc. 438889Sjdp Contributed by Doug Evans (dje@cygnus.com). 538889Sjdp 638889Sjdp This file is part of GAS, the GNU Assembler. 738889Sjdp 838889Sjdp GAS is free software; you can redistribute it and/or modify 938889Sjdp it under the terms of the GNU General Public License as 1038889Sjdp published by the Free Software Foundation; either version 2, 1138889Sjdp or (at your option) any later version. 1238889Sjdp 1338889Sjdp GAS is distributed in the hope that it will be useful, but 1438889Sjdp WITHOUT ANY WARRANTY; without even the implied warranty of 1538889Sjdp MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See 1638889Sjdp the GNU General Public License for more details. 1738889Sjdp 1838889Sjdp You should have received a copy of the GNU General Public License 1938889Sjdp along with GAS; see the file COPYING. If not, write to the Free 20218822Sdim Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA 21218822Sdim 02110-1301, USA. */ 2238889Sjdp 2338889Sjdp#define TC_ARC 1 2438889Sjdp 2538889Sjdp#define TARGET_BYTES_BIG_ENDIAN 0 2638889Sjdp 2738889Sjdp#define LOCAL_LABELS_FB 1 2838889Sjdp 2938889Sjdp#define TARGET_ARCH bfd_arch_arc 3038889Sjdp 3185815Sobrien#define DIFF_EXPR_OK 3285815Sobrien#define REGISTER_PREFIX '%' 3385815Sobrien 3485815Sobrien#ifdef LITTLE_ENDIAN 3585815Sobrien#undef LITTLE_ENDIAN 3685815Sobrien#endif 3785815Sobrien 3885815Sobrien#ifdef BIG_ENDIAN 3985815Sobrien#undef BIG_ENDIAN 4085815Sobrien#endif 4185815Sobrien 4238889Sjdp#define LITTLE_ENDIAN 1234 4385815Sobrien 4438889Sjdp#define BIG_ENDIAN 4321 4538889Sjdp 4638889Sjdp/* The endianness of the target format may change based on command 4738889Sjdp line arguments. */ 48218822Sdimextern const char * arc_target_format; 4938889Sjdp 50218822Sdim#define DEFAULT_TARGET_FORMAT "elf32-littlearc" 51218822Sdim#define TARGET_FORMAT arc_target_format 52218822Sdim#define DEFAULT_BYTE_ORDER LITTLE_ENDIAN 5338889Sjdp#define WORKING_DOT_WORD 54218822Sdim#define LISTING_HEADER "ARC GAS " 5538889Sjdp 5638889Sjdp/* The ARC needs to parse reloc specifiers in .word. */ 5738889Sjdp 58218822Sdimextern void arc_parse_cons_expression (struct expressionS *, unsigned); 5938889Sjdp#define TC_PARSE_CONS_EXPRESSION(EXP, NBYTES) \ 60218822Sdim arc_parse_cons_expression (EXP, NBYTES) 6138889Sjdp 62218822Sdimextern void arc_cons_fix_new (struct frag *, int, int, struct expressionS *); 6338889Sjdp#define TC_CONS_FIX_NEW(FRAG, WHERE, NBYTES, EXP) \ 64218822Sdim arc_cons_fix_new (FRAG, WHERE, NBYTES, EXP) 6538889Sjdp 6685815Sobrien#define DWARF2_LINE_MIN_INSN_LENGTH 4 67130561Sobrien 68218822Sdim/* Values passed to md_apply_fix don't include the symbol value. */ 69130561Sobrien#define MD_APPLY_SYM_VALUE(FIX) 0 70130561Sobrien 71130561Sobrien/* No shared lib support, so we don't need to ensure externally 72130561Sobrien visible symbols can be overridden. */ 73130561Sobrien#define EXTERN_FORCE_RELOC 0 74