Silence warnings about incompatible plugins.
[deliverable/binutils-gdb.git] / gas / config / tc-ia64.h
index c17494beb16bdb294133b6252569a774bbf20218..e982e57b477c7b39fe0aa13463fb33144888299d 100644 (file)
@@ -1,13 +1,12 @@
 /* tc-ia64.h -- Header file for tc-ia64.c.
 /* tc-ia64.h -- Header file for tc-ia64.c.
-   Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
-   Free Software Foundation, Inc.
+   Copyright (C) 1998-2020 Free Software Foundation, Inc.
    Contributed by David Mosberger-Tang <davidm@hpl.hp.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
    Contributed by David Mosberger-Tang <davidm@hpl.hp.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,
    any later version.
 
    GAS is distributed in the hope that it will be useful,
 #define MD_FLAGS_DEFAULT               EF_IA_64_ABI64
 #endif /* TE_HPUX */
 
 #define MD_FLAGS_DEFAULT               EF_IA_64_ABI64
 #endif /* TE_HPUX */
 
-extern void (*ia64_number_to_chars) PARAMS ((char *, valueT, int));
+extern void (*ia64_number_to_chars) (char *, valueT, int);
 #define md_number_to_chars             (*ia64_number_to_chars)
 
 #define md_number_to_chars             (*ia64_number_to_chars)
 
-extern void ia64_elf_section_change_hook PARAMS ((void));
+extern void ia64_elf_section_change_hook (void);
 #define md_elf_section_change_hook     ia64_elf_section_change_hook
 
 /* We record the endian for this section. 0 means default, 1 means
 #define md_elf_section_change_hook     ia64_elf_section_change_hook
 
 /* We record the endian for this section. 0 means default, 1 means
@@ -49,10 +48,10 @@ struct ia64_segment_info_type
 
 #define TC_SEGMENT_INFO_TYPE           struct ia64_segment_info_type
 
 
 #define TC_SEGMENT_INFO_TYPE           struct ia64_segment_info_type
 
-extern void ia64_adjust_symtab PARAMS ((void));
+extern void ia64_adjust_symtab (void);
 #define tc_adjust_symtab()     ia64_adjust_symtab ()
 
 #define tc_adjust_symtab()     ia64_adjust_symtab ()
 
-extern void ia64_frob_file PARAMS ((void));
+extern void ia64_frob_file (void);
 #define tc_frob_file()         ia64_frob_file ()
 
 /* We need to set the default object file format in ia64_init and not in
 #define tc_frob_file()         ia64_frob_file ()
 
 /* We need to set the default object file format in ia64_init and not in
@@ -61,10 +60,10 @@ extern void ia64_frob_file PARAMS ((void));
    md_parse_args.  */
 
 #define HOST_SPECIAL_INIT ia64_init
    md_parse_args.  */
 
 #define HOST_SPECIAL_INIT ia64_init
-extern void ia64_init PARAMS ((int, char **));
+extern void ia64_init (int, char **);
 
 #define TARGET_FORMAT ia64_target_format()
 
 #define TARGET_FORMAT ia64_target_format()
-extern const char *ia64_target_format PARAMS ((void));
+extern const char *ia64_target_format (void);
 
 #define TARGET_ARCH                    bfd_arch_ia64
 #define DOUBLESLASH_LINE_COMMENTS      /* allow //-style comments */
 
 #define TARGET_ARCH                    bfd_arch_ia64
 #define DOUBLESLASH_LINE_COMMENTS      /* allow //-style comments */
@@ -79,6 +78,9 @@ extern const char *ia64_target_format PARAMS ((void));
 #define LEX_QM         (LEX_NAME|LEX_BEGIN_NAME) /* allow `?' inside name */
 #define LEX_HASH       LEX_END_NAME    /* allow `#' ending a name */
 
 #define LEX_QM         (LEX_NAME|LEX_BEGIN_NAME) /* allow `?' inside name */
 #define LEX_HASH       LEX_END_NAME    /* allow `#' ending a name */
 
+#define TC_PREDICATE_START_CHAR '('
+#define TC_PREDICATE_END_CHAR ')'
+
 extern const char ia64_symbol_chars[];
 #define tc_symbol_chars ia64_symbol_chars
 
 extern const char ia64_symbol_chars[];
 #define tc_symbol_chars ia64_symbol_chars
 
