125b3c049e70834cf33790a28643ab058b507b35cBen Cheng/* A Bison parser, made by GNU Bison 2.5. */ 225b3c049e70834cf33790a28643ab058b507b35cBen Cheng 325b3c049e70834cf33790a28643ab058b507b35cBen Cheng/* Bison interface for Yacc-like parsers in C 425b3c049e70834cf33790a28643ab058b507b35cBen Cheng 525b3c049e70834cf33790a28643ab058b507b35cBen Cheng Copyright (C) 1984, 1989-1990, 2000-2011 Free Software Foundation, Inc. 625b3c049e70834cf33790a28643ab058b507b35cBen Cheng 725b3c049e70834cf33790a28643ab058b507b35cBen Cheng This program is free software: you can redistribute it and/or modify 825b3c049e70834cf33790a28643ab058b507b35cBen Cheng it under the terms of the GNU General Public License as published by 925b3c049e70834cf33790a28643ab058b507b35cBen Cheng the Free Software Foundation, either version 3 of the License, or 1025b3c049e70834cf33790a28643ab058b507b35cBen Cheng (at your option) any later version. 1125b3c049e70834cf33790a28643ab058b507b35cBen Cheng 1225b3c049e70834cf33790a28643ab058b507b35cBen Cheng This program is distributed in the hope that it will be useful, 1325b3c049e70834cf33790a28643ab058b507b35cBen Cheng but WITHOUT ANY WARRANTY; without even the implied warranty of 1425b3c049e70834cf33790a28643ab058b507b35cBen Cheng MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 1525b3c049e70834cf33790a28643ab058b507b35cBen Cheng GNU General Public License for more details. 1625b3c049e70834cf33790a28643ab058b507b35cBen Cheng 1725b3c049e70834cf33790a28643ab058b507b35cBen Cheng You should have received a copy of the GNU General Public License 1825b3c049e70834cf33790a28643ab058b507b35cBen Cheng along with this program. If not, see <http://www.gnu.org/licenses/>. */ 1925b3c049e70834cf33790a28643ab058b507b35cBen Cheng 2025b3c049e70834cf33790a28643ab058b507b35cBen Cheng/* As a special exception, you may create a larger work that contains 2125b3c049e70834cf33790a28643ab058b507b35cBen Cheng part or all of the Bison parser skeleton and distribute that work 2225b3c049e70834cf33790a28643ab058b507b35cBen Cheng under terms of your choice, so long as that work isn't itself a 2325b3c049e70834cf33790a28643ab058b507b35cBen Cheng parser generator using the skeleton or a modified version thereof 2425b3c049e70834cf33790a28643ab058b507b35cBen Cheng as a parser skeleton. Alternatively, if you modify or redistribute 2525b3c049e70834cf33790a28643ab058b507b35cBen Cheng the parser skeleton itself, you may (at your option) remove this 2625b3c049e70834cf33790a28643ab058b507b35cBen Cheng special exception, which will cause the skeleton and the resulting 2725b3c049e70834cf33790a28643ab058b507b35cBen Cheng Bison output files to be licensed under the GNU General Public 2825b3c049e70834cf33790a28643ab058b507b35cBen Cheng License without this special exception. 2925b3c049e70834cf33790a28643ab058b507b35cBen Cheng 3025b3c049e70834cf33790a28643ab058b507b35cBen Cheng This special exception was added by the Free Software Foundation in 3125b3c049e70834cf33790a28643ab058b507b35cBen Cheng version 2.2 of Bison. */ 3225b3c049e70834cf33790a28643ab058b507b35cBen Cheng 3325b3c049e70834cf33790a28643ab058b507b35cBen Cheng 3425b3c049e70834cf33790a28643ab058b507b35cBen Cheng/* Tokens. */ 3525b3c049e70834cf33790a28643ab058b507b35cBen Cheng#ifndef YYTOKENTYPE 3625b3c049e70834cf33790a28643ab058b507b35cBen Cheng# define YYTOKENTYPE 3725b3c049e70834cf33790a28643ab058b507b35cBen Cheng /* Put the tokens into the symbol table, so that GDB and other debuggers 3825b3c049e70834cf33790a28643ab058b507b35cBen Cheng know about them. */ 3925b3c049e70834cf33790a28643ab058b507b35cBen Cheng enum yytokentype { 4025b3c049e70834cf33790a28643ab058b507b35cBen Cheng kADD_OP = 258, 4125b3c049e70834cf33790a28643ab058b507b35cBen Cheng kALIGN = 259, 4225b3c049e70834cf33790a28643ab058b507b35cBen Cheng kAS_NEEDED = 260, 4325b3c049e70834cf33790a28643ab058b507b35cBen Cheng kENTRY = 261, 4425b3c049e70834cf33790a28643ab058b507b35cBen Cheng kEXCLUDE_FILE = 262, 4525b3c049e70834cf33790a28643ab058b507b35cBen Cheng kFILENAME = 263, 4625b3c049e70834cf33790a28643ab058b507b35cBen Cheng kGLOBAL = 264, 4725b3c049e70834cf33790a28643ab058b507b35cBen Cheng kGROUP = 265, 4825b3c049e70834cf33790a28643ab058b507b35cBen Cheng kID = 266, 4925b3c049e70834cf33790a28643ab058b507b35cBen Cheng kINPUT = 267, 5025b3c049e70834cf33790a28643ab058b507b35cBen Cheng kINTERP = 268, 5125b3c049e70834cf33790a28643ab058b507b35cBen Cheng kKEEP = 269, 5225b3c049e70834cf33790a28643ab058b507b35cBen Cheng kLOCAL = 270, 5325b3c049e70834cf33790a28643ab058b507b35cBen Cheng kMODE = 271, 5425b3c049e70834cf33790a28643ab058b507b35cBen Cheng kMUL_OP = 272, 5525b3c049e70834cf33790a28643ab058b507b35cBen Cheng kNUM = 273, 5625b3c049e70834cf33790a28643ab058b507b35cBen Cheng kOUTPUT_FORMAT = 274, 5725b3c049e70834cf33790a28643ab058b507b35cBen Cheng kPAGESIZE = 275, 5825b3c049e70834cf33790a28643ab058b507b35cBen Cheng kPROVIDE = 276, 5925b3c049e70834cf33790a28643ab058b507b35cBen Cheng kSEARCH_DIR = 277, 6025b3c049e70834cf33790a28643ab058b507b35cBen Cheng kSEGMENT = 278, 6125b3c049e70834cf33790a28643ab058b507b35cBen Cheng kSIZEOF_HEADERS = 279, 6225b3c049e70834cf33790a28643ab058b507b35cBen Cheng kSORT = 280, 6325b3c049e70834cf33790a28643ab058b507b35cBen Cheng kVERSION = 281, 6425b3c049e70834cf33790a28643ab058b507b35cBen Cheng kVERSION_SCRIPT = 282, 6525b3c049e70834cf33790a28643ab058b507b35cBen Cheng ADD_OP = 283, 6625b3c049e70834cf33790a28643ab058b507b35cBen Cheng MUL_OP = 284 6725b3c049e70834cf33790a28643ab058b507b35cBen Cheng }; 6825b3c049e70834cf33790a28643ab058b507b35cBen Cheng#endif 6925b3c049e70834cf33790a28643ab058b507b35cBen Cheng/* Tokens. */ 7025b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define kADD_OP 258 7125b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define kALIGN 259 7225b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define kAS_NEEDED 260 7325b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define kENTRY 261 7425b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define kEXCLUDE_FILE 262 7525b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define kFILENAME 263 7625b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define kGLOBAL 264 7725b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define kGROUP 265 7825b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define kID 266 7925b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define kINPUT 267 8025b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define kINTERP 268 8125b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define kKEEP 269 8225b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define kLOCAL 270 8325b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define kMODE 271 8425b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define kMUL_OP 272 8525b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define kNUM 273 8625b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define kOUTPUT_FORMAT 274 8725b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define kPAGESIZE 275 8825b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define kPROVIDE 276 8925b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define kSEARCH_DIR 277 9025b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define kSEGMENT 278 9125b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define kSIZEOF_HEADERS 279 9225b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define kSORT 280 9325b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define kVERSION 281 9425b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define kVERSION_SCRIPT 282 9525b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define ADD_OP 283 9625b3c049e70834cf33790a28643ab058b507b35cBen Cheng#define MUL_OP 284 9725b3c049e70834cf33790a28643ab058b507b35cBen Cheng 9825b3c049e70834cf33790a28643ab058b507b35cBen Cheng 9925b3c049e70834cf33790a28643ab058b507b35cBen Cheng 10025b3c049e70834cf33790a28643ab058b507b35cBen Cheng 10125b3c049e70834cf33790a28643ab058b507b35cBen Cheng#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 10225b3c049e70834cf33790a28643ab058b507b35cBen Chengtypedef union YYSTYPE 10325b3c049e70834cf33790a28643ab058b507b35cBen Cheng{ 10425b3c049e70834cf33790a28643ab058b507b35cBen Cheng 10525b3c049e70834cf33790a28643ab058b507b35cBen Cheng/* Line 2068 of yacc.c */ 10625b3c049e70834cf33790a28643ab058b507b35cBen Cheng#line 71 "ldscript.y" 10725b3c049e70834cf33790a28643ab058b507b35cBen Cheng 10825b3c049e70834cf33790a28643ab058b507b35cBen Cheng uintmax_t num; 10925b3c049e70834cf33790a28643ab058b507b35cBen Cheng enum expression_tag op; 11025b3c049e70834cf33790a28643ab058b507b35cBen Cheng char *str; 11125b3c049e70834cf33790a28643ab058b507b35cBen Cheng struct expression *expr; 11225b3c049e70834cf33790a28643ab058b507b35cBen Cheng struct input_section_name *sectionname; 11325b3c049e70834cf33790a28643ab058b507b35cBen Cheng struct filemask_section_name *filemask_section_name; 11425b3c049e70834cf33790a28643ab058b507b35cBen Cheng struct input_rule *input_rule; 11525b3c049e70834cf33790a28643ab058b507b35cBen Cheng struct output_rule *output_rule; 11625b3c049e70834cf33790a28643ab058b507b35cBen Cheng struct assignment *assignment; 11725b3c049e70834cf33790a28643ab058b507b35cBen Cheng struct filename_list *filename_list; 11825b3c049e70834cf33790a28643ab058b507b35cBen Cheng struct version *version; 11925b3c049e70834cf33790a28643ab058b507b35cBen Cheng struct id_list *id_list; 12025b3c049e70834cf33790a28643ab058b507b35cBen Cheng 12125b3c049e70834cf33790a28643ab058b507b35cBen Cheng 12225b3c049e70834cf33790a28643ab058b507b35cBen Cheng 12325b3c049e70834cf33790a28643ab058b507b35cBen Cheng/* Line 2068 of yacc.c */ 12425b3c049e70834cf33790a28643ab058b507b35cBen Cheng#line 125 "ldscript.h" 12525b3c049e70834cf33790a28643ab058b507b35cBen Cheng} YYSTYPE; 12625b3c049e70834cf33790a28643ab058b507b35cBen Cheng# define YYSTYPE_IS_TRIVIAL 1 12725b3c049e70834cf33790a28643ab058b507b35cBen Cheng# define yystype YYSTYPE /* obsolescent; will be withdrawn */ 12825b3c049e70834cf33790a28643ab058b507b35cBen Cheng# define YYSTYPE_IS_DECLARED 1 12925b3c049e70834cf33790a28643ab058b507b35cBen Cheng#endif 13025b3c049e70834cf33790a28643ab058b507b35cBen Cheng 13125b3c049e70834cf33790a28643ab058b507b35cBen Chengextern YYSTYPE ldlval; 13225b3c049e70834cf33790a28643ab058b507b35cBen Cheng 13325b3c049e70834cf33790a28643ab058b507b35cBen Cheng 134