* as.c (dump_statistics): Compute data size as the delta between
[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,
138};
139
252b5132
RH
140/* The initial parser states. */
141typedef enum input_enum {
142 input_selected, /* We've set the initial state. */
143 input_script,
144 input_mri_script,
145 input_version_script,
55255dae 146 input_dynamic_list,
252b5132
RH
147 input_defsym
148} input_type;
149
150extern input_type parser_input;
151
152extern unsigned int lineno;
153extern const char *lex_string;
154
155/* In ldlex.l. */
1579bae1 156extern int yylex (void);
f4a23d42 157extern void lex_push_file (FILE *, const char *, unsigned int);
dab69f68 158extern void lex_redirect (const char *, const char *, unsigned int);
1579bae1
AM
159extern void ldlex_script (void);
160extern void ldlex_mri_script (void);
161extern void ldlex_version_script (void);
162extern void ldlex_version_file (void);
163extern void ldlex_defsym (void);
164extern void ldlex_expression (void);
165extern void ldlex_both (void);
166extern void ldlex_command (void);
167extern void ldlex_popstate (void);
dab69f68 168extern const char* ldlex_filename (void);
252b5132
RH
169
170/* In lexsup.c. */
1579bae1
AM
171extern int lex_input (void);
172extern void lex_unput (int);
252b5132 173#ifndef yywrap
1579bae1 174extern int yywrap (void);
252b5132 175#endif
1579bae1 176extern void parse_args (unsigned, char **);
252b5132
RH
177
178#endif
This page took 0.510108 seconds and 4 git commands to generate.