This commit was manufactured by cvs2svn to create branch 'binutils-
[external/binutils.git] / gas / config / tc-arc.h
index 091c723..26c0d5f 100644 (file)
@@ -1,12 +1,13 @@
 /* tc-arc.h - Macros and type defines for the ARC.
-   Copyright (C) 1994, 1995, 1997, 1999, 2000 Free Software Foundation, Inc.
+   Copyright 1994, 1995, 1997, 2000, 2001, 2002, 2005, 2007
+   Free Software Foundation, Inc.
    Contributed by Doug Evans (dje@cygnus.com).
 
    This file is part of GAS, the GNU Assembler.
 
    GAS is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as
-   published by the Free Software Foundation; either version 2,
+   published by the Free Software Foundation; either version 3,
    or (at your option) any later version.
 
    GAS is distributed in the hope that it will be useful, but
@@ -16,8 +17,8 @@
 
    You should have received a copy of the GNU General Public License
    along with GAS; see the file COPYING.  If not, write to the Free
-   Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-   02111-1307, USA.  */
+   Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA
+   02110-1301, USA.  */
 
 #define TC_ARC 1
 
@@ -27,6 +28,9 @@
 
 #define TARGET_ARCH bfd_arch_arc
 
+#define DIFF_EXPR_OK
+#define REGISTER_PREFIX '%'
+
 #ifdef LITTLE_ENDIAN
 #undef LITTLE_ENDIAN
 #endif
 #endif
 
 #define LITTLE_ENDIAN   1234
+
 #define BIG_ENDIAN      4321
 
 /* The endianness of the target format may change based on command
    line arguments.  */
-extern const char *arc_target_format;
-#define DEFAULT_TARGET_FORMAT "elf32-littlearc"
-#define TARGET_FORMAT arc_target_format
-#define DEFAULT_BYTE_ORDER LITTLE_ENDIAN
+extern const char * arc_target_format;
 
+#define DEFAULT_TARGET_FORMAT  "elf32-littlearc"
+#define TARGET_FORMAT          arc_target_format
+#define DEFAULT_BYTE_ORDER     LITTLE_ENDIAN
 #define WORKING_DOT_WORD
-
-#define LISTING_HEADER "ARC GAS "
-
-#define TC_HANDLES_FX_DONE
-
-#define MD_APPLY_FIX3
+#define LISTING_HEADER         "ARC GAS "
 
 /* The ARC needs to parse reloc specifiers in .word.  */
 
-extern void arc_parse_cons_expression ();
+extern void arc_parse_cons_expression (struct expressionS *, unsigned);
 #define TC_PARSE_CONS_EXPRESSION(EXP, NBYTES) \
-arc_parse_cons_expression (EXP, NBYTES)
+  arc_parse_cons_expression (EXP, NBYTES)
 
-extern void arc_cons_fix_new ();
+extern void arc_cons_fix_new (struct frag *, int, int, struct expressionS *);
 #define TC_CONS_FIX_NEW(FRAG, WHERE, NBYTES, EXP) \
-arc_cons_fix_new (FRAG, WHERE, NBYTES, EXP)
+  arc_cons_fix_new (FRAG, WHERE, NBYTES, EXP)
 
-#if 0
-/* Extra stuff that we need to keep track of for each symbol.  */
-struct arc_tc_sy
-{
-  /* The real name, if the symbol was renamed.  */
-  char *real_name;
-};
+#define DWARF2_LINE_MIN_INSN_LENGTH 4
 
-#define TC_SYMFIELD_TYPE struct arc_tc_sy
+/* Values passed to md_apply_fix don't include the symbol value.  */
+#define MD_APPLY_SYM_VALUE(FIX) 0
 
-/* Finish up the symbol.  */
-extern int arc_frob_symbol PARAMS ((symbolS *));
-#define tc_frob_symbol(sym, punt) punt = arc_frob_symbol (sym)
-#endif
+/* No shared lib support, so we don't need to ensure externally
+   visible symbols can be overridden.  */
+#define EXTERN_FORCE_RELOC 0