xref: /netbsd-src/external/gpl3/binutils/dist/ld/ldgram.h (revision 96fc3e30a7c3f7bba53384bf41dad5f78306fac4)
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      SIZEOF_HEADERS = 297,
82      OUTPUT_FORMAT = 298,
83      FORCE_COMMON_ALLOCATION = 299,
84      OUTPUT_ARCH = 300,
85      INHIBIT_COMMON_ALLOCATION = 301,
86      SEGMENT_START = 302,
87      INCLUDE = 303,
88      MEMORY = 304,
89      REGION_ALIAS = 305,
90      LD_FEATURE = 306,
91      NOLOAD = 307,
92      DSECT = 308,
93      COPY = 309,
94      INFO = 310,
95      OVERLAY = 311,
96      DEFINED = 312,
97      TARGET_K = 313,
98      SEARCH_DIR = 314,
99      MAP = 315,
100      ENTRY = 316,
101      NEXT = 317,
102      SIZEOF = 318,
103      ALIGNOF = 319,
104      ADDR = 320,
105      LOADADDR = 321,
106      MAX_K = 322,
107      MIN_K = 323,
108      STARTUP = 324,
109      HLL = 325,
110      SYSLIB = 326,
111      FLOAT = 327,
112      NOFLOAT = 328,
113      NOCROSSREFS = 329,
114      ORIGIN = 330,
115      FILL = 331,
116      LENGTH = 332,
117      CREATE_OBJECT_SYMBOLS = 333,
118      INPUT = 334,
119      GROUP = 335,
120      OUTPUT = 336,
121      CONSTRUCTORS = 337,
122      ALIGNMOD = 338,
123      AT = 339,
124      SUBALIGN = 340,
125      PROVIDE = 341,
126      PROVIDE_HIDDEN = 342,
127      AS_NEEDED = 343,
128      CHIP = 344,
129      LIST = 345,
130      SECT = 346,
131      ABSOLUTE = 347,
132      LOAD = 348,
133      NEWLINE = 349,
134      ENDWORD = 350,
135      ORDER = 351,
136      NAMEWORD = 352,
137      ASSERT_K = 353,
138      FORMAT = 354,
139      PUBLIC = 355,
140      DEFSYMEND = 356,
141      BASE = 357,
142      ALIAS = 358,
143      TRUNCATE = 359,
144      REL = 360,
145      INPUT_SCRIPT = 361,
146      INPUT_MRI_SCRIPT = 362,
147      INPUT_DEFSYM = 363,
148      CASE = 364,
149      EXTERN = 365,
150      START = 366,
151      VERS_TAG = 367,
152      VERS_IDENTIFIER = 368,
153      GLOBAL = 369,
154      LOCAL = 370,
155      VERSIONK = 371,
156      INPUT_VERSION_SCRIPT = 372,
157      KEEP = 373,
158      ONLY_IF_RO = 374,
159      ONLY_IF_RW = 375,
160      SPECIAL = 376,
161      EXCLUDE_FILE = 377,
162      CONSTANT = 378,
163      INPUT_DYNAMIC_LIST = 379
164    };
165 #endif
166 /* Tokens.  */
167 #define INT 258
168 #define NAME 259
169 #define LNAME 260
170 #define OREQ 261
171 #define ANDEQ 262
172 #define RSHIFTEQ 263
173 #define LSHIFTEQ 264
174 #define DIVEQ 265
175 #define MULTEQ 266
176 #define MINUSEQ 267
177 #define PLUSEQ 268
178 #define OROR 269
179 #define ANDAND 270
180 #define NE 271
181 #define EQ 272
182 #define GE 273
183 #define LE 274
184 #define RSHIFT 275
185 #define LSHIFT 276
186 #define UNARY 277
187 #define END 278
188 #define ALIGN_K 279
189 #define BLOCK 280
190 #define BIND 281
191 #define QUAD 282
192 #define SQUAD 283
193 #define LONG 284
194 #define SHORT 285
195 #define BYTE 286
196 #define SECTIONS 287
197 #define PHDRS 288
198 #define INSERT_K 289
199 #define AFTER 290
200 #define BEFORE 291
201 #define DATA_SEGMENT_ALIGN 292
202 #define DATA_SEGMENT_RELRO_END 293
203 #define DATA_SEGMENT_END 294
204 #define SORT_BY_NAME 295
205 #define SORT_BY_ALIGNMENT 296
206 #define SIZEOF_HEADERS 297
207 #define OUTPUT_FORMAT 298
208 #define FORCE_COMMON_ALLOCATION 299
209 #define OUTPUT_ARCH 300
210 #define INHIBIT_COMMON_ALLOCATION 301
211 #define SEGMENT_START 302
212 #define INCLUDE 303
213 #define MEMORY 304
214 #define REGION_ALIAS 305
215 #define LD_FEATURE 306
216 #define NOLOAD 307
217 #define DSECT 308
218 #define COPY 309
219 #define INFO 310
220 #define OVERLAY 311
221 #define DEFINED 312
222 #define TARGET_K 313
223 #define SEARCH_DIR 314
224 #define MAP 315
225 #define ENTRY 316
226 #define NEXT 317
227 #define SIZEOF 318
228 #define ALIGNOF 319
229 #define ADDR 320
230 #define LOADADDR 321
231 #define MAX_K 322
232 #define MIN_K 323
233 #define STARTUP 324
234 #define HLL 325
235 #define SYSLIB 326
236 #define FLOAT 327
237 #define NOFLOAT 328
238 #define NOCROSSREFS 329
239 #define ORIGIN 330
240 #define FILL 331
241 #define LENGTH 332
242 #define CREATE_OBJECT_SYMBOLS 333
243 #define INPUT 334
244 #define GROUP 335
245 #define OUTPUT 336
246 #define CONSTRUCTORS 337
247 #define ALIGNMOD 338
248 #define AT 339
249 #define SUBALIGN 340
250 #define PROVIDE 341
251 #define PROVIDE_HIDDEN 342
252 #define AS_NEEDED 343
253 #define CHIP 344
254 #define LIST 345
255 #define SECT 346
256 #define ABSOLUTE 347
257 #define LOAD 348
258 #define NEWLINE 349
259 #define ENDWORD 350
260 #define ORDER 351
261 #define NAMEWORD 352
262 #define ASSERT_K 353
263 #define FORMAT 354
264 #define PUBLIC 355
265 #define DEFSYMEND 356
266 #define BASE 357
267 #define ALIAS 358
268 #define TRUNCATE 359
269 #define REL 360
270 #define INPUT_SCRIPT 361
271 #define INPUT_MRI_SCRIPT 362
272 #define INPUT_DEFSYM 363
273 #define CASE 364
274 #define EXTERN 365
275 #define START 366
276 #define VERS_TAG 367
277 #define VERS_IDENTIFIER 368
278 #define GLOBAL 369
279 #define LOCAL 370
280 #define VERSIONK 371
281 #define INPUT_VERSION_SCRIPT 372
282 #define KEEP 373
283 #define ONLY_IF_RO 374
284 #define ONLY_IF_RW 375
285 #define SPECIAL 376
286 #define EXCLUDE_FILE 377
287 #define CONSTANT 378
288 #define INPUT_DYNAMIC_LIST 379
289 
290 
291 
292 
293 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
294 typedef union YYSTYPE
295 #line 62 "ldgram.y"
296 {
297   bfd_vma integer;
298   struct big_int
299     {
300       bfd_vma integer;
301       char *str;
302     } bigint;
303   fill_type *fill;
304   char *name;
305   const char *cname;
306   struct wildcard_spec wildcard;
307   struct wildcard_list *wildcard_list;
308   struct name_list *name_list;
309   int token;
310   union etree_union *etree;
311   struct phdr_info
312     {
313       bfd_boolean filehdr;
314       bfd_boolean phdrs;
315       union etree_union *at;
316       union etree_union *flags;
317     } phdr;
318   struct lang_nocrossref *nocrossref;
319   struct lang_output_section_phdr_list *section_phdr;
320   struct bfd_elf_version_deps *deflist;
321   struct bfd_elf_version_expr *versyms;
322   struct bfd_elf_version_tree *versnode;
323 }
324 /* Line 1529 of yacc.c.  */
325 #line 326 "ldgram.h"
326 	YYSTYPE;
327 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
328 # define YYSTYPE_IS_DECLARED 1
329 # define YYSTYPE_IS_TRIVIAL 1
330 #endif
331 
332 extern YYSTYPE yylval;
333 
334