Modify the ARNM assembler to accept the omission of the immediate argument for the...
[deliverable/binutils-gdb.git] / gas / config / obj-coff.h
index d2b212565ef1d0ca7e1b107f92b50e3bc402e931..454a3434a30a3d7fd5f80ac502fd7af50179c1c4 100644 (file)
@@ -1,13 +1,11 @@
 /* coff object file format
 /* coff object file format
-   Copyright 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
-   1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
-   Free Software Foundation, Inc.
+   Copyright (C) 1989-2019 Free Software Foundation, Inc.
 
    This file is part of GAS.
 
    GAS is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
 
    This file is part of GAS.
 
    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,
    any later version.
 
    GAS is distributed in the hope that it will be useful,
 #endif
 #endif
 
 #endif
 #endif
 
-#ifdef TC_SPARC
-#include "coff/sparc.h"
-#endif
-
 #ifdef TC_I386
 #ifdef TC_I386
-#ifndef TE_PEP
+#ifdef TE_PEP
 #include "coff/x86_64.h"
 #else
 #include "coff/i386.h"
 #endif
 
 #include "coff/x86_64.h"
 #else
 #include "coff/i386.h"
 #endif
 
-#ifdef TE_PE
-#ifdef TE_PEP
-extern const char *   x86_64_target_format (void);
-#define TARGET_FORMAT x86_64_target_format ()
-#define COFF_TARGET_FORMAT "pe-x86-64"
-#else
-#define TARGET_FORMAT "pe-i386"
-#endif
-#endif
-
 #ifndef TARGET_FORMAT
 #ifdef TE_PEP
 #define TARGET_FORMAT "coff-x86-64"
 #ifndef TARGET_FORMAT
 #ifdef TE_PEP
 #define TARGET_FORMAT "coff-x86-64"
@@ -87,16 +71,6 @@ extern const char *   x86_64_target_format (void);
 #endif
 #endif
 
 #endif
 #endif
 
-#ifdef TC_OR32
-#include "coff/or32.h"
-#define TARGET_FORMAT "coff-or32-big"
-#endif
-
-#ifdef TC_I960
-#include "coff/i960.h"
-#define TARGET_FORMAT "coff-Intel-little"
-#endif
-
 #ifdef TC_Z80
 #include "coff/z80.h"
 #define TARGET_FORMAT "coff-z80"
 #ifdef TC_Z80
 #include "coff/z80.h"
 #define TARGET_FORMAT "coff-z80"
@@ -107,21 +81,6 @@ extern const char *   x86_64_target_format (void);
 #define TARGET_FORMAT "coff-z8k"
 #endif
 
 #define TARGET_FORMAT "coff-z8k"
 #endif
 
-#ifdef TC_H8300
-#include "coff/h8300.h"
-#define TARGET_FORMAT "coff-h8300"
-#endif
-
-#ifdef TC_H8500
-#include "coff/h8500.h"
-#define TARGET_FORMAT "coff-h8500"
-#endif
-
-#ifdef TC_MAXQ20
-#include "coff/maxq.h"
-#define TARGET_FORMAT "coff-maxq"
-#endif
-
 #ifdef TC_SH
 
 #ifdef TE_PE
 #ifdef TC_SH
 
 #ifdef TE_PE
@@ -172,9 +131,6 @@ extern const char *   x86_64_target_format (void);
 #endif
 
 #ifdef TE_PE
 #endif
 
 #ifdef TE_PE
-/* PE weak symbols need USE_UNIQUE.  */
-#define USE_UNIQUE 1
-
 #define obj_set_weak_hook pecoff_obj_set_weak_hook
 #define obj_clear_weak_hook pecoff_obj_clear_weak_hook
 #endif
 #define obj_set_weak_hook pecoff_obj_set_weak_hook
 #define obj_clear_weak_hook pecoff_obj_clear_weak_hook
 #endif
