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