fixed bash/dash/sh issue (Ubuntu)
[zpugcc/jano.git] / toolchain / binutils / ld / ldgram.c
blob2f3d82fbb4bc5e078db7cfb9dfcebb2c93b509cc
1 /* A Bison parser, made from ldgram.y
2 by GNU bison 1.35. */
4 #define YYBISON 1 /* Identify Bison output. */
6 # define INT 257
7 # define NAME 258
8 # define LNAME 259
9 # define PLUSEQ 260
10 # define MINUSEQ 261
11 # define MULTEQ 262
12 # define DIVEQ 263
13 # define LSHIFTEQ 264
14 # define RSHIFTEQ 265
15 # define ANDEQ 266
16 # define OREQ 267
17 # define OROR 268
18 # define ANDAND 269
19 # define EQ 270
20 # define NE 271
21 # define LE 272
22 # define GE 273
23 # define LSHIFT 274
24 # define RSHIFT 275
25 # define UNARY 276
26 # define END 277
27 # define ALIGN_K 278
28 # define BLOCK 279
29 # define BIND 280
30 # define QUAD 281
31 # define SQUAD 282
32 # define LONG 283
33 # define SHORT 284
34 # define BYTE 285
35 # define SECTIONS 286
36 # define PHDRS 287
37 # define SORT 288
38 # define DATA_SEGMENT_ALIGN 289
39 # define DATA_SEGMENT_END 290
40 # define SIZEOF_HEADERS 291
41 # define OUTPUT_FORMAT 292
42 # define FORCE_COMMON_ALLOCATION 293
43 # define OUTPUT_ARCH 294
44 # define INHIBIT_COMMON_ALLOCATION 295
45 # define INCLUDE 296
46 # define MEMORY 297
47 # define DEFSYMEND 298
48 # define NOLOAD 299
49 # define DSECT 300
50 # define COPY 301
51 # define INFO 302
52 # define OVERLAY 303
53 # define DEFINED 304
54 # define TARGET_K 305
55 # define SEARCH_DIR 306
56 # define MAP 307
57 # define ENTRY 308
58 # define NEXT 309
59 # define SIZEOF 310
60 # define ADDR 311
61 # define LOADADDR 312
62 # define MAX_K 313
63 # define MIN_K 314
64 # define STARTUP 315
65 # define HLL 316
66 # define SYSLIB 317
67 # define FLOAT 318
68 # define NOFLOAT 319
69 # define NOCROSSREFS 320
70 # define ORIGIN 321
71 # define FILL 322
72 # define LENGTH 323
73 # define CREATE_OBJECT_SYMBOLS 324
74 # define INPUT 325
75 # define GROUP 326
76 # define OUTPUT 327
77 # define CONSTRUCTORS 328
78 # define ALIGNMOD 329
79 # define AT 330
80 # define SUBALIGN 331
81 # define PROVIDE 332
82 # define CHIP 333
83 # define LIST 334
84 # define SECT 335
85 # define ABSOLUTE 336
86 # define LOAD 337
87 # define NEWLINE 338
88 # define ENDWORD 339
89 # define ORDER 340
90 # define NAMEWORD 341
91 # define ASSERT_K 342
92 # define FORMAT 343
93 # define PUBLIC 344
94 # define BASE 345
95 # define ALIAS 346
96 # define TRUNCATE 347
97 # define REL 348
98 # define INPUT_SCRIPT 349
99 # define INPUT_MRI_SCRIPT 350
100 # define INPUT_DEFSYM 351
101 # define CASE 352
102 # define EXTERN 353
103 # define START 354
104 # define VERS_TAG 355
105 # define VERS_IDENTIFIER 356
106 # define GLOBAL 357
107 # define LOCAL 358
108 # define VERSIONK 359
109 # define INPUT_VERSION_SCRIPT 360
110 # define KEEP 361
111 # define EXCLUDE_FILE 362
113 #line 22 "ldgram.y"
119 #define DONTDECLARE_MALLOC
121 #include "bfd.h"
122 #include "sysdep.h"
123 #include "bfdlink.h"
124 #include "ld.h"
125 #include "ldexp.h"
126 #include "ldver.h"
127 #include "ldlang.h"
128 #include "ldfile.h"
129 #include "ldemul.h"
130 #include "ldmisc.h"
131 #include "ldmain.h"
132 #include "mri.h"
133 #include "ldctor.h"
134 #include "ldlex.h"
136 #ifndef YYDEBUG
137 #define YYDEBUG 1
138 #endif
140 static enum section_type sectype;
142 lang_memory_region_type *region;
144 bfd_boolean ldgram_want_filename = TRUE;
145 FILE *saved_script_handle = NULL;
146 bfd_boolean force_make_executable = FALSE;
148 bfd_boolean ldgram_in_script = FALSE;
149 bfd_boolean ldgram_had_equals = FALSE;
150 bfd_boolean ldgram_had_keep = FALSE;
151 char *ldgram_vers_current_lang = NULL;
153 #define ERROR_NAME_MAX 20
154 static char *error_names[ERROR_NAME_MAX];
155 static int error_index;
156 #define PUSH_ERROR(x) if (error_index < ERROR_NAME_MAX) error_names[error_index] = x; error_index++;
157 #define POP_ERROR() error_index--;
159 #line 67 "ldgram.y"
160 #ifndef YYSTYPE
161 typedef union {
162 bfd_vma integer;
163 struct big_int
165 bfd_vma integer;
166 char *str;
167 } bigint;
168 fill_type *fill;
169 char *name;
170 const char *cname;
171 struct wildcard_spec wildcard;
172 struct wildcard_list *wildcard_list;
173 struct name_list *name_list;
174 int token;
175 union etree_union *etree;
176 struct phdr_info
178 bfd_boolean filehdr;
179 bfd_boolean phdrs;
180 union etree_union *at;
181 union etree_union *flags;
182 } phdr;
183 struct lang_nocrossref *nocrossref;
184 struct lang_output_section_phdr_list *section_phdr;
185 struct bfd_elf_version_deps *deflist;
186 struct bfd_elf_version_expr *versyms;
187 struct bfd_elf_version_tree *versnode;
188 } yystype;
189 # define YYSTYPE yystype
190 # define YYSTYPE_IS_TRIVIAL 1
191 #endif
192 #ifndef YYDEBUG
193 # define YYDEBUG 0
194 #endif
198 #define YYFINAL 627
199 #define YYFLAG -32768
200 #define YYNTBASE 132
202 /* YYTRANSLATE(YYLEX) -- Bison token number corresponding to YYLEX. */
203 #define YYTRANSLATE(x) ((unsigned)(x) <= 362 ? yytranslate[x] : 240)
205 /* YYTRANSLATE[YYLEX] -- Bison token number corresponding to YYLEX. */
206 static const short yytranslate[] =
208 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
209 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
210 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
211 2, 2, 2, 130, 2, 2, 2, 34, 21, 2,
212 37, 127, 32, 30, 125, 31, 2, 33, 2, 2,
213 2, 2, 2, 2, 2, 2, 2, 2, 16, 126,
214 24, 10, 25, 15, 2, 2, 2, 2, 2, 2,
215 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
216 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
217 2, 128, 2, 129, 20, 2, 2, 2, 2, 2,
218 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
219 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
220 2, 2, 2, 51, 19, 52, 131, 2, 2, 2,
221 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
222 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
223 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
224 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
225 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
226 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
227 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
228 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
229 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
230 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
231 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
232 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
233 2, 2, 2, 2, 2, 2, 1, 3, 4, 5,
234 6, 7, 8, 9, 11, 12, 13, 14, 17, 18,
235 22, 23, 26, 27, 28, 29, 35, 36, 38, 39,
236 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
237 50, 53, 54, 55, 56, 57, 58, 59, 60, 61,
238 62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
239 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
240 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,
241 92, 93, 94, 95, 96, 97, 98, 99, 100, 101,
242 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
243 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,
244 122, 123, 124
247 #if YYDEBUG
248 static const short yyprhs[] =
250 0, 0, 3, 6, 9, 12, 14, 15, 20, 21,
251 24, 28, 29, 32, 37, 39, 41, 44, 46, 51,
252 56, 60, 63, 68, 72, 77, 82, 87, 92, 97,
253 100, 103, 106, 111, 116, 119, 122, 125, 128, 129,
254 135, 138, 139, 143, 146, 147, 149, 153, 155, 159,
255 160, 162, 166, 168, 171, 175, 176, 179, 182, 183,
256 185, 187, 189, 191, 193, 195, 197, 199, 201, 203,
257 208, 213, 218, 223, 232, 237, 239, 241, 246, 247,
258 253, 258, 259, 265, 270, 275, 277, 281, 284, 286,
259 290, 293, 298, 301, 304, 305, 310, 313, 314, 322,
260 324, 326, 328, 330, 336, 341, 350, 353, 355, 359,
261 361, 363, 367, 372, 374, 375, 381, 384, 386, 388,
262 390, 395, 397, 402, 407, 410, 412, 413, 415, 417,
263 419, 421, 423, 425, 427, 430, 431, 433, 435, 437,
264 439, 441, 443, 445, 447, 449, 451, 455, 459, 466,
265 468, 469, 475, 478, 482, 483, 484, 492, 496, 500,
266 501, 505, 507, 510, 512, 515, 520, 525, 529, 533,
267 535, 540, 544, 545, 547, 549, 550, 553, 557, 558,
268 561, 564, 568, 573, 576, 579, 582, 586, 590, 594,
269 598, 602, 606, 610, 614, 618, 622, 626, 630, 634,
270 638, 642, 646, 652, 656, 660, 665, 667, 669, 674,
271 679, 684, 689, 694, 701, 708, 713, 718, 720, 727,
272 734, 741, 745, 746, 751, 752, 757, 758, 759, 760,
273 761, 762, 763, 781, 782, 783, 784, 785, 786, 805,
274 806, 807, 815, 817, 819, 821, 823, 825, 829, 830,
275 833, 837, 840, 847, 858, 861, 863, 864, 866, 869,
276 870, 871, 875, 876, 877, 878, 879, 891, 896, 897,
277 900, 901, 902, 909, 911, 912, 916, 922, 923, 927,
278 928, 931, 932, 938, 940, 943, 948, 954, 961, 963,
279 966, 967, 970, 975, 980, 989, 991, 995, 996, 1006,
280 1007, 1015, 1016
282 static const short yyrhs[] =
284 111, 146, 0, 112, 136, 0, 122, 228, 0, 113,
285 134, 0, 4, 0, 0, 135, 4, 10, 192, 0,
286 0, 137, 138, 0, 138, 139, 100, 0, 0, 95,
287 192, 0, 95, 192, 125, 192, 0, 4, 0, 96,
288 0, 102, 141, 0, 101, 0, 106, 4, 10, 192,
289 0, 106, 4, 125, 192, 0, 106, 4, 192, 0,
290 105, 4, 0, 97, 4, 125, 192, 0, 97, 4,
291 192, 0, 97, 4, 10, 192, 0, 38, 4, 10,
292 192, 0, 38, 4, 125, 192, 0, 91, 4, 10,
293 192, 0, 91, 4, 125, 192, 0, 98, 143, 0,
294 99, 142, 0, 103, 4, 0, 108, 4, 125, 4,
295 0, 108, 4, 125, 3, 0, 107, 192, 0, 109,
296 3, 0, 114, 144, 0, 115, 145, 0, 0, 58,
297 133, 140, 138, 36, 0, 116, 4, 0, 0, 141,
298 125, 4, 0, 141, 4, 0, 0, 4, 0, 142,
299 125, 4, 0, 4, 0, 143, 125, 4, 0, 0,
300 4, 0, 144, 125, 4, 0, 4, 0, 145, 4,
301 0, 145, 125, 4, 0, 0, 147, 148, 0, 148,
302 149, 0, 0, 174, 0, 153, 0, 220, 0, 183,
303 0, 184, 0, 186, 0, 188, 0, 155, 0, 230,
304 0, 126, 0, 67, 37, 4, 127, 0, 68, 37,
305 133, 127, 0, 89, 37, 133, 127, 0, 54, 37,
306 4, 127, 0, 54, 37, 4, 125, 4, 125, 4,
307 127, 0, 56, 37, 4, 127, 0, 55, 0, 57,
308 0, 87, 37, 152, 127, 0, 0, 88, 150, 37,
309 152, 127, 0, 69, 37, 133, 127, 0, 0, 58,
310 133, 151, 148, 36, 0, 82, 37, 189, 127, 0,
311 115, 37, 145, 127, 0, 4, 0, 152, 125, 4,
312 0, 152, 4, 0, 5, 0, 152, 125, 5, 0,
313 152, 5, 0, 46, 51, 154, 52, 0, 154, 196,
314 0, 154, 155, 0, 0, 70, 37, 4, 127, 0,
315 172, 171, 0, 0, 104, 156, 37, 192, 125, 4,
316 127, 0, 4, 0, 32, 0, 15, 0, 157, 0,
317 124, 37, 159, 127, 157, 0, 48, 37, 157, 127,
318 0, 48, 37, 124, 37, 159, 127, 157, 127, 0,
319 159, 157, 0, 157, 0, 160, 173, 158, 0, 158,
320 0, 4, 0, 128, 160, 129, 0, 158, 37, 160,
321 127, 0, 161, 0, 0, 123, 37, 163, 161, 127,
322 0, 172, 171, 0, 86, 0, 126, 0, 90, 0,
323 48, 37, 90, 127, 0, 162, 0, 167, 37, 190,
324 127, 0, 84, 37, 168, 127, 0, 165, 164, 0,
325 164, 0, 0, 165, 0, 41, 0, 42, 0, 43,
326 0, 44, 0, 45, 0, 190, 0, 10, 168, 0,
327 0, 6, 0, 7, 0, 8, 0, 9, 0, 11,
328 0, 12, 0, 13, 0, 14, 0, 126, 0, 125,
329 0, 4, 10, 190, 0, 4, 170, 190, 0, 94,
330 37, 4, 10, 190, 127, 0, 125, 0, 0, 59,
331 51, 176, 175, 52, 0, 175, 176, 0, 175, 125,
332 176, 0, 0, 0, 4, 177, 180, 16, 178, 173,
333 179, 0, 83, 10, 190, 0, 85, 10, 190, 0,
334 0, 37, 181, 127, 0, 182, 0, 181, 182, 0,
335 4, 0, 130, 4, 0, 77, 37, 133, 127, 0,
336 78, 37, 185, 127, 0, 78, 37, 127, 0, 185,
337 173, 133, 0, 133, 0, 79, 37, 187, 127, 0,
338 187, 173, 133, 0, 0, 80, 0, 81, 0, 0,
339 4, 189, 0, 4, 125, 189, 0, 0, 191, 192,
340 0, 31, 192, 0, 37, 192, 127, 0, 71, 37,
341 192, 127, 0, 130, 192, 0, 30, 192, 0, 131,
342 192, 0, 192, 32, 192, 0, 192, 33, 192, 0,
343 192, 34, 192, 0, 192, 30, 192, 0, 192, 31,
344 192, 0, 192, 28, 192, 0, 192, 29, 192, 0,
345 192, 22, 192, 0, 192, 23, 192, 0, 192, 26,
346 192, 0, 192, 27, 192, 0, 192, 24, 192, 0,
347 192, 25, 192, 0, 192, 21, 192, 0, 192, 20,
348 192, 0, 192, 19, 192, 0, 192, 15, 192, 16,
349 192, 0, 192, 18, 192, 0, 192, 17, 192, 0,
350 66, 37, 4, 127, 0, 3, 0, 53, 0, 72,
351 37, 4, 127, 0, 73, 37, 4, 127, 0, 74,
352 37, 4, 127, 0, 98, 37, 192, 127, 0, 38,
353 37, 192, 127, 0, 38, 37, 192, 125, 192, 127,
354 0, 49, 37, 192, 125, 192, 127, 0, 50, 37,
355 192, 127, 0, 39, 37, 192, 127, 0, 4, 0,
356 75, 37, 192, 125, 192, 127, 0, 76, 37, 192,
357 125, 192, 127, 0, 104, 37, 192, 125, 4, 127,
358 0, 92, 25, 4, 0, 0, 92, 37, 192, 127,
359 0, 0, 93, 37, 192, 127, 0, 0, 0, 0,
360 0, 0, 0, 4, 197, 211, 194, 195, 198, 51,
361 199, 166, 52, 200, 214, 193, 215, 169, 201, 173,
362 0, 0, 0, 0, 0, 0, 65, 202, 212, 213,
363 194, 195, 203, 51, 204, 216, 52, 205, 214, 193,
364 215, 169, 206, 173, 0, 0, 0, 88, 207, 211,
365 208, 51, 154, 52, 0, 61, 0, 62, 0, 63,
366 0, 64, 0, 65, 0, 37, 209, 127, 0, 0,
367 37, 127, 0, 192, 210, 16, 0, 210, 16, 0,
368 40, 37, 192, 127, 210, 16, 0, 40, 37, 192,
369 127, 39, 37, 192, 127, 210, 16, 0, 192, 16,
370 0, 16, 0, 0, 82, 0, 25, 4, 0, 0,
371 0, 215, 16, 4, 0, 0, 0, 0, 0, 216,
372 4, 217, 51, 166, 52, 218, 215, 169, 219, 173,
373 0, 47, 51, 221, 52, 0, 0, 221, 222, 0,
374 0, 0, 4, 223, 225, 226, 224, 126, 0, 192,
375 0, 0, 4, 227, 226, 0, 92, 37, 192, 127,
376 226, 0, 0, 37, 192, 127, 0, 0, 229, 232,
377 0, 0, 231, 121, 51, 232, 52, 0, 233, 0,
378 232, 233, 0, 51, 235, 52, 126, 0, 117, 51,
379 235, 52, 126, 0, 117, 51, 235, 52, 234, 126,
380 0, 117, 0, 234, 117, 0, 0, 236, 126, 0,
381 119, 16, 236, 126, 0, 120, 16, 236, 126, 0,
382 119, 16, 236, 126, 120, 16, 236, 126, 0, 118,
383 0, 236, 126, 118, 0, 0, 236, 126, 115, 4,
384 51, 237, 236, 239, 52, 0, 0, 115, 4, 51,
385 238, 236, 239, 52, 0, 0, 126, 0
388 #endif
390 #if YYDEBUG
391 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
392 static const short yyrline[] =
394 0, 161, 163, 164, 165, 169, 172, 172, 182, 182,
395 195, 197, 200, 202, 203, 206, 209, 210, 211, 213,
396 215, 217, 219, 221, 223, 225, 227, 229, 231, 233,
397 234, 235, 237, 239, 241, 243, 245, 246, 247, 247,
398 251, 253, 256, 258, 259, 262, 265, 268, 271, 275,
399 277, 278, 281, 284, 286, 290, 290, 301, 303, 308,
400 310, 311, 312, 313, 314, 315, 316, 317, 318, 319,
401 321, 323, 325, 328, 330, 332, 334, 336, 337, 337,
402 341, 343, 343, 347, 351, 354, 358, 361, 364, 367,
403 370, 375, 379, 381, 382, 385, 388, 389, 389, 396,
404 401, 405, 411, 418, 424, 430, 438, 447, 458, 467,
405 478, 487, 491, 497, 499, 499, 505, 507, 511, 512,
406 517, 522, 523, 528, 534, 536, 539, 541, 544, 547,
407 549, 551, 553, 557, 567, 570, 573, 576, 578, 580,
408 582, 584, 586, 588, 593, 593, 597, 602, 610, 617,
409 618, 621, 625, 627, 628, 632, 632, 639, 647, 656,
410 659, 662, 664, 667, 670, 674, 679, 681, 685, 688,
411 693, 695, 698, 701, 704, 708, 713, 722, 733, 733,
412 738, 741, 743, 745, 747, 749, 752, 754, 756, 758,
413 760, 762, 764, 766, 768, 770, 772, 774, 776, 778,
414 780, 782, 784, 786, 788, 790, 792, 794, 797, 799,
415 801, 803, 805, 807, 809, 811, 813, 815, 817, 819,
416 821, 826, 828, 831, 833, 836, 838, 841, 841, 841,
417 841, 841, 841, 860, 860, 860, 860, 860, 860, 878,
418 878, 878, 891, 893, 894, 895, 896, 899, 901, 902,
419 905, 907, 908, 913, 917, 919, 922, 925, 929, 932,
420 935, 940, 953, 955, 955, 955, 955, 971, 975, 977,
421 980, 980, 980, 990, 1034, 1039, 1051, 1058, 1063, 1071,
422 1071, 1085, 1085, 1095, 1097, 1100, 1105, 1109, 1115, 1120,
423 1126, 1131, 1135, 1139, 1143, 1149, 1154, 1158, 1158, 1168,
424 1168, 1180, 1182
426 #endif
429 #if (YYDEBUG) || defined YYERROR_VERBOSE
431 /* YYTNAME[TOKEN_NUM] -- String name of the token TOKEN_NUM. */
432 static const char *const yytname[] =
434 "$", "error", "$undefined.", "INT", "NAME", "LNAME", "PLUSEQ", "MINUSEQ",
435 "MULTEQ", "DIVEQ", "'='", "LSHIFTEQ", "RSHIFTEQ", "ANDEQ", "OREQ",
436 "'?'", "':'", "OROR", "ANDAND", "'|'", "'^'", "'&'", "EQ", "NE", "'<'",
437 "'>'", "LE", "GE", "LSHIFT", "RSHIFT", "'+'", "'-'", "'*'", "'/'",
438 "'%'", "UNARY", "END", "'('", "ALIGN_K", "BLOCK", "BIND", "QUAD",
439 "SQUAD", "LONG", "SHORT", "BYTE", "SECTIONS", "PHDRS", "SORT",
440 "DATA_SEGMENT_ALIGN", "DATA_SEGMENT_END", "'{'", "'}'",
441 "SIZEOF_HEADERS", "OUTPUT_FORMAT", "FORCE_COMMON_ALLOCATION",
442 "OUTPUT_ARCH", "INHIBIT_COMMON_ALLOCATION", "INCLUDE", "MEMORY",
443 "DEFSYMEND", "NOLOAD", "DSECT", "COPY", "INFO", "OVERLAY", "DEFINED",
444 "TARGET_K", "SEARCH_DIR", "MAP", "ENTRY", "NEXT", "SIZEOF", "ADDR",
445 "LOADADDR", "MAX_K", "MIN_K", "STARTUP", "HLL", "SYSLIB", "FLOAT",
446 "NOFLOAT", "NOCROSSREFS", "ORIGIN", "FILL", "LENGTH",
447 "CREATE_OBJECT_SYMBOLS", "INPUT", "GROUP", "OUTPUT", "CONSTRUCTORS",
448 "ALIGNMOD", "AT", "SUBALIGN", "PROVIDE", "CHIP", "LIST", "SECT",
449 "ABSOLUTE", "LOAD", "NEWLINE", "ENDWORD", "ORDER", "NAMEWORD",
450 "ASSERT_K", "FORMAT", "PUBLIC", "BASE", "ALIAS", "TRUNCATE", "REL",
451 "INPUT_SCRIPT", "INPUT_MRI_SCRIPT", "INPUT_DEFSYM", "CASE", "EXTERN",
452 "START", "VERS_TAG", "VERS_IDENTIFIER", "GLOBAL", "LOCAL", "VERSIONK",
453 "INPUT_VERSION_SCRIPT", "KEEP", "EXCLUDE_FILE", "','", "';'", "')'",
454 "'['", "']'", "'!'", "'~'", "file", "filename", "defsym_expr", "@1",
455 "mri_script_file", "@2", "mri_script_lines", "mri_script_command", "@3",
456 "ordernamelist", "mri_load_name_list", "mri_abs_name_list",
457 "casesymlist", "extern_name_list", "script_file", "@4", "ifile_list",
458 "ifile_p1", "@5", "@6", "input_list", "sections", "sec_or_group_p1",
459 "statement_anywhere", "@7", "wildcard_name", "wildcard_spec",
460 "exclude_name_list", "file_NAME_list", "input_section_spec_no_keep",
461 "input_section_spec", "@8", "statement", "statement_list",
462 "statement_list_opt", "length", "fill_exp", "fill_opt", "assign_op",
463 "end", "assignment", "opt_comma", "memory", "memory_spec_list",
464 "memory_spec", "@9", "origin_spec", "length_spec", "attributes_opt",
465 "attributes_list", "attributes_string", "startup", "high_level_library",
466 "high_level_library_NAME_list", "low_level_library",
467 "low_level_library_NAME_list", "floating_point_support",
468 "nocrossref_list", "mustbe_exp", "@10", "exp", "memspec_at_opt",
469 "opt_at", "opt_subalign", "section", "@11", "@12", "@13", "@14", "@15",
470 "@16", "@17", "@18", "@19", "@20", "@21", "@22", "type", "atype",
471 "opt_exp_with_type", "opt_exp_without_type", "opt_nocrossrefs",
472 "memspec_opt", "phdr_opt", "overlay_section", "@23", "@24", "@25",
473 "phdrs", "phdr_list", "phdr", "@26", "@27", "phdr_type",
474 "phdr_qualifiers", "phdr_val", "version_script_file", "@28", "version",
475 "@29", "vers_nodes", "vers_node", "verdep", "vers_tag", "vers_defns",
476 "@30", "@31", "opt_semicolon", 0
478 #endif
480 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
481 static const short yyr1[] =
483 0, 132, 132, 132, 132, 133, 135, 134, 137, 136,
484 138, 138, 139, 139, 139, 139, 139, 139, 139, 139,
485 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
486 139, 139, 139, 139, 139, 139, 139, 139, 140, 139,
487 139, 139, 141, 141, 141, 142, 142, 143, 143, 144,
488 144, 144, 145, 145, 145, 147, 146, 148, 148, 149,
489 149, 149, 149, 149, 149, 149, 149, 149, 149, 149,
490 149, 149, 149, 149, 149, 149, 149, 149, 150, 149,
491 149, 151, 149, 149, 149, 152, 152, 152, 152, 152,
492 152, 153, 154, 154, 154, 155, 155, 156, 155, 157,
493 157, 157, 158, 158, 158, 158, 159, 159, 160, 160,
494 161, 161, 161, 162, 163, 162, 164, 164, 164, 164,
495 164, 164, 164, 164, 165, 165, 166, 166, 167, 167,
496 167, 167, 167, 168, 169, 169, 170, 170, 170, 170,
497 170, 170, 170, 170, 171, 171, 172, 172, 172, 173,
498 173, 174, 175, 175, 175, 177, 176, 178, 179, 180,
499 180, 181, 181, 182, 182, 183, 184, 184, 185, 185,
500 186, 187, 187, 188, 188, 189, 189, 189, 191, 190,
501 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
502 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
503 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
504 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
505 192, 193, 193, 194, 194, 195, 195, 197, 198, 199,
506 200, 201, 196, 202, 203, 204, 205, 206, 196, 207,
507 208, 196, 209, 209, 209, 209, 209, 210, 210, 210,
508 211, 211, 211, 211, 212, 212, 213, 213, 214, 214,
509 215, 215, 216, 217, 218, 219, 216, 220, 221, 221,
510 223, 224, 222, 225, 226, 226, 226, 227, 227, 229,
511 228, 231, 230, 232, 232, 233, 233, 233, 234, 234,
512 235, 235, 235, 235, 235, 236, 236, 237, 236, 238,
513 236, 239, 239
516 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
517 static const short yyr2[] =
519 0, 2, 2, 2, 2, 1, 0, 4, 0, 2,
520 3, 0, 2, 4, 1, 1, 2, 1, 4, 4,
521 3, 2, 4, 3, 4, 4, 4, 4, 4, 2,
522 2, 2, 4, 4, 2, 2, 2, 2, 0, 5,
523 2, 0, 3, 2, 0, 1, 3, 1, 3, 0,
524 1, 3, 1, 2, 3, 0, 2, 2, 0, 1,
525 1, 1, 1, 1, 1, 1, 1, 1, 1, 4,
526 4, 4, 4, 8, 4, 1, 1, 4, 0, 5,
527 4, 0, 5, 4, 4, 1, 3, 2, 1, 3,
528 2, 4, 2, 2, 0, 4, 2, 0, 7, 1,
529 1, 1, 1, 5, 4, 8, 2, 1, 3, 1,
530 1, 3, 4, 1, 0, 5, 2, 1, 1, 1,
531 4, 1, 4, 4, 2, 1, 0, 1, 1, 1,
532 1, 1, 1, 1, 2, 0, 1, 1, 1, 1,
533 1, 1, 1, 1, 1, 1, 3, 3, 6, 1,
534 0, 5, 2, 3, 0, 0, 7, 3, 3, 0,
535 3, 1, 2, 1, 2, 4, 4, 3, 3, 1,
536 4, 3, 0, 1, 1, 0, 2, 3, 0, 2,
537 2, 3, 4, 2, 2, 2, 3, 3, 3, 3,
538 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
539 3, 3, 5, 3, 3, 4, 1, 1, 4, 4,
540 4, 4, 4, 6, 6, 4, 4, 1, 6, 6,
541 6, 3, 0, 4, 0, 4, 0, 0, 0, 0,
542 0, 0, 17, 0, 0, 0, 0, 0, 18, 0,
543 0, 7, 1, 1, 1, 1, 1, 3, 0, 2,
544 3, 2, 6, 10, 2, 1, 0, 1, 2, 0,
545 0, 3, 0, 0, 0, 0, 11, 4, 0, 2,
546 0, 0, 6, 1, 0, 3, 5, 0, 3, 0,
547 2, 0, 5, 1, 2, 4, 5, 6, 1, 2,
548 0, 2, 4, 4, 8, 1, 3, 0, 9, 0,
549 7, 0, 1
552 /* YYDEFACT[S] -- default rule to reduce with in state S when YYTABLE
553 doesn't specify something else to do. Zero means the default is an
554 error. */
555 static const short yydefact[] =
557 0, 55, 8, 6, 279, 1, 58, 2, 11, 4,
558 0, 3, 0, 56, 9, 0, 290, 0, 280, 283,
559 0, 0, 0, 0, 75, 0, 76, 0, 0, 0,
560 0, 0, 0, 0, 0, 0, 173, 174, 0, 0,
561 78, 0, 0, 97, 0, 68, 57, 60, 66, 0,
562 59, 62, 63, 64, 65, 61, 67, 0, 14, 0,
563 0, 0, 0, 15, 0, 0, 0, 17, 44, 0,
564 0, 0, 0, 0, 0, 49, 0, 0, 0, 0,
565 0, 295, 0, 0, 0, 0, 290, 284, 136, 137,
566 138, 139, 178, 140, 141, 142, 143, 178, 94, 268,
567 0, 0, 5, 81, 0, 0, 0, 0, 0, 0,
568 0, 172, 175, 0, 0, 0, 0, 0, 0, 145,
569 144, 96, 0, 0, 38, 0, 206, 217, 0, 0,
570 0, 0, 0, 0, 0, 207, 0, 0, 0, 0,
571 0, 0, 0, 0, 0, 0, 0, 12, 0, 47,
572 29, 45, 30, 16, 31, 21, 0, 34, 0, 35,
573 50, 36, 52, 37, 40, 10, 7, 0, 0, 0,
574 0, 291, 0, 146, 0, 147, 0, 0, 0, 0,
575 58, 155, 154, 0, 0, 0, 0, 0, 167, 169,
576 150, 150, 175, 0, 85, 88, 0, 0, 0, 0,
577 0, 0, 0, 0, 0, 11, 0, 0, 184, 180,
578 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
579 0, 0, 0, 0, 183, 185, 0, 0, 0, 0,
580 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
581 0, 0, 0, 0, 0, 0, 0, 0, 23, 0,
582 0, 43, 0, 0, 0, 20, 0, 0, 53, 0,
583 299, 0, 0, 285, 0, 296, 0, 179, 227, 91,
584 233, 239, 93, 92, 270, 267, 269, 0, 72, 74,
585 281, 159, 0, 69, 70, 80, 95, 165, 149, 166,
586 0, 170, 0, 175, 176, 83, 87, 90, 0, 77,
587 0, 71, 178, 0, 84, 0, 25, 26, 41, 27,
588 28, 181, 0, 0, 0, 0, 0, 0, 0, 0,
589 0, 0, 0, 0, 0, 0, 204, 203, 201, 200,
590 199, 193, 194, 197, 198, 195, 196, 191, 192, 189,
591 190, 186, 187, 188, 13, 24, 22, 48, 46, 42,
592 18, 19, 33, 32, 51, 54, 0, 292, 293, 0,
593 288, 286, 0, 248, 0, 248, 0, 0, 82, 0,
594 0, 151, 0, 152, 168, 171, 177, 86, 89, 79,
595 0, 0, 282, 39, 0, 212, 216, 0, 215, 205,
596 182, 208, 209, 210, 0, 0, 211, 0, 0, 301,
597 0, 297, 289, 287, 0, 0, 248, 0, 224, 255,
598 0, 256, 240, 273, 274, 0, 163, 0, 0, 161,
599 0, 153, 148, 0, 0, 0, 0, 0, 0, 202,
600 302, 0, 0, 0, 242, 243, 244, 245, 246, 249,
601 0, 0, 0, 0, 251, 0, 226, 254, 257, 224,
602 0, 277, 0, 271, 0, 164, 160, 162, 0, 150,
603 98, 213, 214, 218, 219, 220, 300, 0, 301, 247,
604 0, 250, 0, 0, 228, 226, 94, 0, 274, 0,
605 0, 73, 178, 0, 294, 0, 248, 0, 0, 0,
606 234, 0, 0, 275, 0, 272, 157, 0, 156, 298,
607 0, 0, 223, 0, 229, 0, 241, 278, 274, 178,
608 0, 252, 225, 126, 235, 276, 158, 0, 110, 101,
609 100, 128, 129, 130, 131, 132, 0, 0, 117, 119,
610 0, 0, 118, 0, 102, 0, 113, 121, 125, 127,
611 0, 0, 0, 262, 248, 0, 178, 114, 0, 99,
612 0, 109, 150, 0, 124, 230, 178, 116, 0, 0,
613 0, 0, 0, 0, 133, 0, 107, 0, 0, 111,
614 0, 150, 259, 0, 263, 236, 253, 120, 0, 104,
615 123, 99, 0, 0, 106, 108, 112, 0, 222, 122,
616 0, 259, 0, 115, 103, 258, 0, 260, 126, 222,
617 0, 0, 135, 0, 260, 0, 221, 178, 0, 231,
618 264, 135, 105, 134, 261, 150, 260, 237, 232, 135,
619 150, 265, 238, 150, 266, 0, 0, 0
622 static const short yydefgoto[] =
624 625, 103, 9, 10, 7, 8, 14, 78, 205, 153,
625 152, 150, 161, 163, 5, 6, 13, 46, 114, 180,
626 196, 47, 176, 48, 117, 534, 535, 567, 552, 536,
627 537, 565, 538, 539, 540, 541, 563, 609, 97, 121,
628 49, 570, 50, 282, 182, 281, 459, 498, 370, 418,
629 419, 51, 52, 190, 53, 191, 54, 193, 564, 174,
630 210, 597, 446, 474, 273, 363, 489, 513, 572, 615,
631 364, 505, 543, 591, 620, 365, 450, 440, 407, 408,
632 411, 449, 588, 602, 558, 590, 616, 623, 55, 177,
633 276, 366, 480, 414, 453, 478, 11, 12, 56, 57,
634 18, 19, 362, 84, 85, 433, 356, 431
637 static const short yypact[] =
639 114,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
640 48,-32768, -20, 585, 699, 50, 113, 43, -20,-32768,
641 467, 52, 106, 158,-32768, 162,-32768, 204, 163, 180,
642 184, 193, 218, 231, 245, 247,-32768,-32768, 250, 251,
643 -32768, 253, 254,-32768, 255,-32768,-32768,-32768,-32768, 145,
644 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 173,-32768, 291,
645 204, 293, 520,-32768, 294, 295, 296,-32768,-32768, 302,
646 304, 305, 520, 315, 319, 320, 321, 323, 228, 520,
647 325,-32768, 314, 316, 279, 209, 113,-32768,-32768,-32768,
648 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
649 332, 334,-32768,-32768, 335, 338, 204, 204, 339, 204,
650 17,-32768, 340, 271, 308, 204, 342, 313, 321,-32768,
651 -32768,-32768, 300, 5,-32768, 23,-32768,-32768, 520, 520,
652 520, 317, 324, 327, 328,-32768, 329, 330, 333, 337,
653 341, 350, 351, 352, 355, 520, 520, 1180, 33,-32768,
654 227,-32768, 232, 16,-32768,-32768, 310, 1398, 233,-32768,
655 -32768, 237,-32768, 31,-32768,-32768, 1398, 318, -71, -71,
656 230, 10, 301,-32768, 520,-32768, 28, 26, -4, 244,
657 -32768,-32768,-32768, 248, 252, 266, 267, 268,-32768,-32768,
658 2, 93, 65, 269,-32768,-32768, 22, 271, 282, 362,
659 520, 73, -20, 520, 520,-32768, 520, 520,-32768,-32768,
660 847, 520, 520, 520, 520, 373, 520, 406, 408, 409,
661 520, 520, 520, 520,-32768,-32768, 520, 520, 520, 520,
662 520, 520, 520, 520, 520, 520, 520, 520, 520, 520,
663 520, 520, 520, 520, 520, 520, 520, 520, 1398, 411,
664 417,-32768, 418, 520, 520, 1398, 275, 419,-32768, 420,
665 -32768, 299, 306,-32768, 422,-32768, -88, 1398, 467,-32768,
666 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 426,-32768,-32768,
667 666, 394, 62,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
668 204,-32768, 204, 340,-32768,-32768,-32768,-32768, 276,-32768,
669 69,-32768,-32768, 1200,-32768, 7, 1398, 1398, 725, 1398,
670 1398,-32768, 827, 867, 1220, 887, 307, 907, 311, 312,
671 343, 1240, 1289, 938, 1309, 1352, 582, 1269, 1415, 1429,
672 1442, 1029, 1029, 429, 429, 429, 429, 210, 210, 220,
673 220,-32768,-32768,-32768, 1398, 1398, 1398,-32768,-32768,-32768,
674 1398, 1398,-32768,-32768,-32768,-32768, -71, -39, 10, 386,
675 -32768,-32768, -78, 416, 468, 416, 520, 326,-32768, 4,
676 427,-32768, 335,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
677 356, 438,-32768,-32768, 520,-32768,-32768, 520,-32768,-32768,
678 -32768,-32768,-32768,-32768, 520, 520,-32768, 440, 520, 322,
679 434,-32768,-32768,-32768, 185, 415, 1329, 451, 353,-32768,
680 1372, 403,-32768, 1398, 19, 464,-32768, 482, 8,-32768,
681 410,-32768,-32768, 367, 958, 978, 998, 1018, 368, 1398,
682 10, 444, -71, -71,-32768,-32768,-32768,-32768,-32768,-32768,
683 370, 520, 142, 484,-32768, 465, 423,-32768,-32768, 353,
684 450, 466, 471,-32768, 377,-32768,-32768,-32768, 499, 385,
685 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 387, 322,-32768,
686 1049,-32768, 520, 474,-32768, 423,-32768, 520, 19, 520,
687 389,-32768,-32768, 437, 10, 460, 225, 1069, 520, 475,
688 -32768, 303, 1089,-32768, 1109,-32768,-32768, 509,-32768,-32768,
689 488, 511,-32768, 1129,-32768, 477,-32768,-32768, 19,-32768,
690 520,-32768,-32768, 533,-32768,-32768,-32768, 1160, 392,-32768,
691 -32768,-32768,-32768,-32768,-32768,-32768, 492, 493,-32768,-32768,
692 494, 495,-32768, 197,-32768, 496,-32768,-32768,-32768, 533,
693 483, 501, 145,-32768, 508, 187,-32768,-32768, 86,-32768,
694 512,-32768, -64, 197,-32768,-32768,-32768,-32768, 36, 536,
695 428, 516, 433, 435,-32768, 85,-32768, 9, 87,-32768,
696 197, 140, 529, 436,-32768,-32768,-32768,-32768, 86,-32768,
697 -32768, 441, 452, 86,-32768,-32768,-32768, 532, 469,-32768,
698 505, 529, 13,-32768,-32768,-32768, 539,-32768, 533, 469,
699 86, 563, 110, 519,-32768, 453,-32768,-32768, 578,-32768,
700 -32768, 110,-32768,-32768,-32768, 385,-32768,-32768,-32768, 110,
701 385,-32768,-32768, 385,-32768, 583, 584,-32768
704 static const short yypgoto[] =
706 -32768, -53,-32768,-32768,-32768,-32768, 380,-32768,-32768,-32768,
707 -32768,-32768,-32768, 470,-32768,-32768, 407,-32768,-32768,-32768,
708 393,-32768, 121, -174,-32768, -282, -478, 42, 68, 57,
709 -32768,-32768, 89,-32768, 27,-32768, 29, -569,-32768, 84,
710 -488, -187,-32768,-32768, -260,-32768,-32768,-32768,-32768,-32768,
711 211,-32768,-32768,-32768,-32768,-32768,-32768, -178, -92,-32768,
712 -61, 34, 181, 159,-32768,-32768,-32768,-32768,-32768,-32768,
713 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -390, 270,
714 -32768,-32768, 46, -570,-32768,-32768,-32768,-32768,-32768,-32768,
715 -32768,-32768,-32768,-32768, -459,-32768,-32768,-32768,-32768,-32768,
716 443, -12,-32768, 552, -159,-32768,-32768, 178
720 #define YYLAST 1476
723 static const short yytable[] =
725 173, 147, 272, 290, 292, 175, 87, 124, 416, 261,
726 262, 157, 416, 549, 294, 203, 443, 549, 166, 493,
727 251, 102, 373, 451, 519, 542, 296, 297, 519, 360,
728 274, 16, 268, 206, 611, 258, 126, 127, 361, 402,
729 574, 520, 617, 246, 80, 520, 619, 81, 403, 515,
730 621, 542, 15, 184, 185, 551, 187, 189, 16, 382,
731 79, 288, 198, 128, 129, 569, 181, 208, 209, 192,
732 130, 131, 132, 296, 297, 551, 264, 258, 275, 265,
733 269, 400, 133, 134, 224, 225, 135, 248, 575, 581,
734 549, 549, 585, 270, 86, 255, 501, 17, 32, 136,
735 519, 519, 519, 98, 137, 138, 139, 140, 141, 142,
736 542, 452, 421, 267, 371, 376, 271, 520, 520, 520,
737 607, 277, 42, 278, 17, 264, 608, 288, 265, 289,
738 204, 143, 43, 550, 417, 456, 583, 144, 417, 303,
739 600, 252, 306, 307, 188, 309, 310, 298, 207, 299,
740 312, 313, 314, 315, 559, 317, 259, 99, 247, 321,
741 322, 323, 324, 145, 146, 325, 326, 327, 328, 329,
742 330, 331, 332, 333, 334, 335, 336, 337, 338, 339,
743 340, 341, 342, 343, 344, 345, 346, 372, 126, 127,
744 293, 549, 350, 351, 298, 100, 379, 399, 259, 101,
745 304, 549, 519, 434, 435, 436, 437, 438, 102, 531,
746 380, 561, 519, 533, 104, 128, 129, 105, 288, 520,
747 291, 106, 130, 131, 132, 1, 2, 3, 80, 520,
748 107, 81, 82, 83, 133, 134, 4, 374, 135, 375,
749 240, 241, 242, 243, 244, 550, 434, 435, 436, 437,
750 438, 136, 242, 243, 244, 108, 137, 138, 139, 140,
751 141, 142, 442, 562, 500, 288, 566, 586, 109, 439,
752 119, 120, 483, 467, 468, 194, 195, 560, 352, 353,
753 377, 378, 110, 143, 111, 584, 562, 112, 113, 144,
754 115, 116, 118, 87, 122, 123, 566, 125, 148, 149,
755 151, 594, 406, 410, 406, 413, 154, 268, 155, 156,
756 584, 561, 439, 126, 127, 145, 146, 272, 605, 158,
757 253, 531, 159, 424, 160, 162, 425, 164, 165, 167,
758 168, 170, 169, 426, 427, 171, 178, 429, 179, 181,
759 128, 129, 183, 186, 192, 197, 199, 130, 131, 132,
760 200, 202, 249, 266, 211, 506, 263, 250, 256, 133,
761 134, 212, 257, 135, 213, 214, 215, 216, 270, 260,
762 217, 279, 302, 32, 218, 283, 136, 316, 219, 284,
763 470, 137, 138, 139, 140, 141, 142, 220, 221, 222,
764 496, 271, 223, 285, 286, 287, 295, 42, 88, 89,
765 90, 91, 92, 93, 94, 95, 96, 43, 143, 301,
766 318, 487, 319, 320, 144, 347, 492, 516, 494, 126,
767 127, 348, 349, 354, 355, 357, 359, 503, 618, -99,
768 367, 369, 358, 622, 389, 254, 624, 401, 391, 392,
769 145, 146, 423, 420, 428, 445, 128, 129, 430, 517,
770 432, 415, 441, 404, 131, 132, 405, 238, 239, 240,
771 241, 242, 243, 244, 573, 133, 134, 444, 454, 135,
772 393, 126, 127, 88, 89, 90, 91, 92, 93, 94,
773 95, 96, 136, 422, 409, 448, 455, 137, 138, 139,
774 140, 141, 142, 458, 460, 465, 466, 469, 128, 129,
775 471, 476, 472, 477, 481, 130, 131, 132, 479, 482,
776 288, 488, 499, 484, 143, 495, 473, 133, 134, 509,
777 144, 135, 497, 126, 127, 510, 504, 511, 514, 545,
778 546, 547, 548, 553, 136, 555, 595, 518, 556, 137,
779 138, 139, 140, 141, 142, 442, 145, 146, 519, 568,
780 128, 129, 576, 578, 587, 577, 598, 130, 131, 132,
781 579, 596, 580, 589, 601, 520, 143, 606, -110, 133,
782 134, 610, 144, 135, 521, 522, 523, 524, 525, 593,
783 612, 526, 614, 626, 627, 308, 136, 280, 201, 20,
784 300, 137, 138, 139, 140, 141, 142, 491, 145, 146,
785 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
786 238, 239, 240, 241, 242, 243, 244, 527, 143, 528,
787 592, 571, 582, 529, 144, 603, 557, 42, 554, 457,
788 475, 21, 22, 604, 490, 412, 613, 599, 172, 23,
789 24, 25, 26, 27, 28, 305, 485, 0, 0, 0,
790 145, 146, 29, 30, 31, 32, 530, 531, 0, 532,
791 0, 533, 33, 34, 35, 36, 37, 38, 0, 0,
792 20, 0, 39, 40, 41, 0, 0, 0, 0, 42,
793 0, 0, 0, 0, 0, 0, 0, 0, 0, 43,
794 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
795 44, 0, 368, 58, 0, 0, -281, 0, 0, 0,
796 0, 45, 21, 22, 0, 0, 0, 0, 0, 0,
797 23, 24, 25, 26, 27, 28, 0, 0, 0, 58,
798 0, 0, 0, 29, 30, 31, 32, 59, 0, 0,
799 0, 0, 0, 33, 34, 35, 36, 37, 38, 0,
800 0, 0, 0, 39, 40, 41, 0, 60, 0, 0,
801 42, 383, 0, 59, 0, 0, 0, 0, 0, 0,
802 43, 0, 0, 0, 0, 0, 0, 0, 0, 0,
803 0, 44, 0, 60, 0, 0, 0, 0, 0, 0,
804 61, 0, 45, 0, 62, 63, 64, 65, 66, -41,
805 67, 68, 69, 0, 70, 71, 72, 73, 74, 0,
806 0, 0, 0, 75, 76, 77, 61, 0, 0, 0,
807 62, 63, 64, 65, 66, 0, 67, 68, 69, 0,
808 70, 71, 72, 73, 74, 0, 0, 0, 0, 75,
809 76, 77, 226, 0, 227, 228, 229, 230, 231, 232,
810 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
811 243, 244, 226, 0, 227, 228, 229, 230, 231, 232,
812 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
813 243, 244, 226, 0, 227, 228, 229, 230, 231, 232,
814 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
815 243, 244, 226, 0, 227, 228, 229, 230, 231, 232,
816 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
817 243, 244, 226, 0, 227, 228, 229, 230, 231, 232,
818 233, 234, 235, 236, 237, 238, 239, 240, 241, 242,
819 243, 244, 0, 0, 0, 0, 0, 0, 0, 0,
820 0, 0, 384, 226, 385, 227, 228, 229, 230, 231,
821 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
822 242, 243, 244, 226, 311, 227, 228, 229, 230, 231,
823 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
824 242, 243, 244, 226, 386, 227, 228, 229, 230, 231,
825 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
826 242, 243, 244, 226, 388, 227, 228, 229, 230, 231,
827 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
828 242, 243, 244, 226, 390, 227, 228, 229, 230, 231,
829 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
830 242, 243, 244, 234, 235, 236, 237, 238, 239, 240,
831 241, 242, 243, 244, 226, 396, 227, 228, 229, 230,
832 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
833 241, 242, 243, 244, 226, 461, 227, 228, 229, 230,
834 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
835 241, 242, 243, 244, 226, 462, 227, 228, 229, 230,
836 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
837 241, 242, 243, 244, 226, 463, 227, 228, 229, 230,
838 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
839 241, 242, 243, 244, 226, 464, 227, 228, 229, 230,
840 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
841 241, 242, 243, 244, 0, 0, 0, 0, 0, 0,
842 0, 0, 0, 0, 0, 226, 486, 227, 228, 229,
843 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
844 240, 241, 242, 243, 244, 226, 502, 227, 228, 229,
845 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
846 240, 241, 242, 243, 244, 226, 507, 227, 228, 229,
847 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
848 240, 241, 242, 243, 244, 226, 508, 227, 228, 229,
849 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
850 240, 241, 242, 243, 244, 226, 512, 227, 228, 229,
851 230, 231, 232, 233, 234, 235, 236, 237, 238, 239,
852 240, 241, 242, 243, 244, 0, 0, 0, 0, 0,
853 0, 0, 0, 0, 0, 0, 0, 544, 229, 230,
854 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
855 241, 242, 243, 244, 226, 245, 227, 228, 229, 230,
856 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
857 241, 242, 243, 244, 226, 381, 227, 228, 229, 230,
858 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
859 241, 242, 243, 244, 226, 387, 227, 228, 229, 230,
860 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
861 241, 242, 243, 244, 0, 394, 442, 226, 398, 227,
862 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
863 238, 239, 240, 241, 242, 243, 244, 226, 447, 227,
864 228, 229, 230, 231, 232, 233, 234, 235, 236, 237,
865 238, 239, 240, 241, 242, 243, 244, 0, 0, 0,
866 0, 0, 0, 226, 395, 227, 228, 229, 230, 231,
867 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
868 242, 243, 244, 0, 397, 230, 231, 232, 233, 234,
869 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
870 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
871 241, 242, 243, 244, 232, 233, 234, 235, 236, 237,
872 238, 239, 240, 241, 242, 243, 244
875 static const short yycheck[] =
877 92, 62, 176, 190, 191, 97, 18, 60, 4, 168,
878 169, 72, 4, 4, 192, 10, 406, 4, 79, 478,
879 4, 4, 282, 4, 15, 513, 4, 5, 15, 117,
880 4, 51, 4, 10, 604, 4, 3, 4, 126, 117,
881 4, 32, 611, 10, 115, 32, 616, 118, 126, 508,
882 619, 539, 4, 106, 107, 533, 109, 110, 51, 52,
883 10, 125, 115, 30, 31, 129, 4, 128, 129, 4,
884 37, 38, 39, 4, 5, 553, 115, 4, 52, 118,
885 52, 120, 49, 50, 145, 146, 53, 148, 52, 4,
886 4, 4, 570, 65, 51, 156, 486, 117, 70, 66,
887 15, 15, 15, 51, 71, 72, 73, 74, 75, 76,
888 598, 92, 372, 174, 52, 293, 88, 32, 32, 32,
889 10, 125, 94, 127, 117, 115, 16, 125, 118, 127,
890 125, 98, 104, 48, 130, 127, 127, 104, 130, 200,
891 127, 125, 203, 204, 127, 206, 207, 125, 125, 127,
892 211, 212, 213, 214, 544, 216, 125, 51, 125, 220,
893 221, 222, 223, 130, 131, 226, 227, 228, 229, 230,
894 231, 232, 233, 234, 235, 236, 237, 238, 239, 240,
895 241, 242, 243, 244, 245, 246, 247, 125, 3, 4,
896 125, 4, 253, 254, 125, 37, 127, 356, 125, 37,
897 127, 4, 15, 61, 62, 63, 64, 65, 4, 124,
898 302, 124, 15, 128, 51, 30, 31, 37, 125, 32,
899 127, 37, 37, 38, 39, 111, 112, 113, 115, 32,
900 37, 118, 119, 120, 49, 50, 122, 290, 53, 292,
901 30, 31, 32, 33, 34, 48, 61, 62, 63, 64,
902 65, 66, 32, 33, 34, 37, 71, 72, 73, 74,
903 75, 76, 37, 545, 39, 125, 548, 127, 37, 127,
904 125, 126, 459, 432, 433, 4, 5, 90, 3, 4,
905 4, 5, 37, 98, 37, 567, 568, 37, 37, 104,
906 37, 37, 37, 305, 121, 4, 578, 4, 4, 4,
907 4, 583, 363, 364, 365, 366, 4, 4, 4, 4,
908 592, 124, 127, 3, 4, 130, 131, 491, 600, 4,
909 10, 124, 3, 384, 4, 4, 387, 4, 100, 4,
910 16, 52, 16, 394, 395, 126, 4, 398, 4, 4,
911 30, 31, 4, 4, 4, 37, 4, 37, 38, 39,
912 37, 51, 125, 52, 37, 52, 126, 125, 125, 49,
913 50, 37, 125, 53, 37, 37, 37, 37, 65, 51,
914 37, 127, 10, 70, 37, 127, 66, 4, 37, 127,
915 441, 71, 72, 73, 74, 75, 76, 37, 37, 37,
916 482, 88, 37, 127, 127, 127, 127, 94, 6, 7,
917 8, 9, 10, 11, 12, 13, 14, 104, 98, 127,
918 4, 472, 4, 4, 104, 4, 477, 509, 479, 3,
919 4, 4, 4, 4, 4, 126, 4, 488, 615, 37,
920 4, 37, 126, 620, 127, 125, 623, 51, 127, 127,
921 130, 131, 4, 16, 4, 92, 30, 31, 126, 510,
922 16, 125, 37, 37, 38, 39, 40, 28, 29, 30,
923 31, 32, 33, 34, 556, 49, 50, 16, 4, 53,
924 127, 3, 4, 6, 7, 8, 9, 10, 11, 12,
925 13, 14, 66, 127, 16, 82, 4, 71, 72, 73,
926 74, 75, 76, 83, 127, 127, 52, 127, 30, 31,
927 16, 51, 37, 37, 127, 37, 38, 39, 37, 10,
928 125, 37, 52, 126, 98, 126, 93, 49, 50, 10,
929 104, 53, 85, 3, 4, 37, 51, 16, 51, 37,
930 37, 37, 37, 37, 66, 52, 4, 4, 37, 71,
931 72, 73, 74, 75, 76, 37, 130, 131, 15, 37,
932 30, 31, 16, 37, 25, 127, 51, 37, 38, 39,
933 127, 92, 127, 127, 25, 32, 98, 4, 127, 49,
934 50, 52, 104, 53, 41, 42, 43, 44, 45, 127,
935 127, 48, 4, 0, 0, 205, 66, 180, 118, 4,
936 197, 71, 72, 73, 74, 75, 76, 476, 130, 131,
937 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
938 28, 29, 30, 31, 32, 33, 34, 84, 98, 86,
939 578, 553, 565, 90, 104, 598, 542, 94, 539, 418,
940 449, 46, 47, 599, 475, 365, 607, 591, 86, 54,
941 55, 56, 57, 58, 59, 202, 468, -1, -1, -1,
942 130, 131, 67, 68, 69, 70, 123, 124, -1, 126,
943 -1, 128, 77, 78, 79, 80, 81, 82, -1, -1,
944 4, -1, 87, 88, 89, -1, -1, -1, -1, 94,
945 -1, -1, -1, -1, -1, -1, -1, -1, -1, 104,
946 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
947 115, -1, 36, 4, -1, -1, 121, -1, -1, -1,
948 -1, 126, 46, 47, -1, -1, -1, -1, -1, -1,
949 54, 55, 56, 57, 58, 59, -1, -1, -1, 4,
950 -1, -1, -1, 67, 68, 69, 70, 38, -1, -1,
951 -1, -1, -1, 77, 78, 79, 80, 81, 82, -1,
952 -1, -1, -1, 87, 88, 89, -1, 58, -1, -1,
953 94, 36, -1, 38, -1, -1, -1, -1, -1, -1,
954 104, -1, -1, -1, -1, -1, -1, -1, -1, -1,
955 -1, 115, -1, 58, -1, -1, -1, -1, -1, -1,
956 91, -1, 126, -1, 95, 96, 97, 98, 99, 100,
957 101, 102, 103, -1, 105, 106, 107, 108, 109, -1,
958 -1, -1, -1, 114, 115, 116, 91, -1, -1, -1,
959 95, 96, 97, 98, 99, -1, 101, 102, 103, -1,
960 105, 106, 107, 108, 109, -1, -1, -1, -1, 114,
961 115, 116, 15, -1, 17, 18, 19, 20, 21, 22,
962 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
963 33, 34, 15, -1, 17, 18, 19, 20, 21, 22,
964 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
965 33, 34, 15, -1, 17, 18, 19, 20, 21, 22,
966 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
967 33, 34, 15, -1, 17, 18, 19, 20, 21, 22,
968 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
969 33, 34, 15, -1, 17, 18, 19, 20, 21, 22,
970 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
971 33, 34, -1, -1, -1, -1, -1, -1, -1, -1,
972 -1, -1, 125, 15, 127, 17, 18, 19, 20, 21,
973 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
974 32, 33, 34, 15, 127, 17, 18, 19, 20, 21,
975 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
976 32, 33, 34, 15, 127, 17, 18, 19, 20, 21,
977 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
978 32, 33, 34, 15, 127, 17, 18, 19, 20, 21,
979 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
980 32, 33, 34, 15, 127, 17, 18, 19, 20, 21,
981 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
982 32, 33, 34, 24, 25, 26, 27, 28, 29, 30,
983 31, 32, 33, 34, 15, 127, 17, 18, 19, 20,
984 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
985 31, 32, 33, 34, 15, 127, 17, 18, 19, 20,
986 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
987 31, 32, 33, 34, 15, 127, 17, 18, 19, 20,
988 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
989 31, 32, 33, 34, 15, 127, 17, 18, 19, 20,
990 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
991 31, 32, 33, 34, 15, 127, 17, 18, 19, 20,
992 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
993 31, 32, 33, 34, -1, -1, -1, -1, -1, -1,
994 -1, -1, -1, -1, -1, 15, 127, 17, 18, 19,
995 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
996 30, 31, 32, 33, 34, 15, 127, 17, 18, 19,
997 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
998 30, 31, 32, 33, 34, 15, 127, 17, 18, 19,
999 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
1000 30, 31, 32, 33, 34, 15, 127, 17, 18, 19,
1001 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
1002 30, 31, 32, 33, 34, 15, 127, 17, 18, 19,
1003 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
1004 30, 31, 32, 33, 34, -1, -1, -1, -1, -1,
1005 -1, -1, -1, -1, -1, -1, -1, 127, 19, 20,
1006 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
1007 31, 32, 33, 34, 15, 125, 17, 18, 19, 20,
1008 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
1009 31, 32, 33, 34, 15, 125, 17, 18, 19, 20,
1010 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
1011 31, 32, 33, 34, 15, 125, 17, 18, 19, 20,
1012 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
1013 31, 32, 33, 34, -1, 125, 37, 15, 16, 17,
1014 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
1015 28, 29, 30, 31, 32, 33, 34, 15, 16, 17,
1016 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
1017 28, 29, 30, 31, 32, 33, 34, -1, -1, -1,
1018 -1, -1, -1, 15, 125, 17, 18, 19, 20, 21,
1019 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
1020 32, 33, 34, -1, 125, 20, 21, 22, 23, 24,
1021 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
1022 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
1023 31, 32, 33, 34, 22, 23, 24, 25, 26, 27,
1024 28, 29, 30, 31, 32, 33, 34
1026 /* -*-C-*- Note some compilers choke on comments on `#line' lines. */
1027 #line 3 "/usr/share/bison-1.35/bison.simple"
1029 /* Skeleton output parser for bison,
1031 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002 Free Software
1032 Foundation, Inc.
1034 This program is free software; you can redistribute it and/or modify
1035 it under the terms of the GNU General Public License as published by
1036 the Free Software Foundation; either version 2, or (at your option)
1037 any later version.
1039 This program is distributed in the hope that it will be useful,
1040 but WITHOUT ANY WARRANTY; without even the implied warranty of
1041 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1042 GNU General Public License for more details.
1044 You should have received a copy of the GNU General Public License
1045 along with this program; if not, write to the Free Software
1046 Foundation, Inc., 59 Temple Place - Suite 330,
1047 Boston, MA 02111-1307, USA. */
1049 /* As a special exception, when this file is copied by Bison into a
1050 Bison output file, you may use that output file without restriction.
1051 This special exception was added by the Free Software Foundation
1052 in version 1.24 of Bison. */
1054 /* This is the parser code that is written into each bison parser when
1055 the %semantic_parser declaration is not specified in the grammar.
1056 It was written by Richard Stallman by simplifying the hairy parser
1057 used when %semantic_parser is specified. */
1059 /* All symbols defined below should begin with yy or YY, to avoid
1060 infringing on user name space. This should be done even for local
1061 variables, as they might otherwise be expanded by user macros.
1062 There are some unavoidable exceptions within include files to
1063 define necessary library symbols; they are noted "INFRINGES ON
1064 USER NAME SPACE" below. */
1066 #if ! defined (yyoverflow) || defined (YYERROR_VERBOSE)
1068 /* The parser invokes alloca or malloc; define the necessary symbols. */
1070 # if YYSTACK_USE_ALLOCA
1071 # define YYSTACK_ALLOC alloca
1072 # else
1073 # ifndef YYSTACK_USE_ALLOCA
1074 # if defined (alloca) || defined (_ALLOCA_H)
1075 # define YYSTACK_ALLOC alloca
1076 # else
1077 # ifdef __GNUC__
1078 # define YYSTACK_ALLOC __builtin_alloca
1079 # endif
1080 # endif
1081 # endif
1082 # endif
1084 # ifdef YYSTACK_ALLOC
1085 /* Pacify GCC's `empty if-body' warning. */
1086 # define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
1087 # else
1088 # if defined (__STDC__) || defined (__cplusplus)
1089 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
1090 # define YYSIZE_T size_t
1091 # endif
1092 # define YYSTACK_ALLOC malloc
1093 # define YYSTACK_FREE free
1094 # endif
1095 #endif /* ! defined (yyoverflow) || defined (YYERROR_VERBOSE) */
1098 #if (! defined (yyoverflow) \
1099 && (! defined (__cplusplus) \
1100 || (YYLTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
1102 /* A type that is properly aligned for any stack member. */
1103 union yyalloc
1105 short yyss;
1106 YYSTYPE yyvs;
1107 # if YYLSP_NEEDED
1108 YYLTYPE yyls;
1109 # endif
1112 /* The size of the maximum gap between one aligned stack and the next. */
1113 # define YYSTACK_GAP_MAX (sizeof (union yyalloc) - 1)
1115 /* The size of an array large to enough to hold all stacks, each with
1116 N elements. */
1117 # if YYLSP_NEEDED
1118 # define YYSTACK_BYTES(N) \
1119 ((N) * (sizeof (short) + sizeof (YYSTYPE) + sizeof (YYLTYPE)) \
1120 + 2 * YYSTACK_GAP_MAX)
1121 # else
1122 # define YYSTACK_BYTES(N) \
1123 ((N) * (sizeof (short) + sizeof (YYSTYPE)) \
1124 + YYSTACK_GAP_MAX)
1125 # endif
1127 /* Copy COUNT objects from FROM to TO. The source and destination do
1128 not overlap. */
1129 # ifndef YYCOPY
1130 # if 1 < __GNUC__
1131 # define YYCOPY(To, From, Count) \
1132 __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
1133 # else
1134 # define YYCOPY(To, From, Count) \
1135 do \
1137 register YYSIZE_T yyi; \
1138 for (yyi = 0; yyi < (Count); yyi++) \
1139 (To)[yyi] = (From)[yyi]; \
1141 while (0)
1142 # endif
1143 # endif
1145 /* Relocate STACK from its old location to the new one. The
1146 local variables YYSIZE and YYSTACKSIZE give the old and new number of
1147 elements in the stack, and YYPTR gives the new location of the
1148 stack. Advance YYPTR to a properly aligned location for the next
1149 stack. */
1150 # define YYSTACK_RELOCATE(Stack) \
1151 do \
1153 YYSIZE_T yynewbytes; \
1154 YYCOPY (&yyptr->Stack, Stack, yysize); \
1155 Stack = &yyptr->Stack; \
1156 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAX; \
1157 yyptr += yynewbytes / sizeof (*yyptr); \
1159 while (0)
1161 #endif
1164 #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__)
1165 # define YYSIZE_T __SIZE_TYPE__
1166 #endif
1167 #if ! defined (YYSIZE_T) && defined (size_t)
1168 # define YYSIZE_T size_t
1169 #endif
1170 #if ! defined (YYSIZE_T)
1171 # if defined (__STDC__) || defined (__cplusplus)
1172 # include <stddef.h> /* INFRINGES ON USER NAME SPACE */
1173 # define YYSIZE_T size_t
1174 # endif
1175 #endif
1176 #if ! defined (YYSIZE_T)
1177 # define YYSIZE_T unsigned int
1178 #endif
1180 #define yyerrok (yyerrstatus = 0)
1181 #define yyclearin (yychar = YYEMPTY)
1182 #define YYEMPTY -2
1183 #define YYEOF 0
1184 #define YYACCEPT goto yyacceptlab
1185 #define YYABORT goto yyabortlab
1186 #define YYERROR goto yyerrlab1
1187 /* Like YYERROR except do call yyerror. This remains here temporarily
1188 to ease the transition to the new meaning of YYERROR, for GCC.
1189 Once GCC version 2 has supplanted version 1, this can go. */
1190 #define YYFAIL goto yyerrlab
1191 #define YYRECOVERING() (!!yyerrstatus)
1192 #define YYBACKUP(Token, Value) \
1193 do \
1194 if (yychar == YYEMPTY && yylen == 1) \
1196 yychar = (Token); \
1197 yylval = (Value); \
1198 yychar1 = YYTRANSLATE (yychar); \
1199 YYPOPSTACK; \
1200 goto yybackup; \
1202 else \
1204 yyerror ("syntax error: cannot back up"); \
1205 YYERROR; \
1207 while (0)
1209 #define YYTERROR 1
1210 #define YYERRCODE 256
1213 /* YYLLOC_DEFAULT -- Compute the default location (before the actions
1214 are run).
1216 When YYLLOC_DEFAULT is run, CURRENT is set the location of the
1217 first token. By default, to implement support for ranges, extend
1218 its range to the last symbol. */
1220 #ifndef YYLLOC_DEFAULT
1221 # define YYLLOC_DEFAULT(Current, Rhs, N) \
1222 Current.last_line = Rhs[N].last_line; \
1223 Current.last_column = Rhs[N].last_column;
1224 #endif
1227 /* YYLEX -- calling `yylex' with the right arguments. */
1229 #if YYPURE
1230 # if YYLSP_NEEDED
1231 # ifdef YYLEX_PARAM
1232 # define YYLEX yylex (&yylval, &yylloc, YYLEX_PARAM)
1233 # else
1234 # define YYLEX yylex (&yylval, &yylloc)
1235 # endif
1236 # else /* !YYLSP_NEEDED */
1237 # ifdef YYLEX_PARAM
1238 # define YYLEX yylex (&yylval, YYLEX_PARAM)
1239 # else
1240 # define YYLEX yylex (&yylval)
1241 # endif
1242 # endif /* !YYLSP_NEEDED */
1243 #else /* !YYPURE */
1244 # define YYLEX yylex ()
1245 #endif /* !YYPURE */
1248 /* Enable debugging if requested. */
1249 #if YYDEBUG
1251 # ifndef YYFPRINTF
1252 # include <stdio.h> /* INFRINGES ON USER NAME SPACE */
1253 # define YYFPRINTF fprintf
1254 # endif
1256 # define YYDPRINTF(Args) \
1257 do { \
1258 if (yydebug) \
1259 YYFPRINTF Args; \
1260 } while (0)
1261 /* Nonzero means print parse trace. It is left uninitialized so that
1262 multiple parsers can coexist. */
1263 int yydebug;
1264 #else /* !YYDEBUG */
1265 # define YYDPRINTF(Args)
1266 #endif /* !YYDEBUG */
1268 /* YYINITDEPTH -- initial size of the parser's stacks. */
1269 #ifndef YYINITDEPTH
1270 # define YYINITDEPTH 200
1271 #endif
1273 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
1274 if the built-in stack extension method is used).
1276 Do not make this value too large; the results are undefined if
1277 SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH)
1278 evaluated with infinite-precision integer arithmetic. */
1280 #if YYMAXDEPTH == 0
1281 # undef YYMAXDEPTH
1282 #endif
1284 #ifndef YYMAXDEPTH
1285 # define YYMAXDEPTH 10000
1286 #endif
1288 #ifdef YYERROR_VERBOSE
1290 # ifndef yystrlen
1291 # if defined (__GLIBC__) && defined (_STRING_H)
1292 # define yystrlen strlen
1293 # else
1294 /* Return the length of YYSTR. */
1295 static YYSIZE_T
1296 # if defined (__STDC__) || defined (__cplusplus)
1297 yystrlen (const char *yystr)
1298 # else
1299 yystrlen (yystr)
1300 const char *yystr;
1301 # endif
1303 register const char *yys = yystr;
1305 while (*yys++ != '\0')
1306 continue;
1308 return yys - yystr - 1;
1310 # endif
1311 # endif
1313 # ifndef yystpcpy
1314 # if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE)
1315 # define yystpcpy stpcpy
1316 # else
1317 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
1318 YYDEST. */
1319 static char *
1320 # if defined (__STDC__) || defined (__cplusplus)
1321 yystpcpy (char *yydest, const char *yysrc)
1322 # else
1323 yystpcpy (yydest, yysrc)
1324 char *yydest;
1325 const char *yysrc;
1326 # endif
1328 register char *yyd = yydest;
1329 register const char *yys = yysrc;
1331 while ((*yyd++ = *yys++) != '\0')
1332 continue;
1334 return yyd - 1;
1336 # endif
1337 # endif
1338 #endif
1340 #line 315 "/usr/share/bison-1.35/bison.simple"
1343 /* The user can define YYPARSE_PARAM as the name of an argument to be passed
1344 into yyparse. The argument should have type void *.
1345 It should actually point to an object.
1346 Grammar actions can access the variable by casting it
1347 to the proper pointer type. */
1349 #ifdef YYPARSE_PARAM
1350 # if defined (__STDC__) || defined (__cplusplus)
1351 # define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
1352 # define YYPARSE_PARAM_DECL
1353 # else
1354 # define YYPARSE_PARAM_ARG YYPARSE_PARAM
1355 # define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
1356 # endif
1357 #else /* !YYPARSE_PARAM */
1358 # define YYPARSE_PARAM_ARG
1359 # define YYPARSE_PARAM_DECL
1360 #endif /* !YYPARSE_PARAM */
1362 /* Prevent warning if -Wstrict-prototypes. */
1363 #ifdef __GNUC__
1364 # ifdef YYPARSE_PARAM
1365 int yyparse (void *);
1366 # else
1367 int yyparse (void);
1368 # endif
1369 #endif
1371 /* YY_DECL_VARIABLES -- depending whether we use a pure parser,
1372 variables are global, or local to YYPARSE. */
1374 #define YY_DECL_NON_LSP_VARIABLES \
1375 /* The lookahead symbol. */ \
1376 int yychar; \
1378 /* The semantic value of the lookahead symbol. */ \
1379 YYSTYPE yylval; \
1381 /* Number of parse errors so far. */ \
1382 int yynerrs;
1384 #if YYLSP_NEEDED
1385 # define YY_DECL_VARIABLES \
1386 YY_DECL_NON_LSP_VARIABLES \
1388 /* Location data for the lookahead symbol. */ \
1389 YYLTYPE yylloc;
1390 #else
1391 # define YY_DECL_VARIABLES \
1392 YY_DECL_NON_LSP_VARIABLES
1393 #endif
1396 /* If nonreentrant, generate the variables here. */
1398 #if !YYPURE
1399 YY_DECL_VARIABLES
1400 #endif /* !YYPURE */
1403 yyparse (YYPARSE_PARAM_ARG)
1404 YYPARSE_PARAM_DECL
1406 /* If reentrant, generate the variables here. */
1407 #if YYPURE
1408 YY_DECL_VARIABLES
1409 #endif /* !YYPURE */
1411 register int yystate;
1412 register int yyn;
1413 int yyresult;
1414 /* Number of tokens to shift before error messages enabled. */
1415 int yyerrstatus;
1416 /* Lookahead token as an internal (translated) token number. */
1417 int yychar1 = 0;
1419 /* Three stacks and their tools:
1420 `yyss': related to states,
1421 `yyvs': related to semantic values,
1422 `yyls': related to locations.
1424 Refer to the stacks thru separate pointers, to allow yyoverflow
1425 to reallocate them elsewhere. */
1427 /* The state stack. */
1428 short yyssa[YYINITDEPTH];
1429 short *yyss = yyssa;
1430 register short *yyssp;
1432 /* The semantic value stack. */
1433 YYSTYPE yyvsa[YYINITDEPTH];
1434 YYSTYPE *yyvs = yyvsa;
1435 register YYSTYPE *yyvsp;
1437 #if YYLSP_NEEDED
1438 /* The location stack. */
1439 YYLTYPE yylsa[YYINITDEPTH];
1440 YYLTYPE *yyls = yylsa;
1441 YYLTYPE *yylsp;
1442 #endif
1444 #if YYLSP_NEEDED
1445 # define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
1446 #else
1447 # define YYPOPSTACK (yyvsp--, yyssp--)
1448 #endif
1450 YYSIZE_T yystacksize = YYINITDEPTH;
1453 /* The variables used to return semantic value and location from the
1454 action routines. */
1455 YYSTYPE yyval;
1456 #if YYLSP_NEEDED
1457 YYLTYPE yyloc;
1458 #endif
1460 /* When reducing, the number of symbols on the RHS of the reduced
1461 rule. */
1462 int yylen;
1464 YYDPRINTF ((stderr, "Starting parse\n"));
1466 yystate = 0;
1467 yyerrstatus = 0;
1468 yynerrs = 0;
1469 yychar = YYEMPTY; /* Cause a token to be read. */
1471 /* Initialize stack pointers.
1472 Waste one element of value and location stack
1473 so that they stay on the same level as the state stack.
1474 The wasted elements are never initialized. */
1476 yyssp = yyss;
1477 yyvsp = yyvs;
1478 #if YYLSP_NEEDED
1479 yylsp = yyls;
1480 #endif
1481 goto yysetstate;
1483 /*------------------------------------------------------------.
1484 | yynewstate -- Push a new state, which is found in yystate. |
1485 `------------------------------------------------------------*/
1486 yynewstate:
1487 /* In all cases, when you get here, the value and location stacks
1488 have just been pushed. so pushing a state here evens the stacks.
1490 yyssp++;
1492 yysetstate:
1493 *yyssp = yystate;
1495 if (yyssp >= yyss + yystacksize - 1)
1497 /* Get the current used size of the three stacks, in elements. */
1498 YYSIZE_T yysize = yyssp - yyss + 1;
1500 #ifdef yyoverflow
1502 /* Give user a chance to reallocate the stack. Use copies of
1503 these so that the &'s don't force the real ones into
1504 memory. */
1505 YYSTYPE *yyvs1 = yyvs;
1506 short *yyss1 = yyss;
1508 /* Each stack pointer address is followed by the size of the
1509 data in use in that stack, in bytes. */
1510 # if YYLSP_NEEDED
1511 YYLTYPE *yyls1 = yyls;
1512 /* This used to be a conditional around just the two extra args,
1513 but that might be undefined if yyoverflow is a macro. */
1514 yyoverflow ("parser stack overflow",
1515 &yyss1, yysize * sizeof (*yyssp),
1516 &yyvs1, yysize * sizeof (*yyvsp),
1517 &yyls1, yysize * sizeof (*yylsp),
1518 &yystacksize);
1519 yyls = yyls1;
1520 # else
1521 yyoverflow ("parser stack overflow",
1522 &yyss1, yysize * sizeof (*yyssp),
1523 &yyvs1, yysize * sizeof (*yyvsp),
1524 &yystacksize);
1525 # endif
1526 yyss = yyss1;
1527 yyvs = yyvs1;
1529 #else /* no yyoverflow */
1530 # ifndef YYSTACK_RELOCATE
1531 goto yyoverflowlab;
1532 # else
1533 /* Extend the stack our own way. */
1534 if (yystacksize >= YYMAXDEPTH)
1535 goto yyoverflowlab;
1536 yystacksize *= 2;
1537 if (yystacksize > YYMAXDEPTH)
1538 yystacksize = YYMAXDEPTH;
1541 short *yyss1 = yyss;
1542 union yyalloc *yyptr =
1543 (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
1544 if (! yyptr)
1545 goto yyoverflowlab;
1546 YYSTACK_RELOCATE (yyss);
1547 YYSTACK_RELOCATE (yyvs);
1548 # if YYLSP_NEEDED
1549 YYSTACK_RELOCATE (yyls);
1550 # endif
1551 # undef YYSTACK_RELOCATE
1552 if (yyss1 != yyssa)
1553 YYSTACK_FREE (yyss1);
1555 # endif
1556 #endif /* no yyoverflow */
1558 yyssp = yyss + yysize - 1;
1559 yyvsp = yyvs + yysize - 1;
1560 #if YYLSP_NEEDED
1561 yylsp = yyls + yysize - 1;
1562 #endif
1564 YYDPRINTF ((stderr, "Stack size increased to %lu\n",
1565 (unsigned long int) yystacksize));
1567 if (yyssp >= yyss + yystacksize - 1)
1568 YYABORT;
1571 YYDPRINTF ((stderr, "Entering state %d\n", yystate));
1573 goto yybackup;
1576 /*-----------.
1577 | yybackup. |
1578 `-----------*/
1579 yybackup:
1581 /* Do appropriate processing given the current state. */
1582 /* Read a lookahead token if we need one and don't already have one. */
1583 /* yyresume: */
1585 /* First try to decide what to do without reference to lookahead token. */
1587 yyn = yypact[yystate];
1588 if (yyn == YYFLAG)
1589 goto yydefault;
1591 /* Not known => get a lookahead token if don't already have one. */
1593 /* yychar is either YYEMPTY or YYEOF
1594 or a valid token in external form. */
1596 if (yychar == YYEMPTY)
1598 YYDPRINTF ((stderr, "Reading a token: "));
1599 yychar = YYLEX;
1602 /* Convert token to internal form (in yychar1) for indexing tables with */
1604 if (yychar <= 0) /* This means end of input. */
1606 yychar1 = 0;
1607 yychar = YYEOF; /* Don't call YYLEX any more */
1609 YYDPRINTF ((stderr, "Now at end of input.\n"));
1611 else
1613 yychar1 = YYTRANSLATE (yychar);
1615 #if YYDEBUG
1616 /* We have to keep this `#if YYDEBUG', since we use variables
1617 which are defined only if `YYDEBUG' is set. */
1618 if (yydebug)
1620 YYFPRINTF (stderr, "Next token is %d (%s",
1621 yychar, yytname[yychar1]);
1622 /* Give the individual parser a way to print the precise
1623 meaning of a token, for further debugging info. */
1624 # ifdef YYPRINT
1625 YYPRINT (stderr, yychar, yylval);
1626 # endif
1627 YYFPRINTF (stderr, ")\n");
1629 #endif
1632 yyn += yychar1;
1633 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
1634 goto yydefault;
1636 yyn = yytable[yyn];
1638 /* yyn is what to do for this token type in this state.
1639 Negative => reduce, -yyn is rule number.
1640 Positive => shift, yyn is new state.
1641 New state is final state => don't bother to shift,
1642 just return success.
1643 0, or most negative number => error. */
1645 if (yyn < 0)
1647 if (yyn == YYFLAG)
1648 goto yyerrlab;
1649 yyn = -yyn;
1650 goto yyreduce;
1652 else if (yyn == 0)
1653 goto yyerrlab;
1655 if (yyn == YYFINAL)
1656 YYACCEPT;
1658 /* Shift the lookahead token. */
1659 YYDPRINTF ((stderr, "Shifting token %d (%s), ",
1660 yychar, yytname[yychar1]));
1662 /* Discard the token being shifted unless it is eof. */
1663 if (yychar != YYEOF)
1664 yychar = YYEMPTY;
1666 *++yyvsp = yylval;
1667 #if YYLSP_NEEDED
1668 *++yylsp = yylloc;
1669 #endif
1671 /* Count tokens shifted since error; after three, turn off error
1672 status. */
1673 if (yyerrstatus)
1674 yyerrstatus--;
1676 yystate = yyn;
1677 goto yynewstate;
1680 /*-----------------------------------------------------------.
1681 | yydefault -- do the default action for the current state. |
1682 `-----------------------------------------------------------*/
1683 yydefault:
1684 yyn = yydefact[yystate];
1685 if (yyn == 0)
1686 goto yyerrlab;
1687 goto yyreduce;
1690 /*-----------------------------.
1691 | yyreduce -- Do a reduction. |
1692 `-----------------------------*/
1693 yyreduce:
1694 /* yyn is the number of a rule to reduce with. */
1695 yylen = yyr2[yyn];
1697 /* If YYLEN is nonzero, implement the default value of the action:
1698 `$$ = $1'.
1700 Otherwise, the following line sets YYVAL to the semantic value of
1701 the lookahead token. This behavior is undocumented and Bison
1702 users should not rely upon it. Assigning to YYVAL
1703 unconditionally makes the parser a bit smaller, and it avoids a
1704 GCC warning that YYVAL may be used uninitialized. */
1705 yyval = yyvsp[1-yylen];
1707 #if YYLSP_NEEDED
1708 /* Similarly for the default location. Let the user run additional
1709 commands if for instance locations are ranges. */
1710 yyloc = yylsp[1-yylen];
1711 YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);
1712 #endif
1714 #if YYDEBUG
1715 /* We have to keep this `#if YYDEBUG', since we use variables which
1716 are defined only if `YYDEBUG' is set. */
1717 if (yydebug)
1719 int yyi;
1721 YYFPRINTF (stderr, "Reducing via rule %d (line %d), ",
1722 yyn, yyrline[yyn]);
1724 /* Print the symbols being reduced, and their result. */
1725 for (yyi = yyprhs[yyn]; yyrhs[yyi] > 0; yyi++)
1726 YYFPRINTF (stderr, "%s ", yytname[yyrhs[yyi]]);
1727 YYFPRINTF (stderr, " -> %s\n", yytname[yyr1[yyn]]);
1729 #endif
1731 switch (yyn) {
1733 case 6:
1734 #line 173 "ldgram.y"
1735 { ldlex_defsym(); }
1736 break;
1737 case 7:
1738 #line 175 "ldgram.y"
1740 ldlex_popstate();
1741 lang_add_assignment(exp_assop(yyvsp[-1].token,yyvsp[-2].name,yyvsp[0].etree));
1743 break;
1744 case 8:
1745 #line 183 "ldgram.y"
1747 ldlex_mri_script ();
1748 PUSH_ERROR (_("MRI style script"));
1750 break;
1751 case 9:
1752 #line 188 "ldgram.y"
1754 ldlex_popstate ();
1755 mri_draw_tree ();
1756 POP_ERROR ();
1758 break;
1759 case 14:
1760 #line 203 "ldgram.y"
1762 einfo(_("%P%F: unrecognised keyword in MRI style script '%s'\n"),yyvsp[0].name);
1764 break;
1765 case 15:
1766 #line 206 "ldgram.y"
1768 config.map_filename = "-";
1770 break;
1771 case 18:
1772 #line 212 "ldgram.y"
1773 { mri_public(yyvsp[-2].name, yyvsp[0].etree); }
1774 break;
1775 case 19:
1776 #line 214 "ldgram.y"
1777 { mri_public(yyvsp[-2].name, yyvsp[0].etree); }
1778 break;
1779 case 20:
1780 #line 216 "ldgram.y"
1781 { mri_public(yyvsp[-1].name, yyvsp[0].etree); }
1782 break;
1783 case 21:
1784 #line 218 "ldgram.y"
1785 { mri_format(yyvsp[0].name); }
1786 break;
1787 case 22:
1788 #line 220 "ldgram.y"
1789 { mri_output_section(yyvsp[-2].name, yyvsp[0].etree);}
1790 break;
1791 case 23:
1792 #line 222 "ldgram.y"
1793 { mri_output_section(yyvsp[-1].name, yyvsp[0].etree);}
1794 break;
1795 case 24:
1796 #line 224 "ldgram.y"
1797 { mri_output_section(yyvsp[-2].name, yyvsp[0].etree);}
1798 break;
1799 case 25:
1800 #line 226 "ldgram.y"
1801 { mri_align(yyvsp[-2].name,yyvsp[0].etree); }
1802 break;
1803 case 26:
1804 #line 228 "ldgram.y"
1805 { mri_align(yyvsp[-2].name,yyvsp[0].etree); }
1806 break;
1807 case 27:
1808 #line 230 "ldgram.y"
1809 { mri_alignmod(yyvsp[-2].name,yyvsp[0].etree); }
1810 break;
1811 case 28:
1812 #line 232 "ldgram.y"
1813 { mri_alignmod(yyvsp[-2].name,yyvsp[0].etree); }
1814 break;
1815 case 31:
1816 #line 236 "ldgram.y"
1817 { mri_name(yyvsp[0].name); }
1818 break;
1819 case 32:
1820 #line 238 "ldgram.y"
1821 { mri_alias(yyvsp[-2].name,yyvsp[0].name,0);}
1822 break;
1823 case 33:
1824 #line 240 "ldgram.y"
1825 { mri_alias (yyvsp[-2].name, 0, (int) yyvsp[0].bigint.integer); }
1826 break;
1827 case 34:
1828 #line 242 "ldgram.y"
1829 { mri_base(yyvsp[0].etree); }
1830 break;
1831 case 35:
1832 #line 244 "ldgram.y"
1833 { mri_truncate ((unsigned int) yyvsp[0].bigint.integer); }
1834 break;
1835 case 38:
1836 #line 248 "ldgram.y"
1837 { ldlex_script (); ldfile_open_command_file(yyvsp[0].name); }
1838 break;
1839 case 39:
1840 #line 250 "ldgram.y"
1841 { ldlex_popstate (); }
1842 break;
1843 case 40:
1844 #line 252 "ldgram.y"
1845 { lang_add_entry (yyvsp[0].name, FALSE); }
1846 break;
1847 case 42:
1848 #line 257 "ldgram.y"
1849 { mri_order(yyvsp[0].name); }
1850 break;
1851 case 43:
1852 #line 258 "ldgram.y"
1853 { mri_order(yyvsp[0].name); }
1854 break;
1855 case 45:
1856 #line 264 "ldgram.y"
1857 { mri_load(yyvsp[0].name); }
1858 break;
1859 case 46:
1860 #line 265 "ldgram.y"
1861 { mri_load(yyvsp[0].name); }
1862 break;
1863 case 47:
1864 #line 270 "ldgram.y"
1865 { mri_only_load(yyvsp[0].name); }
1866 break;
1867 case 48:
1868 #line 272 "ldgram.y"
1869 { mri_only_load(yyvsp[0].name); }
1870 break;
1871 case 49:
1872 #line 276 "ldgram.y"
1873 { yyval.name = NULL; }
1874 break;
1875 case 52:
1876 #line 283 "ldgram.y"
1877 { ldlang_add_undef (yyvsp[0].name); }
1878 break;
1879 case 53:
1880 #line 285 "ldgram.y"
1881 { ldlang_add_undef (yyvsp[0].name); }
1882 break;
1883 case 54:
1884 #line 287 "ldgram.y"
1885 { ldlang_add_undef (yyvsp[0].name); }
1886 break;
1887 case 55:
1888 #line 291 "ldgram.y"
1890 ldlex_both();
1892 break;
1893 case 56:
1894 #line 295 "ldgram.y"
1896 ldlex_popstate();
1898 break;
1899 case 69:
1900 #line 320 "ldgram.y"
1901 { lang_add_target(yyvsp[-1].name); }
1902 break;
1903 case 70:
1904 #line 322 "ldgram.y"
1905 { ldfile_add_library_path (yyvsp[-1].name, FALSE); }
1906 break;
1907 case 71:
1908 #line 324 "ldgram.y"
1909 { lang_add_output(yyvsp[-1].name, 1); }
1910 break;
1911 case 72:
1912 #line 326 "ldgram.y"
1913 { lang_add_output_format (yyvsp[-1].name, (char *) NULL,
1914 (char *) NULL, 1); }
1915 break;
1916 case 73:
1917 #line 329 "ldgram.y"
1918 { lang_add_output_format (yyvsp[-5].name, yyvsp[-3].name, yyvsp[-1].name, 1); }
1919 break;
1920 case 74:
1921 #line 331 "ldgram.y"
1922 { ldfile_set_output_arch (yyvsp[-1].name, bfd_arch_unknown); }
1923 break;
1924 case 75:
1925 #line 333 "ldgram.y"
1926 { command_line.force_common_definition = TRUE ; }
1927 break;
1928 case 76:
1929 #line 335 "ldgram.y"
1930 { command_line.inhibit_common_definition = TRUE ; }
1931 break;
1932 case 78:
1933 #line 338 "ldgram.y"
1934 { lang_enter_group (); }
1935 break;
1936 case 79:
1937 #line 340 "ldgram.y"
1938 { lang_leave_group (); }
1939 break;
1940 case 80:
1941 #line 342 "ldgram.y"
1942 { lang_add_map(yyvsp[-1].name); }
1943 break;
1944 case 81:
1945 #line 344 "ldgram.y"
1946 { ldlex_script (); ldfile_open_command_file(yyvsp[0].name); }
1947 break;
1948 case 82:
1949 #line 346 "ldgram.y"
1950 { ldlex_popstate (); }
1951 break;
1952 case 83:
1953 #line 348 "ldgram.y"
1955 lang_add_nocrossref (yyvsp[-1].nocrossref);
1957 break;
1958 case 85:
1959 #line 356 "ldgram.y"
1960 { lang_add_input_file(yyvsp[0].name,lang_input_file_is_search_file_enum,
1961 (char *)NULL); }
1962 break;
1963 case 86:
1964 #line 359 "ldgram.y"
1965 { lang_add_input_file(yyvsp[0].name,lang_input_file_is_search_file_enum,
1966 (char *)NULL); }
1967 break;
1968 case 87:
1969 #line 362 "ldgram.y"
1970 { lang_add_input_file(yyvsp[0].name,lang_input_file_is_search_file_enum,
1971 (char *)NULL); }
1972 break;
1973 case 88:
1974 #line 365 "ldgram.y"
1975 { lang_add_input_file(yyvsp[0].name,lang_input_file_is_l_enum,
1976 (char *)NULL); }
1977 break;
1978 case 89:
1979 #line 368 "ldgram.y"
1980 { lang_add_input_file(yyvsp[0].name,lang_input_file_is_l_enum,
1981 (char *)NULL); }
1982 break;
1983 case 90:
1984 #line 371 "ldgram.y"
1985 { lang_add_input_file(yyvsp[0].name,lang_input_file_is_l_enum,
1986 (char *)NULL); }
1987 break;
1988 case 95:
1989 #line 387 "ldgram.y"
1990 { lang_add_entry (yyvsp[-1].name, FALSE); }
1991 break;
1992 case 97:
1993 #line 389 "ldgram.y"
1994 {ldlex_expression ();}
1995 break;
1996 case 98:
1997 #line 390 "ldgram.y"
1998 { ldlex_popstate ();
1999 lang_add_assignment (exp_assert (yyvsp[-3].etree, yyvsp[-1].name)); }
2000 break;
2001 case 99:
2002 #line 398 "ldgram.y"
2004 yyval.cname = yyvsp[0].name;
2006 break;
2007 case 100:
2008 #line 402 "ldgram.y"
2010 yyval.cname = "*";
2012 break;
2013 case 101:
2014 #line 406 "ldgram.y"
2016 yyval.cname = "?";
2018 break;
2019 case 102:
2020 #line 413 "ldgram.y"
2022 yyval.wildcard.name = yyvsp[0].cname;
2023 yyval.wildcard.sorted = FALSE;
2024 yyval.wildcard.exclude_name_list = NULL;
2026 break;
2027 case 103:
2028 #line 419 "ldgram.y"
2030 yyval.wildcard.name = yyvsp[0].cname;
2031 yyval.wildcard.sorted = FALSE;
2032 yyval.wildcard.exclude_name_list = yyvsp[-2].name_list;
2034 break;
2035 case 104:
2036 #line 425 "ldgram.y"
2038 yyval.wildcard.name = yyvsp[-1].cname;
2039 yyval.wildcard.sorted = TRUE;
2040 yyval.wildcard.exclude_name_list = NULL;
2042 break;
2043 case 105:
2044 #line 431 "ldgram.y"
2046 yyval.wildcard.name = yyvsp[-1].cname;
2047 yyval.wildcard.sorted = TRUE;
2048 yyval.wildcard.exclude_name_list = yyvsp[-3].name_list;
2050 break;
2051 case 106:
2052 #line 440 "ldgram.y"
2054 struct name_list *tmp;
2055 tmp = (struct name_list *) xmalloc (sizeof *tmp);
2056 tmp->name = yyvsp[0].cname;
2057 tmp->next = yyvsp[-1].name_list;
2058 yyval.name_list = tmp;
2060 break;
2061 case 107:
2062 #line 449 "ldgram.y"
2064 struct name_list *tmp;
2065 tmp = (struct name_list *) xmalloc (sizeof *tmp);
2066 tmp->name = yyvsp[0].cname;
2067 tmp->next = NULL;
2068 yyval.name_list = tmp;
2070 break;
2071 case 108:
2072 #line 460 "ldgram.y"
2074 struct wildcard_list *tmp;
2075 tmp = (struct wildcard_list *) xmalloc (sizeof *tmp);
2076 tmp->next = yyvsp[-2].wildcard_list;
2077 tmp->spec = yyvsp[0].wildcard;
2078 yyval.wildcard_list = tmp;
2080 break;
2081 case 109:
2082 #line 469 "ldgram.y"
2084 struct wildcard_list *tmp;
2085 tmp = (struct wildcard_list *) xmalloc (sizeof *tmp);
2086 tmp->next = NULL;
2087 tmp->spec = yyvsp[0].wildcard;
2088 yyval.wildcard_list = tmp;
2090 break;
2091 case 110:
2092 #line 480 "ldgram.y"
2094 struct wildcard_spec tmp;
2095 tmp.name = yyvsp[0].name;
2096 tmp.exclude_name_list = NULL;
2097 tmp.sorted = FALSE;
2098 lang_add_wild (&tmp, NULL, ldgram_had_keep);
2100 break;
2101 case 111:
2102 #line 488 "ldgram.y"
2104 lang_add_wild (NULL, yyvsp[-1].wildcard_list, ldgram_had_keep);
2106 break;
2107 case 112:
2108 #line 492 "ldgram.y"
2110 lang_add_wild (&yyvsp[-3].wildcard, yyvsp[-1].wildcard_list, ldgram_had_keep);
2112 break;
2113 case 114:
2114 #line 500 "ldgram.y"
2115 { ldgram_had_keep = TRUE; }
2116 break;
2117 case 115:
2118 #line 502 "ldgram.y"
2119 { ldgram_had_keep = FALSE; }
2120 break;
2121 case 117:
2122 #line 508 "ldgram.y"
2124 lang_add_attribute(lang_object_symbols_statement_enum);
2126 break;
2127 case 119:
2128 #line 513 "ldgram.y"
2131 lang_add_attribute(lang_constructors_statement_enum);
2133 break;
2134 case 120:
2135 #line 518 "ldgram.y"
2137 constructors_sorted = TRUE;
2138 lang_add_attribute (lang_constructors_statement_enum);
2140 break;
2141 case 122:
2142 #line 524 "ldgram.y"
2144 lang_add_data ((int) yyvsp[-3].integer, yyvsp[-1].etree);
2146 break;
2147 case 123:
2148 #line 529 "ldgram.y"
2150 lang_add_fill (yyvsp[-1].fill);
2152 break;
2153 case 128:
2154 #line 546 "ldgram.y"
2155 { yyval.integer = yyvsp[0].token; }
2156 break;
2157 case 129:
2158 #line 548 "ldgram.y"
2159 { yyval.integer = yyvsp[0].token; }
2160 break;
2161 case 130:
2162 #line 550 "ldgram.y"
2163 { yyval.integer = yyvsp[0].token; }
2164 break;
2165 case 131:
2166 #line 552 "ldgram.y"
2167 { yyval.integer = yyvsp[0].token; }
2168 break;
2169 case 132:
2170 #line 554 "ldgram.y"
2171 { yyval.integer = yyvsp[0].token; }
2172 break;
2173 case 133:
2174 #line 559 "ldgram.y"
2176 yyval.fill = exp_get_fill (yyvsp[0].etree,
2178 "fill value",
2179 lang_first_phase_enum);
2181 break;
2182 case 134:
2183 #line 569 "ldgram.y"
2184 { yyval.fill = yyvsp[0].fill; }
2185 break;
2186 case 135:
2187 #line 570 "ldgram.y"
2188 { yyval.fill = (fill_type *) 0; }
2189 break;
2190 case 136:
2191 #line 575 "ldgram.y"
2192 { yyval.token = '+'; }
2193 break;
2194 case 137:
2195 #line 577 "ldgram.y"
2196 { yyval.token = '-'; }
2197 break;
2198 case 138:
2199 #line 579 "ldgram.y"
2200 { yyval.token = '*'; }
2201 break;
2202 case 139:
2203 #line 581 "ldgram.y"
2204 { yyval.token = '/'; }
2205 break;
2206 case 140:
2207 #line 583 "ldgram.y"
2208 { yyval.token = LSHIFT; }
2209 break;
2210 case 141:
2211 #line 585 "ldgram.y"
2212 { yyval.token = RSHIFT; }
2213 break;
2214 case 142:
2215 #line 587 "ldgram.y"
2216 { yyval.token = '&'; }
2217 break;
2218 case 143:
2219 #line 589 "ldgram.y"
2220 { yyval.token = '|'; }
2221 break;
2222 case 146:
2223 #line 599 "ldgram.y"
2225 lang_add_assignment (exp_assop (yyvsp[-1].token, yyvsp[-2].name, yyvsp[0].etree));
2227 break;
2228 case 147:
2229 #line 603 "ldgram.y"
2231 lang_add_assignment (exp_assop ('=', yyvsp[-2].name,
2232 exp_binop (yyvsp[-1].token,
2233 exp_nameop (NAME,
2234 yyvsp[-2].name),
2235 yyvsp[0].etree)));
2237 break;
2238 case 148:
2239 #line 611 "ldgram.y"
2241 lang_add_assignment (exp_provide (yyvsp[-3].name, yyvsp[-1].etree));
2243 break;
2244 case 155:
2245 #line 633 "ldgram.y"
2246 { region = lang_memory_region_lookup (yyvsp[0].name, TRUE); }
2247 break;
2248 case 156:
2249 #line 636 "ldgram.y"
2251 break;
2252 case 157:
2253 #line 641 "ldgram.y"
2254 { region->current =
2255 region->origin =
2256 exp_get_vma(yyvsp[0].etree, 0L,"origin", lang_first_phase_enum);
2258 break;
2259 case 158:
2260 #line 649 "ldgram.y"
2261 { region->length = exp_get_vma(yyvsp[0].etree,
2262 ~((bfd_vma)0),
2263 "length",
2264 lang_first_phase_enum);
2266 break;
2267 case 159:
2268 #line 658 "ldgram.y"
2269 { /* dummy action to avoid bison 1.25 error message */ }
2270 break;
2271 case 163:
2272 #line 669 "ldgram.y"
2273 { lang_set_flags (region, yyvsp[0].name, 0); }
2274 break;
2275 case 164:
2276 #line 671 "ldgram.y"
2277 { lang_set_flags (region, yyvsp[0].name, 1); }
2278 break;
2279 case 165:
2280 #line 676 "ldgram.y"
2281 { lang_startup(yyvsp[-1].name); }
2282 break;
2283 case 167:
2284 #line 682 "ldgram.y"
2285 { ldemul_hll((char *)NULL); }
2286 break;
2287 case 168:
2288 #line 687 "ldgram.y"
2289 { ldemul_hll(yyvsp[0].name); }
2290 break;
2291 case 169:
2292 #line 689 "ldgram.y"
2293 { ldemul_hll(yyvsp[0].name); }
2294 break;
2295 case 171:
2296 #line 697 "ldgram.y"
2297 { ldemul_syslib(yyvsp[0].name); }
2298 break;
2299 case 173:
2300 #line 703 "ldgram.y"
2301 { lang_float(TRUE); }
2302 break;
2303 case 174:
2304 #line 705 "ldgram.y"
2305 { lang_float(FALSE); }
2306 break;
2307 case 175:
2308 #line 710 "ldgram.y"
2310 yyval.nocrossref = NULL;
2312 break;
2313 case 176:
2314 #line 714 "ldgram.y"
2316 struct lang_nocrossref *n;
2318 n = (struct lang_nocrossref *) xmalloc (sizeof *n);
2319 n->name = yyvsp[-1].name;
2320 n->next = yyvsp[0].nocrossref;
2321 yyval.nocrossref = n;
2323 break;
2324 case 177:
2325 #line 723 "ldgram.y"
2327 struct lang_nocrossref *n;
2329 n = (struct lang_nocrossref *) xmalloc (sizeof *n);
2330 n->name = yyvsp[-2].name;
2331 n->next = yyvsp[0].nocrossref;
2332 yyval.nocrossref = n;
2334 break;
2335 case 178:
2336 #line 733 "ldgram.y"
2337 { ldlex_expression(); }
2338 break;
2339 case 179:
2340 #line 735 "ldgram.y"
2341 { ldlex_popstate(); yyval.etree=yyvsp[0].etree;}
2342 break;
2343 case 180:
2344 #line 740 "ldgram.y"
2345 { yyval.etree = exp_unop('-', yyvsp[0].etree); }
2346 break;
2347 case 181:
2348 #line 742 "ldgram.y"
2349 { yyval.etree = yyvsp[-1].etree; }
2350 break;
2351 case 182:
2352 #line 744 "ldgram.y"
2353 { yyval.etree = exp_unop((int) yyvsp[-3].integer,yyvsp[-1].etree); }
2354 break;
2355 case 183:
2356 #line 746 "ldgram.y"
2357 { yyval.etree = exp_unop('!', yyvsp[0].etree); }
2358 break;
2359 case 184:
2360 #line 748 "ldgram.y"
2361 { yyval.etree = yyvsp[0].etree; }
2362 break;
2363 case 185:
2364 #line 750 "ldgram.y"
2365 { yyval.etree = exp_unop('~', yyvsp[0].etree);}
2366 break;
2367 case 186:
2368 #line 753 "ldgram.y"
2369 { yyval.etree = exp_binop('*', yyvsp[-2].etree, yyvsp[0].etree); }
2370 break;
2371 case 187:
2372 #line 755 "ldgram.y"
2373 { yyval.etree = exp_binop('/', yyvsp[-2].etree, yyvsp[0].etree); }
2374 break;
2375 case 188:
2376 #line 757 "ldgram.y"
2377 { yyval.etree = exp_binop('%', yyvsp[-2].etree, yyvsp[0].etree); }
2378 break;
2379 case 189:
2380 #line 759 "ldgram.y"
2381 { yyval.etree = exp_binop('+', yyvsp[-2].etree, yyvsp[0].etree); }
2382 break;
2383 case 190:
2384 #line 761 "ldgram.y"
2385 { yyval.etree = exp_binop('-' , yyvsp[-2].etree, yyvsp[0].etree); }
2386 break;
2387 case 191:
2388 #line 763 "ldgram.y"
2389 { yyval.etree = exp_binop(LSHIFT , yyvsp[-2].etree, yyvsp[0].etree); }
2390 break;
2391 case 192:
2392 #line 765 "ldgram.y"
2393 { yyval.etree = exp_binop(RSHIFT , yyvsp[-2].etree, yyvsp[0].etree); }
2394 break;
2395 case 193:
2396 #line 767 "ldgram.y"
2397 { yyval.etree = exp_binop(EQ , yyvsp[-2].etree, yyvsp[0].etree); }
2398 break;
2399 case 194:
2400 #line 769 "ldgram.y"
2401 { yyval.etree = exp_binop(NE , yyvsp[-2].etree, yyvsp[0].etree); }
2402 break;
2403 case 195:
2404 #line 771 "ldgram.y"
2405 { yyval.etree = exp_binop(LE , yyvsp[-2].etree, yyvsp[0].etree); }
2406 break;
2407 case 196:
2408 #line 773 "ldgram.y"
2409 { yyval.etree = exp_binop(GE , yyvsp[-2].etree, yyvsp[0].etree); }
2410 break;
2411 case 197:
2412 #line 775 "ldgram.y"
2413 { yyval.etree = exp_binop('<' , yyvsp[-2].etree, yyvsp[0].etree); }
2414 break;
2415 case 198:
2416 #line 777 "ldgram.y"
2417 { yyval.etree = exp_binop('>' , yyvsp[-2].etree, yyvsp[0].etree); }
2418 break;
2419 case 199:
2420 #line 779 "ldgram.y"
2421 { yyval.etree = exp_binop('&' , yyvsp[-2].etree, yyvsp[0].etree); }
2422 break;
2423 case 200:
2424 #line 781 "ldgram.y"
2425 { yyval.etree = exp_binop('^' , yyvsp[-2].etree, yyvsp[0].etree); }
2426 break;
2427 case 201:
2428 #line 783 "ldgram.y"
2429 { yyval.etree = exp_binop('|' , yyvsp[-2].etree, yyvsp[0].etree); }
2430 break;
2431 case 202:
2432 #line 785 "ldgram.y"
2433 { yyval.etree = exp_trinop('?' , yyvsp[-4].etree, yyvsp[-2].etree, yyvsp[0].etree); }
2434 break;
2435 case 203:
2436 #line 787 "ldgram.y"
2437 { yyval.etree = exp_binop(ANDAND , yyvsp[-2].etree, yyvsp[0].etree); }
2438 break;
2439 case 204:
2440 #line 789 "ldgram.y"
2441 { yyval.etree = exp_binop(OROR , yyvsp[-2].etree, yyvsp[0].etree); }
2442 break;
2443 case 205:
2444 #line 791 "ldgram.y"
2445 { yyval.etree = exp_nameop(DEFINED, yyvsp[-1].name); }
2446 break;
2447 case 206:
2448 #line 793 "ldgram.y"
2449 { yyval.etree = exp_bigintop (yyvsp[0].bigint.integer, yyvsp[0].bigint.str); }
2450 break;
2451 case 207:
2452 #line 795 "ldgram.y"
2453 { yyval.etree = exp_nameop(SIZEOF_HEADERS,0); }
2454 break;
2455 case 208:
2456 #line 798 "ldgram.y"
2457 { yyval.etree = exp_nameop(SIZEOF,yyvsp[-1].name); }
2458 break;
2459 case 209:
2460 #line 800 "ldgram.y"
2461 { yyval.etree = exp_nameop(ADDR,yyvsp[-1].name); }
2462 break;
2463 case 210:
2464 #line 802 "ldgram.y"
2465 { yyval.etree = exp_nameop(LOADADDR,yyvsp[-1].name); }
2466 break;
2467 case 211:
2468 #line 804 "ldgram.y"
2469 { yyval.etree = exp_unop(ABSOLUTE, yyvsp[-1].etree); }
2470 break;
2471 case 212:
2472 #line 806 "ldgram.y"
2473 { yyval.etree = exp_unop(ALIGN_K,yyvsp[-1].etree); }
2474 break;
2475 case 213:
2476 #line 808 "ldgram.y"
2477 { yyval.etree = exp_binop(ALIGN_K,yyvsp[-3].etree,yyvsp[-1].etree); }
2478 break;
2479 case 214:
2480 #line 810 "ldgram.y"
2481 { yyval.etree = exp_binop (DATA_SEGMENT_ALIGN, yyvsp[-3].etree, yyvsp[-1].etree); }
2482 break;
2483 case 215:
2484 #line 812 "ldgram.y"
2485 { yyval.etree = exp_unop(DATA_SEGMENT_END, yyvsp[-1].etree); }
2486 break;
2487 case 216:
2488 #line 814 "ldgram.y"
2489 { yyval.etree = exp_unop(ALIGN_K,yyvsp[-1].etree); }
2490 break;
2491 case 217:
2492 #line 816 "ldgram.y"
2493 { yyval.etree = exp_nameop(NAME,yyvsp[0].name); }
2494 break;
2495 case 218:
2496 #line 818 "ldgram.y"
2497 { yyval.etree = exp_binop (MAX_K, yyvsp[-3].etree, yyvsp[-1].etree ); }
2498 break;
2499 case 219:
2500 #line 820 "ldgram.y"
2501 { yyval.etree = exp_binop (MIN_K, yyvsp[-3].etree, yyvsp[-1].etree ); }
2502 break;
2503 case 220:
2504 #line 822 "ldgram.y"
2505 { yyval.etree = exp_assert (yyvsp[-3].etree, yyvsp[-1].name); }
2506 break;
2507 case 221:
2508 #line 827 "ldgram.y"
2509 { yyval.name = yyvsp[0].name; }
2510 break;
2511 case 222:
2512 #line 828 "ldgram.y"
2513 { yyval.name = 0; }
2514 break;
2515 case 223:
2516 #line 832 "ldgram.y"
2517 { yyval.etree = yyvsp[-1].etree; }
2518 break;
2519 case 224:
2520 #line 833 "ldgram.y"
2521 { yyval.etree = 0; }
2522 break;
2523 case 225:
2524 #line 837 "ldgram.y"
2525 { yyval.etree = yyvsp[-1].etree; }
2526 break;
2527 case 226:
2528 #line 838 "ldgram.y"
2529 { yyval.etree = 0; }
2530 break;
2531 case 227:
2532 #line 841 "ldgram.y"
2533 { ldlex_expression(); }
2534 break;
2535 case 228:
2536 #line 844 "ldgram.y"
2537 { ldlex_popstate (); ldlex_script (); }
2538 break;
2539 case 229:
2540 #line 846 "ldgram.y"
2542 lang_enter_output_section_statement(yyvsp[-6].name, yyvsp[-4].etree,
2543 sectype,
2544 0, yyvsp[-2].etree, yyvsp[-3].etree);
2546 break;
2547 case 230:
2548 #line 852 "ldgram.y"
2549 { ldlex_popstate (); ldlex_expression (); }
2550 break;
2551 case 231:
2552 #line 854 "ldgram.y"
2554 ldlex_popstate ();
2555 lang_leave_output_section_statement (yyvsp[0].fill, yyvsp[-3].name, yyvsp[-1].section_phdr, yyvsp[-2].name);
2557 break;
2558 case 232:
2559 #line 859 "ldgram.y"
2561 break;
2562 case 233:
2563 #line 861 "ldgram.y"
2564 { ldlex_expression (); }
2565 break;
2566 case 234:
2567 #line 863 "ldgram.y"
2568 { ldlex_popstate (); ldlex_script (); }
2569 break;
2570 case 235:
2571 #line 865 "ldgram.y"
2573 lang_enter_overlay (yyvsp[-5].etree, yyvsp[-2].etree);
2575 break;
2576 case 236:
2577 #line 870 "ldgram.y"
2578 { ldlex_popstate (); ldlex_expression (); }
2579 break;
2580 case 237:
2581 #line 872 "ldgram.y"
2583 ldlex_popstate ();
2584 lang_leave_overlay (yyvsp[-11].etree, (int) yyvsp[-12].integer,
2585 yyvsp[0].fill, yyvsp[-3].name, yyvsp[-1].section_phdr, yyvsp[-2].name);
2587 break;
2588 case 239:
2589 #line 882 "ldgram.y"
2590 { ldlex_expression (); }
2591 break;
2592 case 240:
2593 #line 884 "ldgram.y"
2595 ldlex_popstate ();
2596 lang_add_assignment (exp_assop ('=', ".", yyvsp[0].etree));
2598 break;
2599 case 242:
2600 #line 892 "ldgram.y"
2601 { sectype = noload_section; }
2602 break;
2603 case 243:
2604 #line 893 "ldgram.y"
2605 { sectype = dsect_section; }
2606 break;
2607 case 244:
2608 #line 894 "ldgram.y"
2609 { sectype = copy_section; }
2610 break;
2611 case 245:
2612 #line 895 "ldgram.y"
2613 { sectype = info_section; }
2614 break;
2615 case 246:
2616 #line 896 "ldgram.y"
2617 { sectype = overlay_section; }
2618 break;
2619 case 248:
2620 #line 901 "ldgram.y"
2621 { sectype = normal_section; }
2622 break;
2623 case 249:
2624 #line 902 "ldgram.y"
2625 { sectype = normal_section; }
2626 break;
2627 case 250:
2628 #line 906 "ldgram.y"
2629 { yyval.etree = yyvsp[-2].etree; }
2630 break;
2631 case 251:
2632 #line 907 "ldgram.y"
2633 { yyval.etree = (etree_type *)NULL; }
2634 break;
2635 case 252:
2636 #line 912 "ldgram.y"
2637 { yyval.etree = yyvsp[-3].etree; }
2638 break;
2639 case 253:
2640 #line 914 "ldgram.y"
2641 { yyval.etree = yyvsp[-7].etree; }
2642 break;
2643 case 254:
2644 #line 918 "ldgram.y"
2645 { yyval.etree = yyvsp[-1].etree; }
2646 break;
2647 case 255:
2648 #line 919 "ldgram.y"
2649 { yyval.etree = (etree_type *) NULL; }
2650 break;
2651 case 256:
2652 #line 924 "ldgram.y"
2653 { yyval.integer = 0; }
2654 break;
2655 case 257:
2656 #line 926 "ldgram.y"
2657 { yyval.integer = 1; }
2658 break;
2659 case 258:
2660 #line 931 "ldgram.y"
2661 { yyval.name = yyvsp[0].name; }
2662 break;
2663 case 259:
2664 #line 932 "ldgram.y"
2665 { yyval.name = DEFAULT_MEMORY_REGION; }
2666 break;
2667 case 260:
2668 #line 937 "ldgram.y"
2670 yyval.section_phdr = NULL;
2672 break;
2673 case 261:
2674 #line 941 "ldgram.y"
2676 struct lang_output_section_phdr_list *n;
2678 n = ((struct lang_output_section_phdr_list *)
2679 xmalloc (sizeof *n));
2680 n->name = yyvsp[0].name;
2681 n->used = FALSE;
2682 n->next = yyvsp[-2].section_phdr;
2683 yyval.section_phdr = n;
2685 break;
2686 case 263:
2687 #line 957 "ldgram.y"
2689 ldlex_script ();
2690 lang_enter_overlay_section (yyvsp[0].name);
2692 break;
2693 case 264:
2694 #line 962 "ldgram.y"
2695 { ldlex_popstate (); ldlex_expression (); }
2696 break;
2697 case 265:
2698 #line 964 "ldgram.y"
2700 ldlex_popstate ();
2701 lang_leave_overlay_section (yyvsp[0].fill, yyvsp[-1].section_phdr);
2703 break;
2704 case 270:
2705 #line 981 "ldgram.y"
2706 { ldlex_expression (); }
2707 break;
2708 case 271:
2709 #line 982 "ldgram.y"
2710 { ldlex_popstate (); }
2711 break;
2712 case 272:
2713 #line 984 "ldgram.y"
2715 lang_new_phdr (yyvsp[-5].name, yyvsp[-3].etree, yyvsp[-2].phdr.filehdr, yyvsp[-2].phdr.phdrs, yyvsp[-2].phdr.at,
2716 yyvsp[-2].phdr.flags);
2718 break;
2719 case 273:
2720 #line 992 "ldgram.y"
2722 yyval.etree = yyvsp[0].etree;
2724 if (yyvsp[0].etree->type.node_class == etree_name
2725 && yyvsp[0].etree->type.node_code == NAME)
2727 const char *s;
2728 unsigned int i;
2729 static const char * const phdr_types[] =
2731 "PT_NULL", "PT_LOAD", "PT_DYNAMIC",
2732 "PT_INTERP", "PT_NOTE", "PT_SHLIB",
2733 "PT_PHDR", "PT_TLS"
2736 s = yyvsp[0].etree->name.name;
2737 for (i = 0;
2738 i < sizeof phdr_types / sizeof phdr_types[0];
2739 i++)
2740 if (strcmp (s, phdr_types[i]) == 0)
2742 yyval.etree = exp_intop (i);
2743 break;
2745 if (i == sizeof phdr_types / sizeof phdr_types[0])
2747 if (strcmp (s, "PT_GNU_EH_FRAME") == 0)
2748 yyval.etree = exp_intop (0x6474e550);
2749 else if (strcmp (s, "PT_GNU_STACK") == 0)
2750 yyval.etree = exp_intop (0x6474e551);
2751 else
2753 einfo (_("\
2754 %X%P:%S: unknown phdr type `%s' (try integer literal)\n"),
2756 yyval.etree = exp_intop (0);
2761 break;
2762 case 274:
2763 #line 1036 "ldgram.y"
2765 memset (&yyval.phdr, 0, sizeof (struct phdr_info));
2767 break;
2768 case 275:
2769 #line 1040 "ldgram.y"
2771 yyval.phdr = yyvsp[0].phdr;
2772 if (strcmp (yyvsp[-2].name, "FILEHDR") == 0 && yyvsp[-1].etree == NULL)
2773 yyval.phdr.filehdr = TRUE;
2774 else if (strcmp (yyvsp[-2].name, "PHDRS") == 0 && yyvsp[-1].etree == NULL)
2775 yyval.phdr.phdrs = TRUE;
2776 else if (strcmp (yyvsp[-2].name, "FLAGS") == 0 && yyvsp[-1].etree != NULL)
2777 yyval.phdr.flags = yyvsp[-1].etree;
2778 else
2779 einfo (_("%X%P:%S: PHDRS syntax error at `%s'\n"), yyvsp[-2].name);
2781 break;
2782 case 276:
2783 #line 1052 "ldgram.y"
2785 yyval.phdr = yyvsp[0].phdr;
2786 yyval.phdr.at = yyvsp[-2].etree;
2788 break;
2789 case 277:
2790 #line 1060 "ldgram.y"
2792 yyval.etree = NULL;
2794 break;
2795 case 278:
2796 #line 1064 "ldgram.y"
2798 yyval.etree = yyvsp[-1].etree;
2800 break;
2801 case 279:
2802 #line 1072 "ldgram.y"
2804 ldlex_version_file ();
2805 PUSH_ERROR (_("VERSION script"));
2807 break;
2808 case 280:
2809 #line 1077 "ldgram.y"
2811 ldlex_popstate ();
2812 POP_ERROR ();
2814 break;
2815 case 281:
2816 #line 1086 "ldgram.y"
2818 ldlex_version_script ();
2820 break;
2821 case 282:
2822 #line 1090 "ldgram.y"
2824 ldlex_popstate ();
2826 break;
2827 case 285:
2828 #line 1102 "ldgram.y"
2830 lang_register_vers_node (NULL, yyvsp[-2].versnode, NULL);
2832 break;
2833 case 286:
2834 #line 1106 "ldgram.y"
2836 lang_register_vers_node (yyvsp[-4].name, yyvsp[-2].versnode, NULL);
2838 break;
2839 case 287:
2840 #line 1110 "ldgram.y"
2842 lang_register_vers_node (yyvsp[-5].name, yyvsp[-3].versnode, yyvsp[-1].deflist);
2844 break;
2845 case 288:
2846 #line 1117 "ldgram.y"
2848 yyval.deflist = lang_add_vers_depend (NULL, yyvsp[0].name);
2850 break;
2851 case 289:
2852 #line 1121 "ldgram.y"
2854 yyval.deflist = lang_add_vers_depend (yyvsp[-1].deflist, yyvsp[0].name);
2856 break;
2857 case 290:
2858 #line 1128 "ldgram.y"
2860 yyval.versnode = lang_new_vers_node (NULL, NULL);
2862 break;
2863 case 291:
2864 #line 1132 "ldgram.y"
2866 yyval.versnode = lang_new_vers_node (yyvsp[-1].versyms, NULL);
2868 break;
2869 case 292:
2870 #line 1136 "ldgram.y"
2872 yyval.versnode = lang_new_vers_node (yyvsp[-1].versyms, NULL);
2874 break;
2875 case 293:
2876 #line 1140 "ldgram.y"
2878 yyval.versnode = lang_new_vers_node (NULL, yyvsp[-1].versyms);
2880 break;
2881 case 294:
2882 #line 1144 "ldgram.y"
2884 yyval.versnode = lang_new_vers_node (yyvsp[-5].versyms, yyvsp[-1].versyms);
2886 break;
2887 case 295:
2888 #line 1151 "ldgram.y"
2890 yyval.versyms = lang_new_vers_pattern (NULL, yyvsp[0].name, ldgram_vers_current_lang);
2892 break;
2893 case 296:
2894 #line 1155 "ldgram.y"
2896 yyval.versyms = lang_new_vers_pattern (yyvsp[-2].versyms, yyvsp[0].name, ldgram_vers_current_lang);
2898 break;
2899 case 297:
2900 #line 1159 "ldgram.y"
2902 yyval.name = ldgram_vers_current_lang;
2903 ldgram_vers_current_lang = yyvsp[-1].name;
2905 break;
2906 case 298:
2907 #line 1164 "ldgram.y"
2909 yyval.versyms = yyvsp[-2].versyms;
2910 ldgram_vers_current_lang = yyvsp[-3].name;
2912 break;
2913 case 299:
2914 #line 1169 "ldgram.y"
2916 yyval.name = ldgram_vers_current_lang;
2917 ldgram_vers_current_lang = yyvsp[-1].name;
2919 break;
2920 case 300:
2921 #line 1174 "ldgram.y"
2923 yyval.versyms = yyvsp[-2].versyms;
2924 ldgram_vers_current_lang = yyvsp[-3].name;
2926 break;
2929 #line 705 "/usr/share/bison-1.35/bison.simple"
2932 yyvsp -= yylen;
2933 yyssp -= yylen;
2934 #if YYLSP_NEEDED
2935 yylsp -= yylen;
2936 #endif
2938 #if YYDEBUG
2939 if (yydebug)
2941 short *yyssp1 = yyss - 1;
2942 YYFPRINTF (stderr, "state stack now");
2943 while (yyssp1 != yyssp)
2944 YYFPRINTF (stderr, " %d", *++yyssp1);
2945 YYFPRINTF (stderr, "\n");
2947 #endif
2949 *++yyvsp = yyval;
2950 #if YYLSP_NEEDED
2951 *++yylsp = yyloc;
2952 #endif
2954 /* Now `shift' the result of the reduction. Determine what state
2955 that goes to, based on the state we popped back to and the rule
2956 number reduced by. */
2958 yyn = yyr1[yyn];
2960 yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
2961 if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
2962 yystate = yytable[yystate];
2963 else
2964 yystate = yydefgoto[yyn - YYNTBASE];
2966 goto yynewstate;
2969 /*------------------------------------.
2970 | yyerrlab -- here on detecting error |
2971 `------------------------------------*/
2972 yyerrlab:
2973 /* If not already recovering from an error, report this error. */
2974 if (!yyerrstatus)
2976 ++yynerrs;
2978 #ifdef YYERROR_VERBOSE
2979 yyn = yypact[yystate];
2981 if (yyn > YYFLAG && yyn < YYLAST)
2983 YYSIZE_T yysize = 0;
2984 char *yymsg;
2985 int yyx, yycount;
2987 yycount = 0;
2988 /* Start YYX at -YYN if negative to avoid negative indexes in
2989 YYCHECK. */
2990 for (yyx = yyn < 0 ? -yyn : 0;
2991 yyx < (int) (sizeof (yytname) / sizeof (char *)); yyx++)
2992 if (yycheck[yyx + yyn] == yyx)
2993 yysize += yystrlen (yytname[yyx]) + 15, yycount++;
2994 yysize += yystrlen ("parse error, unexpected ") + 1;
2995 yysize += yystrlen (yytname[YYTRANSLATE (yychar)]);
2996 yymsg = (char *) YYSTACK_ALLOC (yysize);
2997 if (yymsg != 0)
2999 char *yyp = yystpcpy (yymsg, "parse error, unexpected ");
3000 yyp = yystpcpy (yyp, yytname[YYTRANSLATE (yychar)]);
3002 if (yycount < 5)
3004 yycount = 0;
3005 for (yyx = yyn < 0 ? -yyn : 0;
3006 yyx < (int) (sizeof (yytname) / sizeof (char *));
3007 yyx++)
3008 if (yycheck[yyx + yyn] == yyx)
3010 const char *yyq = ! yycount ? ", expecting " : " or ";
3011 yyp = yystpcpy (yyp, yyq);
3012 yyp = yystpcpy (yyp, yytname[yyx]);
3013 yycount++;
3016 yyerror (yymsg);
3017 YYSTACK_FREE (yymsg);
3019 else
3020 yyerror ("parse error; also virtual memory exhausted");
3022 else
3023 #endif /* defined (YYERROR_VERBOSE) */
3024 yyerror ("parse error");
3026 goto yyerrlab1;
3029 /*--------------------------------------------------.
3030 | yyerrlab1 -- error raised explicitly by an action |
3031 `--------------------------------------------------*/
3032 yyerrlab1:
3033 if (yyerrstatus == 3)
3035 /* If just tried and failed to reuse lookahead token after an
3036 error, discard it. */
3038 /* return failure if at end of input */
3039 if (yychar == YYEOF)
3040 YYABORT;
3041 YYDPRINTF ((stderr, "Discarding token %d (%s).\n",
3042 yychar, yytname[yychar1]));
3043 yychar = YYEMPTY;
3046 /* Else will try to reuse lookahead token after shifting the error
3047 token. */
3049 yyerrstatus = 3; /* Each real token shifted decrements this */
3051 goto yyerrhandle;
3054 /*-------------------------------------------------------------------.
3055 | yyerrdefault -- current state does not do anything special for the |
3056 | error token. |
3057 `-------------------------------------------------------------------*/
3058 yyerrdefault:
3059 #if 0
3060 /* This is wrong; only states that explicitly want error tokens
3061 should shift them. */
3063 /* If its default is to accept any token, ok. Otherwise pop it. */
3064 yyn = yydefact[yystate];
3065 if (yyn)
3066 goto yydefault;
3067 #endif
3070 /*---------------------------------------------------------------.
3071 | yyerrpop -- pop the current state because it cannot handle the |
3072 | error token |
3073 `---------------------------------------------------------------*/
3074 yyerrpop:
3075 if (yyssp == yyss)
3076 YYABORT;
3077 yyvsp--;
3078 yystate = *--yyssp;
3079 #if YYLSP_NEEDED
3080 yylsp--;
3081 #endif
3083 #if YYDEBUG
3084 if (yydebug)
3086 short *yyssp1 = yyss - 1;
3087 YYFPRINTF (stderr, "Error: state stack now");
3088 while (yyssp1 != yyssp)
3089 YYFPRINTF (stderr, " %d", *++yyssp1);
3090 YYFPRINTF (stderr, "\n");
3092 #endif
3094 /*--------------.
3095 | yyerrhandle. |
3096 `--------------*/
3097 yyerrhandle:
3098 yyn = yypact[yystate];
3099 if (yyn == YYFLAG)
3100 goto yyerrdefault;
3102 yyn += YYTERROR;
3103 if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
3104 goto yyerrdefault;
3106 yyn = yytable[yyn];
3107 if (yyn < 0)
3109 if (yyn == YYFLAG)
3110 goto yyerrpop;
3111 yyn = -yyn;
3112 goto yyreduce;
3114 else if (yyn == 0)
3115 goto yyerrpop;
3117 if (yyn == YYFINAL)
3118 YYACCEPT;
3120 YYDPRINTF ((stderr, "Shifting error token, "));
3122 *++yyvsp = yylval;
3123 #if YYLSP_NEEDED
3124 *++yylsp = yylloc;
3125 #endif
3127 yystate = yyn;
3128 goto yynewstate;
3131 /*-------------------------------------.
3132 | yyacceptlab -- YYACCEPT comes here. |
3133 `-------------------------------------*/
3134 yyacceptlab:
3135 yyresult = 0;
3136 goto yyreturn;
3138 /*-----------------------------------.
3139 | yyabortlab -- YYABORT comes here. |
3140 `-----------------------------------*/
3141 yyabortlab:
3142 yyresult = 1;
3143 goto yyreturn;
3145 /*---------------------------------------------.
3146 | yyoverflowab -- parser overflow comes here. |
3147 `---------------------------------------------*/
3148 yyoverflowlab:
3149 yyerror ("parser stack overflow");
3150 yyresult = 2;
3151 /* Fall through. */
3153 yyreturn:
3154 #ifndef yyoverflow
3155 if (yyss != yyssa)
3156 YYSTACK_FREE (yyss);
3157 #endif
3158 return yyresult;
3160 #line 1185 "ldgram.y"
3162 void
3163 yyerror(arg)
3164 const char *arg;
3166 if (ldfile_assumed_script)
3167 einfo (_("%P:%s: file format not recognized; treating as linker script\n"),
3168 ldfile_input_filename);
3169 if (error_index > 0 && error_index < ERROR_NAME_MAX)
3170 einfo ("%P%F:%S: %s in %s\n", arg, error_names[error_index-1]);
3171 else
3172 einfo ("%P%F:%S: %s\n", arg);