tc-arc.h revision 130561
138889Sjdp/* tc-arc.h - Macros and type defines for the ARC. 2130561Sobrien Copyright 1994, 1995, 1997, 2000, 2001, 2002 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 2038889Sjdp Software Foundation, 59 Temple Place - Suite 330, Boston, MA 2185815Sobrien 02111-1307, 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. */ 4838889Sjdpextern const char *arc_target_format; 4938889Sjdp#define DEFAULT_TARGET_FORMAT "elf32-littlearc" 5038889Sjdp#define TARGET_FORMAT arc_target_format 5138889Sjdp#define DEFAULT_BYTE_ORDER LITTLE_ENDIAN 5238889Sjdp 5338889Sjdp#define WORKING_DOT_WORD 5438889Sjdp 5538889Sjdp#define LISTING_HEADER "ARC GAS " 5638889Sjdp 5738889Sjdp/* The ARC needs to parse reloc specifiers in .word. */ 5838889Sjdp 5989857Sobrienextern void arc_parse_cons_expression PARAMS ((struct expressionS *, unsigned)); 6038889Sjdp#define TC_PARSE_CONS_EXPRESSION(EXP, NBYTES) \ 6138889Sjdparc_parse_cons_expression (EXP, NBYTES) 6238889Sjdp 6389857Sobrienextern void arc_cons_fix_new PARAMS ((struct frag *, int, int, struct expressionS *)); 6438889Sjdp#define TC_CONS_FIX_NEW(FRAG, WHERE, NBYTES, EXP) \ 6538889Sjdparc_cons_fix_new (FRAG, WHERE, NBYTES, EXP) 6638889Sjdp 6785815Sobrien#define DWARF2_LINE_MIN_INSN_LENGTH 4 68130561Sobrien 69130561Sobrien/* Values passed to md_apply_fix3 don't include the symbol value. */ 70130561Sobrien#define MD_APPLY_SYM_VALUE(FIX) 0 71130561Sobrien 72130561Sobrien/* No shared lib support, so we don't need to ensure externally 73130561Sobrien visible symbols can be overridden. */ 74130561Sobrien#define EXTERN_FORCE_RELOC 0 75