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