(root)/
binutils-2.41/
gold/
yyscript.h
       1  /* A Bison parser, made by GNU Bison 3.8.2.  */
       2  
       3  /* Bison interface for Yacc-like parsers in C
       4  
       5     Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation,
       6     Inc.
       7  
       8     This program is free software: you can redistribute it and/or modify
       9     it under the terms of the GNU General Public License as published by
      10     the Free Software Foundation, either version 3 of the License, or
      11     (at your option) any later version.
      12  
      13     This program is distributed in the hope that it will be useful,
      14     but WITHOUT ANY WARRANTY; without even the implied warranty of
      15     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
      16     GNU General Public License for more details.
      17  
      18     You should have received a copy of the GNU General Public License
      19     along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
      20  
      21  /* As a special exception, you may create a larger work that contains
      22     part or all of the Bison parser skeleton and distribute that work
      23     under terms of your choice, so long as that work isn't itself a
      24     parser generator using the skeleton or a modified version thereof
      25     as a parser skeleton.  Alternatively, if you modify or redistribute
      26     the parser skeleton itself, you may (at your option) remove this
      27     special exception, which will cause the skeleton and the resulting
      28     Bison output files to be licensed under the GNU General Public
      29     License without this special exception.
      30  
      31     This special exception was added by the Free Software Foundation in
      32     version 2.2 of Bison.  */
      33  
      34  /* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual,
      35     especially those whose name start with YY_ or yy_.  They are
      36     private implementation details that can be changed or removed.  */
      37  
      38  #ifndef YY_YY_YYSCRIPT_H_INCLUDED
      39  # define YY_YY_YYSCRIPT_H_INCLUDED
      40  /* Debug traces.  */
      41  #ifndef YYDEBUG
      42  # define YYDEBUG 0
      43  #endif
      44  #if YYDEBUG
      45  extern int yydebug;
      46  #endif
      47  
      48  /* Token kinds.  */
      49  #ifndef YYTOKENTYPE
      50  # define YYTOKENTYPE
      51    enum yytokentype
      52    {
      53      YYEMPTY = -2,
      54      YYEOF = 0,                     /* "end of file"  */
      55      YYerror = 256,                 /* error  */
      56      YYUNDEF = 257,                 /* "invalid token"  */
      57      PLUSEQ = 258,                  /* PLUSEQ  */
      58      MINUSEQ = 259,                 /* MINUSEQ  */
      59      MULTEQ = 260,                  /* MULTEQ  */
      60      DIVEQ = 261,                   /* DIVEQ  */
      61      LSHIFTEQ = 262,                /* LSHIFTEQ  */
      62      RSHIFTEQ = 263,                /* RSHIFTEQ  */
      63      ANDEQ = 264,                   /* ANDEQ  */
      64      OREQ = 265,                    /* OREQ  */
      65      OROR = 266,                    /* OROR  */
      66      ANDAND = 267,                  /* ANDAND  */
      67      EQ = 268,                      /* EQ  */
      68      NE = 269,                      /* NE  */
      69      LE = 270,                      /* LE  */
      70      GE = 271,                      /* GE  */
      71      LSHIFT = 272,                  /* LSHIFT  */
      72      RSHIFT = 273,                  /* RSHIFT  */
      73      UNARY = 274,                   /* UNARY  */
      74      STRING = 275,                  /* STRING  */
      75      QUOTED_STRING = 276,           /* QUOTED_STRING  */
      76      INTEGER = 277,                 /* INTEGER  */
      77      ABSOLUTE = 278,                /* ABSOLUTE  */
      78      ADDR = 279,                    /* ADDR  */
      79      ALIGN_K = 280,                 /* ALIGN_K  */
      80      ALIGNOF = 281,                 /* ALIGNOF  */
      81      ASSERT_K = 282,                /* ASSERT_K  */
      82      AS_NEEDED = 283,               /* AS_NEEDED  */
      83      AT = 284,                      /* AT  */
      84      BIND = 285,                    /* BIND  */
      85      BLOCK = 286,                   /* BLOCK  */
      86      BYTE = 287,                    /* BYTE  */
      87      CONSTANT = 288,                /* CONSTANT  */
      88      CONSTRUCTORS = 289,            /* CONSTRUCTORS  */
      89      COPY = 290,                    /* COPY  */
      90      CREATE_OBJECT_SYMBOLS = 291,   /* CREATE_OBJECT_SYMBOLS  */
      91      DATA_SEGMENT_ALIGN = 292,      /* DATA_SEGMENT_ALIGN  */
      92      DATA_SEGMENT_END = 293,        /* DATA_SEGMENT_END  */
      93      DATA_SEGMENT_RELRO_END = 294,  /* DATA_SEGMENT_RELRO_END  */
      94      DEFINED = 295,                 /* DEFINED  */
      95      DSECT = 296,                   /* DSECT  */
      96      ENTRY = 297,                   /* ENTRY  */
      97      EXCLUDE_FILE = 298,            /* EXCLUDE_FILE  */
      98      EXTERN = 299,                  /* EXTERN  */
      99      FILL = 300,                    /* FILL  */
     100      FLOAT = 301,                   /* FLOAT  */
     101      FORCE_COMMON_ALLOCATION = 302, /* FORCE_COMMON_ALLOCATION  */
     102      GLOBAL = 303,                  /* GLOBAL  */
     103      GROUP = 304,                   /* GROUP  */
     104      HIDDEN = 305,                  /* HIDDEN  */
     105      HLL = 306,                     /* HLL  */
     106      INCLUDE = 307,                 /* INCLUDE  */
     107      INHIBIT_COMMON_ALLOCATION = 308, /* INHIBIT_COMMON_ALLOCATION  */
     108      INFO = 309,                    /* INFO  */
     109      INPUT = 310,                   /* INPUT  */
     110      KEEP = 311,                    /* KEEP  */
     111      LEN = 312,                     /* LEN  */
     112      LENGTH = 313,                  /* LENGTH  */
     113      LOADADDR = 314,                /* LOADADDR  */
     114      LOCAL = 315,                   /* LOCAL  */
     115      LONG = 316,                    /* LONG  */
     116      MAP = 317,                     /* MAP  */
     117      MAX_K = 318,                   /* MAX_K  */
     118      MEMORY = 319,                  /* MEMORY  */
     119      MIN_K = 320,                   /* MIN_K  */
     120      NEXT = 321,                    /* NEXT  */
     121      NOCROSSREFS = 322,             /* NOCROSSREFS  */
     122      NOFLOAT = 323,                 /* NOFLOAT  */
     123      NOLOAD = 324,                  /* NOLOAD  */
     124      ONLY_IF_RO = 325,              /* ONLY_IF_RO  */
     125      ONLY_IF_RW = 326,              /* ONLY_IF_RW  */
     126      ORG = 327,                     /* ORG  */
     127      ORIGIN = 328,                  /* ORIGIN  */
     128      OUTPUT = 329,                  /* OUTPUT  */
     129      OUTPUT_ARCH = 330,             /* OUTPUT_ARCH  */
     130      OUTPUT_FORMAT = 331,           /* OUTPUT_FORMAT  */
     131      OVERLAY = 332,                 /* OVERLAY  */
     132      PHDRS = 333,                   /* PHDRS  */
     133      PROVIDE = 334,                 /* PROVIDE  */
     134      PROVIDE_HIDDEN = 335,          /* PROVIDE_HIDDEN  */
     135      QUAD = 336,                    /* QUAD  */
     136      SEARCH_DIR = 337,              /* SEARCH_DIR  */
     137      SECTIONS = 338,                /* SECTIONS  */
     138      SEGMENT_START = 339,           /* SEGMENT_START  */
     139      SHORT = 340,                   /* SHORT  */
     140      SIZEOF = 341,                  /* SIZEOF  */
     141      SIZEOF_HEADERS = 342,          /* SIZEOF_HEADERS  */
     142      SORT_BY_ALIGNMENT = 343,       /* SORT_BY_ALIGNMENT  */
     143      SORT_BY_INIT_PRIORITY = 344,   /* SORT_BY_INIT_PRIORITY  */
     144      SORT_BY_NAME = 345,            /* SORT_BY_NAME  */
     145      SPECIAL = 346,                 /* SPECIAL  */
     146      SQUAD = 347,                   /* SQUAD  */
     147      STARTUP = 348,                 /* STARTUP  */
     148      SUBALIGN = 349,                /* SUBALIGN  */
     149      SYSLIB = 350,                  /* SYSLIB  */
     150      TARGET_K = 351,                /* TARGET_K  */
     151      TRUNCATE = 352,                /* TRUNCATE  */
     152      VERSIONK = 353,                /* VERSIONK  */
     153      OPTION = 354,                  /* OPTION  */
     154      PARSING_LINKER_SCRIPT = 355,   /* PARSING_LINKER_SCRIPT  */
     155      PARSING_VERSION_SCRIPT = 356,  /* PARSING_VERSION_SCRIPT  */
     156      PARSING_DEFSYM = 357,          /* PARSING_DEFSYM  */
     157      PARSING_DYNAMIC_LIST = 358,    /* PARSING_DYNAMIC_LIST  */
     158      PARSING_SECTIONS_BLOCK = 359,  /* PARSING_SECTIONS_BLOCK  */
     159      PARSING_SECTION_COMMANDS = 360, /* PARSING_SECTION_COMMANDS  */
     160      PARSING_MEMORY_DEF = 361       /* PARSING_MEMORY_DEF  */
     161    };
     162    typedef enum yytokentype yytoken_kind_t;
     163  #endif
     164  /* Token kinds.  */
     165  #define YYEMPTY -2
     166  #define YYEOF 0
     167  #define YYerror 256
     168  #define YYUNDEF 257
     169  #define PLUSEQ 258
     170  #define MINUSEQ 259
     171  #define MULTEQ 260
     172  #define DIVEQ 261
     173  #define LSHIFTEQ 262
     174  #define RSHIFTEQ 263
     175  #define ANDEQ 264
     176  #define OREQ 265
     177  #define OROR 266
     178  #define ANDAND 267
     179  #define EQ 268
     180  #define NE 269
     181  #define LE 270
     182  #define GE 271
     183  #define LSHIFT 272
     184  #define RSHIFT 273
     185  #define UNARY 274
     186  #define STRING 275
     187  #define QUOTED_STRING 276
     188  #define INTEGER 277
     189  #define ABSOLUTE 278
     190  #define ADDR 279
     191  #define ALIGN_K 280
     192  #define ALIGNOF 281
     193  #define ASSERT_K 282
     194  #define AS_NEEDED 283
     195  #define AT 284
     196  #define BIND 285
     197  #define BLOCK 286
     198  #define BYTE 287
     199  #define CONSTANT 288
     200  #define CONSTRUCTORS 289
     201  #define COPY 290
     202  #define CREATE_OBJECT_SYMBOLS 291
     203  #define DATA_SEGMENT_ALIGN 292
     204  #define DATA_SEGMENT_END 293
     205  #define DATA_SEGMENT_RELRO_END 294
     206  #define DEFINED 295
     207  #define DSECT 296
     208  #define ENTRY 297
     209  #define EXCLUDE_FILE 298
     210  #define EXTERN 299
     211  #define FILL 300
     212  #define FLOAT 301
     213  #define FORCE_COMMON_ALLOCATION 302
     214  #define GLOBAL 303
     215  #define GROUP 304
     216  #define HIDDEN 305
     217  #define HLL 306
     218  #define INCLUDE 307
     219  #define INHIBIT_COMMON_ALLOCATION 308
     220  #define INFO 309
     221  #define INPUT 310
     222  #define KEEP 311
     223  #define LEN 312
     224  #define LENGTH 313
     225  #define LOADADDR 314
     226  #define LOCAL 315
     227  #define LONG 316
     228  #define MAP 317
     229  #define MAX_K 318
     230  #define MEMORY 319
     231  #define MIN_K 320
     232  #define NEXT 321
     233  #define NOCROSSREFS 322
     234  #define NOFLOAT 323
     235  #define NOLOAD 324
     236  #define ONLY_IF_RO 325
     237  #define ONLY_IF_RW 326
     238  #define ORG 327
     239  #define ORIGIN 328
     240  #define OUTPUT 329
     241  #define OUTPUT_ARCH 330
     242  #define OUTPUT_FORMAT 331
     243  #define OVERLAY 332
     244  #define PHDRS 333
     245  #define PROVIDE 334
     246  #define PROVIDE_HIDDEN 335
     247  #define QUAD 336
     248  #define SEARCH_DIR 337
     249  #define SECTIONS 338
     250  #define SEGMENT_START 339
     251  #define SHORT 340
     252  #define SIZEOF 341
     253  #define SIZEOF_HEADERS 342
     254  #define SORT_BY_ALIGNMENT 343
     255  #define SORT_BY_INIT_PRIORITY 344
     256  #define SORT_BY_NAME 345
     257  #define SPECIAL 346
     258  #define SQUAD 347
     259  #define STARTUP 348
     260  #define SUBALIGN 349
     261  #define SYSLIB 350
     262  #define TARGET_K 351
     263  #define TRUNCATE 352
     264  #define VERSIONK 353
     265  #define OPTION 354
     266  #define PARSING_LINKER_SCRIPT 355
     267  #define PARSING_VERSION_SCRIPT 356
     268  #define PARSING_DEFSYM 357
     269  #define PARSING_DYNAMIC_LIST 358
     270  #define PARSING_SECTIONS_BLOCK 359
     271  #define PARSING_SECTION_COMMANDS 360
     272  #define PARSING_MEMORY_DEF 361
     273  
     274  /* Value type.  */
     275  #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
     276  union YYSTYPE
     277  {
     278  #line 56 "yyscript.y"
     279  
     280    /* A string.  */
     281    struct Parser_string string;
     282    /* A number.  */
     283    uint64_t integer;
     284    /* An expression.  */
     285    Expression_ptr expr;
     286    /* An output section header.  */
     287    struct Parser_output_section_header output_section_header;
     288    /* An output section trailer.  */
     289    struct Parser_output_section_trailer output_section_trailer;
     290    /* A section constraint.  */
     291    enum Section_constraint constraint;
     292    /* A complete input section specification.  */
     293    struct Input_section_spec input_section_spec;
     294    /* A list of wildcard specifications, with exclusions.  */
     295    struct Wildcard_sections wildcard_sections;
     296    /* A single wildcard specification.  */
     297    struct Wildcard_section wildcard_section;
     298    /* A list of strings.  */
     299    String_list_ptr string_list;
     300    /* Information for a program header.  */
     301    struct Phdr_info phdr_info;
     302    /* Used for version scripts and within VERSION {}.  */
     303    struct Version_dependency_list* deplist;
     304    struct Version_expression_list* versyms;
     305    struct Version_tree* versnode;
     306    enum Script_section_type section_type;
     307  
     308  #line 309 "yyscript.h"
     309  
     310  };
     311  typedef union YYSTYPE YYSTYPE;
     312  # define YYSTYPE_IS_TRIVIAL 1
     313  # define YYSTYPE_IS_DECLARED 1
     314  #endif
     315  
     316  
     317  
     318  
     319  int yyparse (void* closure);
     320  
     321  
     322  #endif /* !YY_YY_YYSCRIPT_H_INCLUDED  */