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