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