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