Automatic date update in version.in
[deliverable/binutils-gdb.git] / gas / config / tc-mmix.h
index 61bc881d12686d1dd1515f948bdebd0b31eeea99..c984f7ae080f8f38c32ed8806e99b3af7f849d82 100644 (file)
@@ -1,12 +1,12 @@
 /* tc-mmix.h -- Header file for tc-mmix.c.
-   Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
+   Copyright (C) 2001-2019 Free Software Foundation, Inc.
    Written by Hans-Peter Nilsson (hp@bitrange.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, or (at your option)
+   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,
@@ -32,12 +32,6 @@ extern const char mmix_comment_chars[];
 extern const char mmix_symbol_chars[];
 #define tc_symbol_chars mmix_symbol_chars
 
-extern const char mmix_exp_chars[];
-#define EXP_CHARS mmix_exp_chars
-
-extern const char mmix_flt_chars[];
-#define FLT_CHARS mmix_flt_chars
-
 /* "@" is a synonym for ".".  */
 #define LEX_AT (LEX_BEGIN_NAME)
 
@@ -185,7 +179,7 @@ extern long md_pcrel_from_section (struct fix *, segT);
 
 extern fragS *mmix_opcode_frag;
 #define TC_FRAG_TYPE fragS *
-#define TC_FRAG_INIT(frag) (frag)->tc_frag_data = mmix_opcode_frag
+#define TC_FRAG_INIT(frag, max_bytes) (frag)->tc_frag_data = mmix_opcode_frag
 
 /* We need to associate each section symbol with a list of GREGs defined
    for that section/segment and sorted on offset, between the point where
@@ -193,7 +187,18 @@ extern fragS *mmix_opcode_frag;
    fixups are done and relocs are output.  Similarly for each unknown
    symbol.  */
 extern void mmix_frob_file (void);
-#define tc_frob_file_before_fix mmix_frob_file
+#define tc_frob_file_before_fix()                                      \
+  do                                                                   \
+    {                                                                  \
+      int i = 0;                                                       \
+                                                                       \
+      /* It's likely mmix_frob_file changed (removed) sections, so make        \
+        sure sections are correctly numbered as per renumber_sections, \
+        (static to write.c where this macro is called).  */            \
+      mmix_frob_file ();                                               \
+      bfd_map_over_sections (stdoutput, renumber_sections, &i);                \
+    }                                                                  \
+  while (0)
 
 /* Used by mmix_frob_file.  Hangs on section symbols and unknown symbols.  */
 struct mmix_symbol_gregs;
@@ -221,3 +226,9 @@ extern void mmix_md_do_align (int, char *, int, int);
    sequences sprinkled in, we can get unaligned DWARF2 offsets, so let's
    explicitly say one byte.  */
 #define DWARF2_LINE_MIN_INSN_LENGTH 1
+
+/* This target is buggy, and sets fix size too large.  */
+#define TC_FX_SIZE_SLACK(FIX) 6
+
+/* MMIX has global register symbols.  */
+#define TC_GLOBAL_REGISTER_SYMBOL_OK
This page took 0.034003 seconds and 4 git commands to generate.