NaCl changes
[nacl-binutils.git] / ld / ldgram.h
blob29892ec46151ed3f420fe126fcd6a31f38b96d8b
1 /* A Bison parser, made by GNU Bison 2.1. */
3 /* Skeleton parser for Yacc-like parsing with Bison,
4 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2, or (at your option)
9 any later version.
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with this program; if not, write to the Free Software
18 Foundation, Inc., 51 Franklin Street, Fifth Floor,
19 Boston, MA 02110-1301, USA. */
21 /* As a special exception, when this file is copied by Bison into a
22 Bison output file, you may use that output file without restriction.
23 This special exception was added by the Free Software Foundation
24 in version 1.24 of Bison. */
26 /* Tokens. */
27 #ifndef YYTOKENTYPE
28 # define YYTOKENTYPE
29 /* Put the tokens into the symbol table, so that GDB and other debuggers
30 know about them. */
31 enum yytokentype {
32 INT = 258,
33 NAME = 259,
34 LNAME = 260,
35 OREQ = 261,
36 ANDEQ = 262,
37 RSHIFTEQ = 263,
38 LSHIFTEQ = 264,
39 DIVEQ = 265,
40 MULTEQ = 266,
41 MINUSEQ = 267,
42 PLUSEQ = 268,
43 OROR = 269,
44 ANDAND = 270,
45 NE = 271,
46 EQ = 272,
47 GE = 273,
48 LE = 274,
49 RSHIFT = 275,
50 LSHIFT = 276,
51 UNARY = 277,
52 END = 278,
53 ALIGN_K = 279,
54 BLOCK = 280,
55 BIND = 281,
56 QUAD = 282,
57 SQUAD = 283,
58 LONG = 284,
59 SHORT = 285,
60 BYTE = 286,
61 SECTIONS = 287,
62 PHDRS = 288,
63 DATA_SEGMENT_ALIGN = 289,
64 DATA_SEGMENT_RELRO_END = 290,
65 DATA_SEGMENT_END = 291,
66 SORT_BY_NAME = 292,
67 SORT_BY_ALIGNMENT = 293,
68 SIZEOF_HEADERS = 294,
69 OUTPUT_FORMAT = 295,
70 FORCE_COMMON_ALLOCATION = 296,
71 OUTPUT_ARCH = 297,
72 INHIBIT_COMMON_ALLOCATION = 298,
73 SEGMENT_START = 299,
74 INCLUDE = 300,
75 MEMORY = 301,
76 NOLOAD = 302,
77 DSECT = 303,
78 COPY = 304,
79 INFO = 305,
80 OVERLAY = 306,
81 DEFINED = 307,
82 TARGET_K = 308,
83 SEARCH_DIR = 309,
84 MAP = 310,
85 ENTRY = 311,
86 NEXT = 312,
87 SIZEOF = 313,
88 ALIGNOF = 314,
89 ADDR = 315,
90 LOADADDR = 316,
91 MAX_K = 317,
92 MIN_K = 318,
93 CEILP2 = 319,
94 NACL_MASK = 320,
95 STARTUP = 321,
96 HLL = 322,
97 SYSLIB = 323,
98 FLOAT = 324,
99 NOFLOAT = 325,
100 NOCROSSREFS = 326,
101 ORIGIN = 327,
102 FILL = 328,
103 LENGTH = 329,
104 CREATE_OBJECT_SYMBOLS = 330,
105 INPUT = 331,
106 GROUP = 332,
107 OUTPUT = 333,
108 CONSTRUCTORS = 334,
109 ALIGNMOD = 335,
110 AT = 336,
111 SUBALIGN = 337,
112 PROVIDE = 338,
113 PROVIDE_HIDDEN = 339,
114 AS_NEEDED = 340,
115 CHIP = 341,
116 LIST = 342,
117 SECT = 343,
118 ABSOLUTE = 344,
119 LOAD = 345,
120 NEWLINE = 346,
121 ENDWORD = 347,
122 ORDER = 348,
123 NAMEWORD = 349,
124 ASSERT_K = 350,
125 FORMAT = 351,
126 PUBLIC = 352,
127 DEFSYMEND = 353,
128 BASE = 354,
129 ALIAS = 355,
130 TRUNCATE = 356,
131 REL = 357,
132 INPUT_SCRIPT = 358,
133 INPUT_MRI_SCRIPT = 359,
134 INPUT_DEFSYM = 360,
135 CASE = 361,
136 EXTERN = 362,
137 START = 363,
138 VERS_TAG = 364,
139 VERS_IDENTIFIER = 365,
140 GLOBAL = 366,
141 LOCAL = 367,
142 VERSIONK = 368,
143 INPUT_VERSION_SCRIPT = 369,
144 KEEP = 370,
145 ONLY_IF_RO = 371,
146 ONLY_IF_RW = 372,
147 SPECIAL = 373,
148 EXCLUDE_FILE = 374,
149 CONSTANT = 375,
150 INPUT_DYNAMIC_LIST = 376
152 #endif
153 /* Tokens. */
154 #define INT 258
155 #define NAME 259
156 #define LNAME 260
157 #define OREQ 261
158 #define ANDEQ 262
159 #define RSHIFTEQ 263
160 #define LSHIFTEQ 264
161 #define DIVEQ 265
162 #define MULTEQ 266
163 #define MINUSEQ 267
164 #define PLUSEQ 268
165 #define OROR 269
166 #define ANDAND 270
167 #define NE 271
168 #define EQ 272
169 #define GE 273
170 #define LE 274
171 #define RSHIFT 275
172 #define LSHIFT 276
173 #define UNARY 277
174 #define END 278
175 #define ALIGN_K 279
176 #define BLOCK 280
177 #define BIND 281
178 #define QUAD 282
179 #define SQUAD 283
180 #define LONG 284
181 #define SHORT 285
182 #define BYTE 286
183 #define SECTIONS 287
184 #define PHDRS 288
185 #define DATA_SEGMENT_ALIGN 289
186 #define DATA_SEGMENT_RELRO_END 290
187 #define DATA_SEGMENT_END 291
188 #define SORT_BY_NAME 292
189 #define SORT_BY_ALIGNMENT 293
190 #define SIZEOF_HEADERS 294
191 #define OUTPUT_FORMAT 295
192 #define FORCE_COMMON_ALLOCATION 296
193 #define OUTPUT_ARCH 297
194 #define INHIBIT_COMMON_ALLOCATION 298
195 #define SEGMENT_START 299
196 #define INCLUDE 300
197 #define MEMORY 301
198 #define NOLOAD 302
199 #define DSECT 303
200 #define COPY 304
201 #define INFO 305
202 #define OVERLAY 306
203 #define DEFINED 307
204 #define TARGET_K 308
205 #define SEARCH_DIR 309
206 #define MAP 310
207 #define ENTRY 311
208 #define NEXT 312
209 #define SIZEOF 313
210 #define ALIGNOF 314
211 #define ADDR 315
212 #define LOADADDR 316
213 #define MAX_K 317
214 #define MIN_K 318
215 #define CEILP2 319
216 #define NACL_MASK 320
217 #define STARTUP 321
218 #define HLL 322
219 #define SYSLIB 323
220 #define FLOAT 324
221 #define NOFLOAT 325
222 #define NOCROSSREFS 326
223 #define ORIGIN 327
224 #define FILL 328
225 #define LENGTH 329
226 #define CREATE_OBJECT_SYMBOLS 330
227 #define INPUT 331
228 #define GROUP 332
229 #define OUTPUT 333
230 #define CONSTRUCTORS 334
231 #define ALIGNMOD 335
232 #define AT 336
233 #define SUBALIGN 337
234 #define PROVIDE 338
235 #define PROVIDE_HIDDEN 339
236 #define AS_NEEDED 340
237 #define CHIP 341
238 #define LIST 342
239 #define SECT 343
240 #define ABSOLUTE 344
241 #define LOAD 345
242 #define NEWLINE 346
243 #define ENDWORD 347
244 #define ORDER 348
245 #define NAMEWORD 349
246 #define ASSERT_K 350
247 #define FORMAT 351
248 #define PUBLIC 352
249 #define DEFSYMEND 353
250 #define BASE 354
251 #define ALIAS 355
252 #define TRUNCATE 356
253 #define REL 357
254 #define INPUT_SCRIPT 358
255 #define INPUT_MRI_SCRIPT 359
256 #define INPUT_DEFSYM 360
257 #define CASE 361
258 #define EXTERN 362
259 #define START 363
260 #define VERS_TAG 364
261 #define VERS_IDENTIFIER 365
262 #define GLOBAL 366
263 #define LOCAL 367
264 #define VERSIONK 368
265 #define INPUT_VERSION_SCRIPT 369
266 #define KEEP 370
267 #define ONLY_IF_RO 371
268 #define ONLY_IF_RW 372
269 #define SPECIAL 373
270 #define EXCLUDE_FILE 374
271 #define CONSTANT 375
272 #define INPUT_DYNAMIC_LIST 376
277 #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
278 #line 66 "ldgram.y"
279 typedef union YYSTYPE {
280 bfd_vma integer;
281 struct big_int
283 bfd_vma integer;
284 char *str;
285 } bigint;
286 fill_type *fill;
287 char *name;
288 const char *cname;
289 struct wildcard_spec wildcard;
290 struct wildcard_list *wildcard_list;
291 struct name_list *name_list;
292 int token;
293 union etree_union *etree;
294 struct phdr_info
296 bfd_boolean filehdr;
297 bfd_boolean phdrs;
298 union etree_union *at;
299 union etree_union *flags;
300 } phdr;
301 struct lang_nocrossref *nocrossref;
302 struct lang_output_section_phdr_list *section_phdr;
303 struct bfd_elf_version_deps *deflist;
304 struct bfd_elf_version_expr *versyms;
305 struct bfd_elf_version_tree *versnode;
306 } YYSTYPE;
307 /* Line 1447 of yacc.c. */
308 #line 309 "ldgram.h"
309 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
310 # define YYSTYPE_IS_DECLARED 1
311 # define YYSTYPE_IS_TRIVIAL 1
312 #endif
314 extern YYSTYPE yylval;