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