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