@@ -193,13 +149,8 @@ extern const char *   x86_64_target_format (void);
 
 /* Alter the field names, for now, until we've fixed up the other
    references to use the new name.  */
 
 /* Alter the field names, for now, until we've fixed up the other
    references to use the new name.  */
-#ifdef TC_I960
-#define TC_SYMFIELD_TYPE       symbolS *
-#define sy_tc                  bal
-#endif
-
 #define OBJ_SYMFIELD_TYPE      unsigned long
 #define OBJ_SYMFIELD_TYPE      unsigned long
-#define sy_obj                 sy_flags
+#define sy_obj                 sy_obj_flags
 
 /* We can't use the predefined section symbols in bfd/section.c, as
    COFF symbols have extra fields.  See bfd/libcoff.h:coff_symbol_type.  */
 
 /* We can't use the predefined section symbols in bfd/section.c, as
    COFF symbols have extra fields.  See bfd/libcoff.h:coff_symbol_type.  */
@@ -249,27 +200,17 @@ extern const char *   x86_64_target_format (void);
 
 /* Internal use only definitions. SF_ stands for symbol flags.
 
 
 /* Internal use only definitions. SF_ stands for symbol flags.
 
-   These values can be assigned to sy_symbol.ost_flags field of a symbolS.
+   These values can be assigned to sy_symbol.ost_flags field of a symbolS.  */
 
 
-   You'll break i960 if you shift the SYSPROC bits anywhere else.  for
-   more on the balname/callname hack, see tc-i960.h.  b.out is done
-   differently.  */
-
-#define SF_I960_MASK   0x000001ff      /* Bits 0-8 are used by the i960 port.  */
-#define SF_SYSPROC     0x0000003f      /* bits 0-5 are used to store the sysproc number.  */
-#define SF_IS_SYSPROC  0x00000040      /* bit 6 marks symbols that are sysprocs.  */
-#define SF_BALNAME     0x00000080      /* bit 7 marks BALNAME symbols.  */
-#define SF_CALLNAME    0x00000100      /* bit 8 marks CALLNAME symbols.  */
-                                 
 #define SF_NORMAL_MASK 0x0000ffff      /* bits 12-15 are general purpose.  */
 #define SF_NORMAL_MASK 0x0000ffff      /* bits 12-15 are general purpose.  */
-                                 
+
 #define SF_STATICS     0x00001000      /* Mark the .text & all symbols.  */
 #define SF_DEFINED     0x00002000      /* Symbol is defined in this file.  */
 #define SF_STRING      0x00004000      /* Symbol name length > 8.  */
 #define SF_LOCAL       0x00008000      /* Symbol must not be emitted.  */
 #define SF_STATICS     0x00001000      /* Mark the .text & all symbols.  */
 #define SF_DEFINED     0x00002000      /* Symbol is defined in this file.  */
 #define SF_STRING      0x00004000      /* Symbol name length > 8.  */
 #define SF_LOCAL       0x00008000      /* Symbol must not be emitted.  */
-                                 
+
 #define SF_DEBUG_MASK  0xffff0000      /* bits 16-31 are debug info.  */
 #define SF_DEBUG_MASK  0xffff0000      /* bits 16-31 are debug info.  */
-                                 
+
 #define SF_FUNCTION    0x00010000      /* The symbol is a function.  */
 #define SF_PROCESS     0x00020000      /* Process symbol before write.  */
 #define SF_TAGGED      0x00040000      /* Is associated with a tag.  */
 #define SF_FUNCTION    0x00010000      /* The symbol is a function.  */
 #define SF_PROCESS     0x00020000      /* Process symbol before write.  */
 #define SF_TAGGED      0x00040000      /* Is associated with a tag.  */
@@ -294,11 +235,6 @@ extern const char *   x86_64_target_format (void);
 #define SF_GET_TAGGED(s)       (SF_GET (s) & SF_TAGGED)
 #define SF_GET_TAG(s)          (SF_GET (s) & SF_TAG)
 #define SF_GET_GET_SEGMENT(s)  (SF_GET (s) & SF_GET_SEGMENT)
 #define SF_GET_TAGGED(s)       (SF_GET (s) & SF_TAGGED)
 #define SF_GET_TAG(s)          (SF_GET (s) & SF_TAG)
 #define SF_GET_GET_SEGMENT(s)  (SF_GET (s) & SF_GET_SEGMENT)
