Regenerate configure
[deliverable/binutils-gdb.git] / gas / config / xtensa-istack.h
index d9697e116bfc86585080facd2221956ce2aea8ad..3d08efb0d8427376bae320c232a6fac83b911896 100644 (file)
@@ -1,11 +1,11 @@
 /* Declarations for stacks of tokenized Xtensa instructions.
 /* Declarations for stacks of tokenized Xtensa instructions.
-   Copyright (C) 2003, 2004 Free Software Foundation, Inc.
+   Copyright (C) 2003-2016 Free Software Foundation, Inc.
 
    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
 
    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,
 #ifndef XTENSA_ISTACK_H
 #define XTENSA_ISTACK_H
 
 #ifndef XTENSA_ISTACK_H
 #define XTENSA_ISTACK_H
 
-#include "dwarf2dbg.h"
 #include "xtensa-isa.h"
 
 #define MAX_ISTACK 12
 #include "xtensa-isa.h"
 
 #define MAX_ISTACK 12
-#define MAX_INSN_ARGS 10
+#define MAX_INSN_ARGS 64
 
 enum itype_enum
 {
 
 enum itype_enum
 {
@@ -43,21 +42,28 @@ typedef struct tinsn_struct
   enum itype_enum insn_type;
 
   xtensa_opcode opcode;        /* Literals have an invalid opcode.  */
   enum itype_enum insn_type;
 
   xtensa_opcode opcode;        /* Literals have an invalid opcode.  */
-  bfd_boolean is_specific_opcode; 
-  bfd_boolean keep_wide; 
+  bfd_boolean is_specific_opcode;
+  bfd_boolean keep_wide;
   int ntok;
   expressionS tok[MAX_INSN_ARGS];
   int ntok;
   expressionS tok[MAX_INSN_ARGS];
-  struct dwarf2_line_info loc;
+  bfd_boolean loc_directive_seen;
+  struct dwarf2_line_info debug_line;
 
 
-  struct fixP *fixup;
+  /* This field is used for two types of special pseudo ops:
+     1. TLS-related operations.  Eg:  callx8.tls
+     2. j.l  label, a2
+
+     For the tls-related operations, it will hold a tls-related opcode
+     and info to be used in a fixup.  For j.l it will hold a
+     register to be used during relaxation.  */
+  expressionS extra_arg;
 
   /* Filled out by relaxation_requirements:  */
 
   /* Filled out by relaxation_requirements:  */
-  bfd_boolean record_fix;
   enum xtensa_relax_statesE subtype;
   int literal_space;
   enum xtensa_relax_statesE subtype;
   int literal_space;
+
   /* Filled out by vinsn_to_insnbuf:  */
   symbolS *symbol;
   /* Filled out by vinsn_to_insnbuf:  */
   symbolS *symbol;
-  symbolS *sub_symbol;
   offsetT offset;
   fragS *literal_frag;
 } TInsn;
   offsetT offset;
   fragS *literal_frag;
 } TInsn;
@@ -77,12 +83,11 @@ bfd_boolean istack_empty (IStack *);
 bfd_boolean istack_full (IStack *);
 TInsn *istack_top (IStack *);
 void istack_push (IStack *, TInsn *);
 bfd_boolean istack_full (IStack *);
 TInsn *istack_top (IStack *);
 void istack_push (IStack *, TInsn *);
-TInsn *istack_push_space (IStack *); 
+TInsn *istack_push_space (IStack *);
 void istack_pop (IStack *);
 
 /* TInsn utilities.  */
 void tinsn_init (TInsn *);
 void istack_pop (IStack *);
 
 /* TInsn utilities.  */
 void tinsn_init (TInsn *);
-expressionS *tinsn_get_tok (TInsn *, int);
 
 
 /* vliw_insn: bundles of TInsns.  */
 
 
 /* vliw_insn: bundles of TInsns.  */
@@ -90,10 +95,10 @@ expressionS *tinsn_get_tok (TInsn *, int);
 typedef struct vliw_insn
 {
   xtensa_format format;
 typedef struct vliw_insn
 {
   xtensa_format format;
-  xtensa_insnbuf insnbuf;
   int num_slots;
   unsigned int inside_bundle;
   TInsn slots[MAX_SLOTS];
   int num_slots;
   unsigned int inside_bundle;
   TInsn slots[MAX_SLOTS];
+  xtensa_insnbuf insnbuf;
   xtensa_insnbuf slotbuf[MAX_SLOTS];
 } vliw_insn;
 
   xtensa_insnbuf slotbuf[MAX_SLOTS];
 } vliw_insn;
 
This page took 0.028089 seconds and 4 git commands to generate.