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