-#define SF_GET_I960(s)         (SF_GET (s) & SF_I960_MASK)     /* Used by i960.  */
-#define SF_GET_BALNAME(s)      (SF_GET (s) & SF_BALNAME)       /* Used by i960.  */
-#define SF_GET_CALLNAME(s)     (SF_GET (s) & SF_CALLNAME)      /* Used by i960.  */
-#define SF_GET_IS_SYSPROC(s)   (SF_GET (s) & SF_IS_SYSPROC)    /* Used by i960.  */
-#define SF_GET_SYSPROC(s)      (SF_GET (s) & SF_SYSPROC)       /* Used by i960.  */
 
 /* Modifiers.  */
 #define SF_SET(s,v)            (SF_GET (s) = (v))
 
 /* Modifiers.  */
 #define SF_SET(s,v)            (SF_GET (s) = (v))
@@ -315,11 +251,6 @@ extern const char *   x86_64_target_format (void);
 #define SF_SET_TAGGED(s)       (SF_GET (s) |= SF_TAGGED)
 #define SF_SET_TAG(s)          (SF_GET (s) |= SF_TAG)
 #define SF_SET_GET_SEGMENT(s)  (SF_GET (s) |= SF_GET_SEGMENT)
 #define SF_SET_TAGGED(s)       (SF_GET (s) |= SF_TAGGED)
 #define SF_SET_TAG(s)          (SF_GET (s) |= SF_TAG)
 #define SF_SET_GET_SEGMENT(s)  (SF_GET (s) |= SF_GET_SEGMENT)
-#define SF_SET_I960(s,v)       (SF_GET (s) |= ((v) & SF_I960_MASK))    /* Used by i960.  */
-#define SF_SET_BALNAME(s)      (SF_GET (s) |= SF_BALNAME)              /* Used by i960.  */
-#define SF_SET_CALLNAME(s)     (SF_GET (s) |= SF_CALLNAME)             /* Used by i960.  */
-#define SF_SET_IS_SYSPROC(s)   (SF_GET (s) |= SF_IS_SYSPROC)           /* Used by i960.  */
-#define SF_SET_SYSPROC(s,v)    (SF_GET (s) |= ((v) & SF_SYSPROC))      /* Used by i960.  */
 
 
 /*  Line number handling.  */
 
 
 /*  Line number handling.  */
@@ -355,12 +286,6 @@ extern symbolS *coff_last_function;
 
 /* Sanity check.  */
 
 
 /* Sanity check.  */
 
-#ifdef TC_I960
-#ifndef C_LEAFSTAT
-hey ! Where is the C_LEAFSTAT definition ? i960 - coff support is depending on it.
-#endif /* no C_LEAFSTAT */
-#endif /* TC_I960 */
-
 extern const pseudo_typeS coff_pseudo_table[];
 
 #ifndef obj_pop_insert
 extern const pseudo_typeS coff_pseudo_table[];
 
 #ifndef obj_pop_insert
@@ -423,4 +348,11 @@ extern void obj_coff_init_stab_section   (segT);
 extern void c_section_header             (struct internal_scnhdr *,
                                          char *, long, long, long, long,
                                          long, long, long, long);
 extern void c_section_header             (struct internal_scnhdr *,
                                          char *, long, long, long, long,
                                          long, long, long, long);
+extern void obj_coff_seh_do_final (void);
+
+#ifndef obj_coff_generate_pdata
+#define obj_coff_generate_pdata obj_coff_seh_do_final
+#endif
+
+
 #endif /* OBJ_FORMAT_H */
 #endif /* OBJ_FORMAT_H */
This page took 0.027042 seconds and 4 git commands to generate.