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