fix some bad ChangeLog dates from today
[deliverable/binutils-gdb.git] / ld / ldlex.h
CommitLineData
252b5132 1/* ldlex.h -
dab69f68
AM
2 Copyright 1991, 1992, 1993, 1994, 1995, 1997, 2000, 2003, 2005, 2006,
3 2007, 2012 Free Software Foundation, Inc.
252b5132 4
f96b4a7b 5 This file is part of the GNU Binutils.
252b5132 6
f96b4a7b 7 This program is free software; you can redistribute it and/or modify
252b5132 8 it under the terms of the GNU General Public License as published by
f96b4a7b
NC
9 the Free Software Foundation; either version 3 of the License, or
10 (at your option) any later version.
252b5132 11
f96b4a7b 12 This program is distributed in the hope that it will be useful,
252b5132
RH
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
f96b4a7b
NC
18 along with this program; if not, write to the Free Software
19 Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
20 MA 02110-1301, USA. */
252b5132
RH
21
22#ifndef LDLEX_H
23#define LDLEX_H
24
25#include <stdio.h>
26
f05eb3b7
AM
27/* Codes used for the long options with no short synonyms. 150 isn't
28 special; it's just an arbitrary non-ASCII char value. */
29enum option_values
30{
31 OPTION_ASSERT = 150,
32 OPTION_CALL_SHARED,
33 OPTION_CREF,
34 OPTION_DEFSYM,
35 OPTION_DEMANGLE,
36 OPTION_DYNAMIC_LINKER,
37 OPTION_SYSROOT,
38 OPTION_EB,
39 OPTION_EL,
40 OPTION_EMBEDDED_RELOCS,
41 OPTION_EXPORT_DYNAMIC,
42 OPTION_NO_EXPORT_DYNAMIC,
43 OPTION_HELP,
44 OPTION_IGNORE,
45 OPTION_MAP,
46 OPTION_NO_DEMANGLE,
47 OPTION_NO_KEEP_MEMORY,
48 OPTION_NO_WARN_MISMATCH,
49 OPTION_NO_WARN_SEARCH_MISMATCH,
50 OPTION_NOINHIBIT_EXEC,
51 OPTION_NON_SHARED,
52 OPTION_NO_WHOLE_ARCHIVE,
53 OPTION_OFORMAT,
54 OPTION_RELAX,
55 OPTION_NO_RELAX,
56 OPTION_RETAIN_SYMBOLS_FILE,
57 OPTION_RPATH,
58 OPTION_RPATH_LINK,
59 OPTION_SHARED,
60 OPTION_SONAME,
61 OPTION_SORT_COMMON,
62 OPTION_SORT_SECTION,
63 OPTION_STATS,
64 OPTION_SYMBOLIC,
65 OPTION_SYMBOLIC_FUNCTIONS,
66 OPTION_TASK_LINK,
67 OPTION_TBSS,
68 OPTION_TDATA,
69 OPTION_TTEXT,
70 OPTION_TTEXT_SEGMENT,
71 OPTION_TRADITIONAL_FORMAT,
72 OPTION_UR,
73 OPTION_VERBOSE,
74 OPTION_VERSION,
75 OPTION_VERSION_SCRIPT,
76 OPTION_VERSION_EXPORTS_SECTION,
77 OPTION_DYNAMIC_LIST,
78 OPTION_DYNAMIC_LIST_CPP_NEW,
79 OPTION_DYNAMIC_LIST_CPP_TYPEINFO,
80 OPTION_DYNAMIC_LIST_DATA,
81 OPTION_WARN_COMMON,
82 OPTION_WARN_CONSTRUCTORS,
83 OPTION_WARN_FATAL,
84 OPTION_NO_WARN_FATAL,
85 OPTION_WARN_MULTIPLE_GP,
86 OPTION_WARN_ONCE,
87 OPTION_WARN_SECTION_ALIGN,
88 OPTION_SPLIT_BY_RELOC,
89 OPTION_SPLIT_BY_FILE ,
90 OPTION_WHOLE_ARCHIVE,
91 OPTION_ADD_DT_NEEDED_FOR_DYNAMIC,
92 OPTION_NO_ADD_DT_NEEDED_FOR_DYNAMIC,
93 OPTION_ADD_DT_NEEDED_FOR_REGULAR,
94 OPTION_NO_ADD_DT_NEEDED_FOR_REGULAR,
95 OPTION_WRAP,
96 OPTION_FORCE_EXE_SUFFIX,
97 OPTION_GC_SECTIONS,
98 OPTION_NO_GC_SECTIONS,
99 OPTION_PRINT_GC_SECTIONS,
100 OPTION_NO_PRINT_GC_SECTIONS,
101 OPTION_HASH_SIZE,
102 OPTION_CHECK_SECTIONS,
103 OPTION_NO_CHECK_SECTIONS,
104 OPTION_NO_UNDEFINED,
105 OPTION_INIT,
106 OPTION_FINI,
107 OPTION_SECTION_START,
108 OPTION_UNIQUE,
109 OPTION_TARGET_HELP,
110 OPTION_ALLOW_SHLIB_UNDEFINED,
111 OPTION_NO_ALLOW_SHLIB_UNDEFINED,
112 OPTION_ALLOW_MULTIPLE_DEFINITION,
113 OPTION_NO_UNDEFINED_VERSION,
114 OPTION_DEFAULT_SYMVER,
115 OPTION_DEFAULT_IMPORTED_SYMVER,
116 OPTION_DISCARD_NONE,
117 OPTION_SPARE_DYNAMIC_TAGS,
118 OPTION_NO_DEFINE_COMMON,
119 OPTION_NOSTDLIB,
120 OPTION_NO_OMAGIC,
121 OPTION_STRIP_DISCARDED,
122 OPTION_NO_STRIP_DISCARDED,
123 OPTION_ACCEPT_UNKNOWN_INPUT_ARCH,
124 OPTION_NO_ACCEPT_UNKNOWN_INPUT_ARCH,
125 OPTION_PIE,
126 OPTION_UNRESOLVED_SYMBOLS,
127 OPTION_WARN_UNRESOLVED_SYMBOLS,
128 OPTION_ERROR_UNRESOLVED_SYMBOLS,
129 OPTION_WARN_SHARED_TEXTREL,
130 OPTION_WARN_ALTERNATE_EM,
131 OPTION_REDUCE_MEMORY_OVERHEADS,
132#ifdef ENABLE_PLUGINS
133 OPTION_PLUGIN,
134 OPTION_PLUGIN_OPT,
135#endif /* ENABLE_PLUGINS */
136 OPTION_DEFAULT_SCRIPT,
137 OPTION_PRINT_OUTPUT_FORMAT,
0e86e20e 138 OPTION_IGNORE_UNRESOLVED_SYMBOL,
f05eb3b7
AM
139};
140
252b5132
RH
141/* The initial parser states. */
142typedef enum input_enum {
143 input_selected, /* We've set the initial state. */
144 input_script,
145 input_mri_script,
146 input_version_script,
55255dae 147 input_dynamic_list,
252b5132
RH
148 input_defsym
149} input_type;
150
151extern input_type parser_input;
152
153extern unsigned int lineno;
154extern const char *lex_string;
155
156/* In ldlex.l. */
1579bae1 157extern int yylex (void);
f4a23d42 158extern void lex_push_file (FILE *, const char *, unsigned int);
dab69f68 159extern void lex_redirect (const char *, const char *, unsigned int);
1579bae1
AM
160extern void ldlex_script (void);
161extern void ldlex_mri_script (void);
162extern void ldlex_version_script (void);
163extern void ldlex_version_file (void);
164extern void ldlex_defsym (void);
165extern void ldlex_expression (void);
166extern void ldlex_both (void);
167extern void ldlex_command (void);
168extern void ldlex_popstate (void);
dab69f68 169extern const char* ldlex_filename (void);
252b5132
RH
170
171/* In lexsup.c. */
1579bae1
AM
172extern int lex_input (void);
173extern void lex_unput (int);
252b5132 174#ifndef yywrap
1579bae1 175extern int yywrap (void);
252b5132 176#endif
1579bae1 177extern void parse_args (unsigned, char **);
252b5132
RH
178
179#endif
This page took 0.540965 seconds and 4 git commands to generate.