@@ -90,34 +92,33 @@ struct ia64_fix
     enum ia64_opnd opnd;
   };
 
     enum ia64_opnd opnd;
   };
 
-extern void ia64_end_of_source PARAMS((void));
-extern void ia64_start_line PARAMS((void));
-extern int ia64_unrecognized_line PARAMS((int ch));
-extern void ia64_frob_label PARAMS((struct symbol *sym));
+extern void ia64_end_of_source (void);
+extern void ia64_start_line (void);
+extern int ia64_unrecognized_line (int);
+extern void ia64_frob_label (struct symbol *);
 #ifdef TE_HPUX
 #ifdef TE_HPUX
-extern int ia64_frob_symbol PARAMS((struct symbol *sym));
+extern int ia64_frob_symbol (struct symbol *);
 #endif
 #endif
-extern void ia64_flush_pending_output PARAMS((void));
-extern int ia64_parse_name PARAMS((char *name, expressionS *e, char *nextP));
-extern int ia64_optimize_expr PARAMS((expressionS *l, operatorT op,
-                                     expressionS *r));
-extern void ia64_cons_align PARAMS((int));
-extern void ia64_flush_insns PARAMS((void));
-extern int ia64_fix_adjustable PARAMS((struct fix *fix));
-extern int ia64_force_relocation PARAMS((struct fix *));
-extern void ia64_cons_fix_new PARAMS ((fragS *f, int where, int nbytes,
-                                      expressionS *exp));
-extern void ia64_validate_fix PARAMS ((struct fix *fix));
-extern char * ia64_canonicalize_symbol_name PARAMS ((char *));
-extern int ia64_elf_section_letter PARAMS ((int, char **));
-extern flagword ia64_elf_section_flags PARAMS ((flagword, int, int));
-extern int ia64_elf_section_type PARAMS ((const char *, size_t len));
-extern long ia64_pcrel_from_section PARAMS ((struct fix *fix, segT sec));
-extern void ia64_md_do_align PARAMS ((int, const char *, int, int));
-extern void ia64_handle_align PARAMS ((fragS *f));
-extern void ia64_after_parse_args PARAMS ((void));
-extern void ia64_dwarf2_emit_offset PARAMS ((symbolS *, unsigned int));
-extern void ia64_check_label PARAMS ((symbolS *));
+extern void ia64_flush_pending_output (void);
+extern int ia64_parse_name (char *, expressionS *, char *);
+extern int ia64_optimize_expr (expressionS *, operatorT, expressionS *);
+extern void ia64_cons_align (int);
+extern void ia64_flush_insns (void);
+extern int ia64_fix_adjustable (struct fix *);
+extern int ia64_force_relocation (struct fix *);
+extern void ia64_cons_fix_new (fragS *, int, int, expressionS *,
+                              bfd_reloc_code_real_type);
+extern void ia64_validate_fix (struct fix *);
+extern char * ia64_canonicalize_symbol_name (char *);
+extern bfd_vma ia64_elf_section_letter (int, const char **);
+extern flagword ia64_elf_section_flags (flagword, bfd_vma, int);
+extern int ia64_elf_section_type (const char *, size_t);
+extern long ia64_pcrel_from_section (struct fix *, segT);
+extern void ia64_md_do_align (int, const char *, int, int);
+extern void ia64_handle_align (fragS *);
+extern void ia64_after_parse_args (void);
+extern void ia64_dwarf2_emit_offset (symbolS *, unsigned int);
+extern void ia64_check_label (symbolS *);
 extern int ia64_estimate_size_before_relax (fragS *, asection *);
 extern void ia64_convert_frag (fragS *);
 
 extern int ia64_estimate_size_before_relax (fragS *, asection *);
 extern void ia64_convert_frag (fragS *);
 
@@ -130,6 +131,7 @@ extern void ia64_convert_frag (fragS *);
 #endif /* TE_HPUX */
 #define md_flush_pending_output()      ia64_flush_pending_output ()
 #define md_parse_name(s,e,m,c)         ia64_parse_name (s, e, c)
 #endif /* TE_HPUX */
 #define md_flush_pending_output()      ia64_flush_pending_output ()
 #define md_parse_name(s,e,m,c)         ia64_parse_name (s, e, c)
+#define md_register_arithmetic         0
 #define tc_canonicalize_symbol_name(s) ia64_canonicalize_symbol_name (s)
 #define tc_canonicalize_section_name(s)        ia64_canonicalize_symbol_name (s)
 #define md_optimize_expr(l,o,r)                ia64_optimize_expr (l, o, r)
 #define tc_canonicalize_symbol_name(s) ia64_canonicalize_symbol_name (s)
 #define tc_canonicalize_section_name(s)        ia64_canonicalize_symbol_name (s)
 #define md_optimize_expr(l,o,r)                ia64_optimize_expr (l, o, r)
@@ -147,7 +149,7 @@ extern void ia64_convert_frag (fragS *);
 #define md_elf_section_flags           ia64_elf_section_flags
 #define TC_FIX_TYPE                    struct ia64_fix
 #define TC_INIT_FIX_DATA(f)            { f->tc_fix_data.opnd = 0; }
 #define md_elf_section_flags           ia64_elf_section_flags
 #define TC_FIX_TYPE                    struct ia64_fix
 #define TC_INIT_FIX_DATA(f)            { f->tc_fix_data.opnd = 0; }
-#define TC_CONS_FIX_NEW(f,o,l,e)       ia64_cons_fix_new (f, o, l, e)
+#define TC_CONS_FIX_NEW(f,o,l,e,r)     ia64_cons_fix_new (f, o, l, e, r)
 #define TC_VALIDATE_FIX(fix,seg,skip)  ia64_validate_fix (fix)
 #define MD_PCREL_FROM_SECTION(fix,sec) ia64_pcrel_from_section (fix, sec)
 #define md_section_align(seg,size)     (size)
 #define TC_VALIDATE_FIX(fix,seg,skip)  ia64_validate_fix (fix)
 #define MD_PCREL_FROM_SECTION(fix,sec) ia64_pcrel_from_section (fix, sec)
 #define md_section_align(seg,size)     (size)
@@ -157,10 +159,14 @@ extern void ia64_convert_frag (fragS *);
 #define md_after_parse_args()          ia64_after_parse_args ()
 #define TC_DWARF2_EMIT_OFFSET          ia64_dwarf2_emit_offset
 #define tc_check_label(l)              ia64_check_label (l)
 #define md_after_parse_args()          ia64_after_parse_args ()
 #define TC_DWARF2_EMIT_OFFSET          ia64_dwarf2_emit_offset
 #define tc_check_label(l)              ia64_check_label (l)
+#ifdef TE_VMS
+#define tc_init_after_args() ia64_vms_note ()
+void ia64_vms_note (void);
+#endif
 
 /* Record if an alignment frag should end with a stop bit.  */
 #define TC_FRAG_TYPE                   int
 
 /* Record if an alignment frag should end with a stop bit.  */
 #define TC_FRAG_TYPE                   int
-#define TC_FRAG_INIT(FRAGP)            do {(FRAGP)->tc_frag_data = 0;}while (0)
+#define TC_FRAG_INIT(FRAGP, MAX_BYTES) do {(FRAGP)->tc_frag_data = 0;}while (0)
 
 /* Give an error if a frag containing code is not aligned to a 16 byte
    boundary.  */
 
 /* Give an error if a frag containing code is not aligned to a 16 byte
    boundary.  */
@@ -314,6 +320,10 @@ typedef struct unwind_record
 
 #define TC_FORCE_RELOCATION_LOCAL(FIX)                 \
   ((FIX)->fx_r_type != BFD_RELOC_UNUSED                        \
 
 #define TC_FORCE_RELOCATION_LOCAL(FIX)                 \
   ((FIX)->fx_r_type != BFD_RELOC_UNUSED                        \
-   && (!(FIX)->fx_pcrel                                        \
-       || (FIX)->fx_plt                                        \
-       || TC_FORCE_RELOCATION (FIX)))
+   && (GENERIC_FORCE_RELOCATION_LOCAL (FIX)            \
+       || (FIX)->fx_r_type == BFD_RELOC_IA64_PLTOFF22))
+
+/* VMS backtraces expect dwarf version 3.  */
+#ifdef TE_VMS
+#define DWARF2_VERSION      (dwarf_level < 3 ? 3  : dwarf_level)
+#endif
This page took 0.025648 seconds and 4 git commands to generate.