Add --section-ordering command line option to the bfd linker.
[binutils-gdb.git] / ld / ldlex.h
blob7a0c3b4be94d5e0c2b904e78f611ba79a28b0d3c
1 /* ldlex.h -
2 Copyright (C) 1991-2024 Free Software Foundation, Inc.
4 This file is part of the GNU Binutils.
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 3 of the License, or
9 (at your option) any later version.
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with this program; if not, write to the Free Software
18 Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
19 MA 02110-1301, USA. */
21 #ifndef LDLEX_H
22 #define LDLEX_H
24 #include <stdio.h>
26 /* Codes used for the long options with no short synonyms. 150 isn't
27 special; it's just an arbitrary non-ASCII char value. */
28 enum option_values
30 OPTION_ASSERT = 150,
31 OPTION_CALL_SHARED,
32 OPTION_CREF,
33 OPTION_DEFSYM,
34 OPTION_DEMANGLE,
35 OPTION_DYNAMIC_LINKER,
36 OPTION_NO_DYNAMIC_LINKER,
37 OPTION_SYSROOT,
38 OPTION_OUT_IMPLIB,
39 OPTION_EB,
40 OPTION_EL,
41 OPTION_EMBEDDED_RELOCS,
42 OPTION_EXPORT_DYNAMIC,
43 OPTION_NO_EXPORT_DYNAMIC,
44 OPTION_HELP,
45 OPTION_IGNORE,
46 OPTION_MAP,
47 OPTION_NO_DEMANGLE,
48 OPTION_NO_KEEP_MEMORY,
49 OPTION_NO_WARN_MISMATCH,
50 OPTION_NO_WARN_SEARCH_MISMATCH,
51 OPTION_NOINHIBIT_EXEC,
52 OPTION_NON_SHARED,
53 OPTION_NO_WHOLE_ARCHIVE,
54 OPTION_OFORMAT,
55 OPTION_RELAX,
56 OPTION_NO_RELAX,
57 OPTION_NO_SYMBOLIC,
58 OPTION_RETAIN_SYMBOLS_FILE,
59 OPTION_RPATH,
60 OPTION_RPATH_LINK,
61 OPTION_SHARED,
62 OPTION_SONAME,
63 OPTION_SORT_COMMON,
64 OPTION_SORT_SECTION,
65 OPTION_SECTION_ORDERING_FILE,
66 OPTION_STATS,
67 OPTION_SYMBOLIC,
68 OPTION_SYMBOLIC_FUNCTIONS,
69 OPTION_TASK_LINK,
70 OPTION_TBSS,
71 OPTION_TDATA,
72 OPTION_TTEXT,
73 OPTION_TTEXT_SEGMENT,
74 OPTION_TRODATA_SEGMENT,
75 OPTION_TLDATA_SEGMENT,
76 OPTION_TRADITIONAL_FORMAT,
77 OPTION_UR,
78 OPTION_VERBOSE,
79 OPTION_VERSION,
80 OPTION_VERSION_SCRIPT,
81 OPTION_VERSION_EXPORTS_SECTION,
82 OPTION_DYNAMIC_LIST,
83 OPTION_DYNAMIC_LIST_CPP_NEW,
84 OPTION_DYNAMIC_LIST_CPP_TYPEINFO,
85 OPTION_DYNAMIC_LIST_DATA,
86 OPTION_EXPORT_DYNAMIC_SYMBOL,
87 OPTION_EXPORT_DYNAMIC_SYMBOL_LIST,
88 OPTION_WARN_COMMON,
89 OPTION_WARN_CONSTRUCTORS,
90 OPTION_WARN_FATAL,
91 OPTION_NO_WARN_FATAL,
92 OPTION_NO_WARNINGS,
93 OPTION_WARN_MULTIPLE_GP,
94 OPTION_WARN_ONCE,
95 OPTION_WARN_SECTION_ALIGN,
96 OPTION_SPLIT_BY_RELOC,
97 OPTION_SPLIT_BY_FILE ,
98 OPTION_WHOLE_ARCHIVE,
99 OPTION_ADD_DT_NEEDED_FOR_DYNAMIC,
100 OPTION_NO_ADD_DT_NEEDED_FOR_DYNAMIC,
101 OPTION_ADD_DT_NEEDED_FOR_REGULAR,
102 OPTION_NO_ADD_DT_NEEDED_FOR_REGULAR,
103 OPTION_WRAP,
104 OPTION_FORCE_EXE_SUFFIX,
105 OPTION_GC_SECTIONS,
106 OPTION_NO_GC_SECTIONS,
107 OPTION_PRINT_GC_SECTIONS,
108 OPTION_NO_PRINT_GC_SECTIONS,
109 OPTION_GC_KEEP_EXPORTED,
110 OPTION_HASH_SIZE,
111 OPTION_CHECK_SECTIONS,
112 OPTION_NO_CHECK_SECTIONS,
113 OPTION_NO_UNDEFINED,
114 OPTION_INIT,
115 OPTION_FINI,
116 OPTION_SECTION_START,
117 OPTION_UNIQUE,
118 OPTION_TARGET_HELP,
119 OPTION_ALLOW_SHLIB_UNDEFINED,
120 OPTION_NO_ALLOW_SHLIB_UNDEFINED,
121 OPTION_ALLOW_MULTIPLE_DEFINITION,
122 #if SUPPORT_ERROR_HANDLING_SCRIPT
123 OPTION_ERROR_HANDLING_SCRIPT,
124 #endif
125 OPTION_UNDEFINED_VERSION,
126 OPTION_NO_UNDEFINED_VERSION,
127 OPTION_DEFAULT_SYMVER,
128 OPTION_DEFAULT_IMPORTED_SYMVER,
129 OPTION_DISCARD_NONE,
130 OPTION_SPARE_DYNAMIC_TAGS,
131 OPTION_NO_DEFINE_COMMON,
132 OPTION_NOSTDLIB,
133 OPTION_NO_OMAGIC,
134 OPTION_STRIP_DISCARDED,
135 OPTION_NO_STRIP_DISCARDED,
136 OPTION_ACCEPT_UNKNOWN_INPUT_ARCH,
137 OPTION_NO_ACCEPT_UNKNOWN_INPUT_ARCH,
138 OPTION_PIE,
139 OPTION_NO_PIE,
140 OPTION_UNRESOLVED_SYMBOLS,
141 OPTION_WARN_UNRESOLVED_SYMBOLS,
142 OPTION_ERROR_UNRESOLVED_SYMBOLS,
143 OPTION_WARN_TEXTREL,
144 OPTION_WARN_ALTERNATE_EM,
145 OPTION_REDUCE_MEMORY_OVERHEADS,
146 OPTION_MAX_CACHE_SIZE,
147 #if BFD_SUPPORTS_PLUGINS
148 OPTION_PLUGIN,
149 OPTION_PLUGIN_OPT,
150 OPTION_PLUGIN_SAVE_TEMPS,
151 #endif /* BFD_SUPPORTS_PLUGINS */
152 OPTION_DEFAULT_SCRIPT,
153 OPTION_PRINT_OUTPUT_FORMAT,
154 OPTION_PRINT_SYSROOT,
155 OPTION_IGNORE_UNRESOLVED_SYMBOL,
156 OPTION_PUSH_STATE,
157 OPTION_POP_STATE,
158 OPTION_DISABLE_MULTIPLE_DEFS_ABS,
159 OPTION_PRINT_MEMORY_USAGE,
160 OPTION_REQUIRE_DEFINED_SYMBOL,
161 OPTION_ORPHAN_HANDLING,
162 OPTION_FORCE_GROUP_ALLOCATION,
163 OPTION_PRINT_MAP_DISCARDED,
164 OPTION_NO_PRINT_MAP_DISCARDED,
165 OPTION_PRINT_MAP_LOCALS,
166 OPTION_NO_PRINT_MAP_LOCALS,
167 OPTION_NON_CONTIGUOUS_REGIONS,
168 OPTION_NON_CONTIGUOUS_REGIONS_WARNINGS,
169 OPTION_DEPENDENCY_FILE,
170 OPTION_CTF_VARIABLES,
171 OPTION_NO_CTF_VARIABLES,
172 OPTION_CTF_SHARE_TYPES,
173 OPTION_ERROR_EXECSTACK,
174 OPTION_NO_ERROR_EXECSTACK,
175 OPTION_WARN_EXECSTACK_OBJECTS,
176 OPTION_WARN_EXECSTACK,
177 OPTION_NO_WARN_EXECSTACK,
178 OPTION_WARN_RWX_SEGMENTS,
179 OPTION_NO_WARN_RWX_SEGMENTS,
180 OPTION_ERROR_RWX_SEGMENTS,
181 OPTION_NO_ERROR_RWX_SEGMENTS,
182 OPTION_ENABLE_LINKER_VERSION,
183 OPTION_DISABLE_LINKER_VERSION,
184 OPTION_REMAP_INPUTS,
185 OPTION_REMAP_INPUTS_FILE,
186 /* Used by emultempl/elf.em, emultempl/pe.em and emultempl/pep.em. */
187 OPTION_BUILD_ID,
188 OPTION_EXCLUDE_LIBS,
189 /* Used by emulparams/elf32mcore.sh, emultempl/beos.em, emultempl/pe.em
190 and emultempl/pep.em. */
191 OPTION_BASE_FILE,
192 /* Used by emultempl/ppc32elf.em and emultempl/ppc64elf.em. */
193 OPTION_NO_INLINE_OPT,
194 OPTION_NO_PLT_ALIGN,
195 OPTION_NO_STUBSYMS,
196 OPTION_NO_TLS_GET_ADDR_OPT,
197 OPTION_NO_TLS_OPT,
198 OPTION_PLT_ALIGN,
199 OPTION_STUBSYMS,
200 /* Used by emultempl/armelf.em and emultempl/tic6xdsbt.em. */
201 OPTION_NO_MERGE_EXIDX_ENTRIES,
202 /* Used by emultempl/aarch64elf.em and emultempl/armelf.em. */
203 OPTION_PIC_VENEER,
204 OPTION_NO_ENUM_SIZE_WARNING,
205 OPTION_NO_WCHAR_SIZE_WARNING,
206 /* Used by emultempl/armelf.em and emultempl/pe.em. */
207 OPTION_THUMB_ENTRY,
208 /* Used by emultempl/beos.em, emultempl/nto.em, emultempl/pe.em and
209 emultempl/pep.em. */
210 OPTION_STACK,
211 /* Used by emultempl/aarch64elf.em, emultempl/armelf.em,
212 emultempl/cskyelf.em, emultempl/hppaelf.em, emultempl/metagelf.em
213 and emultempl/ppc64elf.em. */
214 OPTION_STUBGROUP_SIZE,
215 /* Used by emulparams/plt_unwind.sh. */
216 OPTION_LD_GENERATED_UNWIND_INFO,
217 OPTION_NO_LD_GENERATED_UNWIND_INFO,
218 /* Used by emultempl/aarch64elf.em. */
219 OPTION_FIX_ERRATUM_835769,
220 OPTION_FIX_ERRATUM_843419,
221 OPTION_NO_APPLY_DYNAMIC_RELOCS,
222 /* Used by emultempl/aix.em. */
223 OPTION_AUTOIMP,
224 OPTION_ERNOTOK,
225 OPTION_EROK,
226 OPTION_EXPALL,
227 OPTION_EXPFULL,
228 OPTION_EXPORT,
229 OPTION_IMPORT,
230 OPTION_INITFINI,
231 OPTION_LOADMAP,
232 OPTION_MAXDATA,
233 OPTION_MAXSTACK,
234 OPTION_MODTYPE,
235 OPTION_NOAUTOIMP,
236 OPTION_NOEXPALL,
237 OPTION_NOEXPFULL,
238 OPTION_NOSTRCMPCT,
239 OPTION_PD,
240 OPTION_PT,
241 OPTION_STRCMPCT,
242 OPTION_UNIX,
243 OPTION_32,
244 OPTION_64,
245 OPTION_LIBPATH,
246 OPTION_NOLIBPATH,
247 /* Used by emultempl/alphaelf.em. */
248 OPTION_TASO,
249 OPTION_SECUREPLT,
250 OPTION_NO_SECUREPLT,
251 /* Used by emultempl/armelf.em. */
252 OPTION_BE8,
253 OPTION_TARGET1_REL,
254 OPTION_TARGET1_ABS,
255 OPTION_TARGET2,
256 OPTION_FIX_V4BX,
257 OPTION_USE_BLX,
258 OPTION_VFP11_DENORM_FIX,
259 OPTION_FIX_V4BX_INTERWORKING,
260 OPTION_FIX_CORTEX_A8,
261 OPTION_NO_FIX_CORTEX_A8,
262 OPTION_FIX_ARM1176,
263 OPTION_NO_FIX_ARM1176,
264 OPTION_LONG_PLT,
265 OPTION_STM32L4XX_FIX,
266 OPTION_CMSE_IMPLIB,
267 OPTION_IN_IMPLIB,
268 /* Used by emultempl/avrelf.em. */
269 OPTION_NO_CALL_RET_REPLACEMENT,
270 OPTION_PMEM_WRAP_AROUND,
271 OPTION_NO_STUBS,
272 OPTION_DEBUG_STUBS,
273 OPTION_DEBUG_RELAX,
274 /* Used by emultempl/bfin.em. */
275 OPTION_CODE_IN_L1,
276 OPTION_DATA_IN_L1,
277 /* Used by emultempl/cskyelf.em. */
278 OPTION_BRANCH_STUB,
279 OPTION_NO_BRANCH_STUB,
280 /* Used by emultempl/elf.em. */
281 OPTION_DISABLE_NEW_DTAGS,
282 OPTION_ENABLE_NEW_DTAGS,
283 OPTION_GROUP,
284 OPTION_EH_FRAME_HDR,
285 OPTION_NO_EH_FRAME_HDR,
286 OPTION_HASH_STYLE,
287 OPTION_PACKAGE_METADATA,
288 OPTION_AUDIT,
289 OPTION_COMPRESS_DEBUG,
290 /* Used by emultempl/hppaelf.em. */
291 OPTION_MULTI_SUBSPACE,
292 /* Used by emultempl/ia64elf.em. */
293 OPTION_ITANIUM,
294 /* Used by emultempl/m68hc1xelf.em. */
295 OPTION_NO_TRAMPOLINE,
296 OPTION_BANK_WINDOW,
297 /* Used by emultempl/m68kelf.em. */
298 OPTION_GOT,
299 /* Used by emultempl/mipself.em. */
300 OPTION_INSN32,
301 OPTION_NO_INSN32,
302 OPTION_IGNORE_BRANCH_ISA,
303 OPTION_NO_IGNORE_BRANCH_ISA,
304 OPTION_COMPACT_BRANCHES,
305 OPTION_NO_COMPACT_BRANCHES,
306 /* Used by emultempl/msp430.em. */
307 OPTION_CODE_REGION,
308 OPTION_DATA_REGION,
309 OPTION_DISABLE_TRANS,
310 /* Used by emultempl/nds32elf.em. */
311 OPTION_BASELINE,
312 OPTION_ELIM_GC_RELOCS,
313 OPTION_FP_AS_GP,
314 OPTION_NO_FP_AS_GP,
315 OPTION_REDUCE_FP_UPDATE,
316 OPTION_NO_REDUCE_FP_UPDATE,
317 OPTION_EXPORT_SYMBOLS,
318 OPTION_HYPER_RELAX,
319 OPTION_TLSDESC_TRAMPOLINE,
320 OPTION_NO_TLSDESC_TRAMPOLINE,
321 /* Used by emultempl/nto.em. */
322 OPTION_LAZY_STACK,
323 /* Used by emultempl/pe.em, emultempl/pep.em and emultempl/beos.em. */
324 OPTION_DLL,
325 OPTION_FILE_ALIGNMENT,
326 OPTION_IMAGE_BASE,
327 OPTION_MAJOR_IMAGE_VERSION,
328 OPTION_MAJOR_OS_VERSION,
329 OPTION_MAJOR_SUBSYSTEM_VERSION,
330 OPTION_MINOR_IMAGE_VERSION,
331 OPTION_MINOR_OS_VERSION,
332 OPTION_MINOR_SUBSYSTEM_VERSION,
333 OPTION_SECTION_ALIGNMENT,
334 OPTION_SUBSYSTEM,
335 OPTION_HEAP,
336 OPTION_SUPPORT_OLD_CODE,
337 OPTION_OUT_DEF,
338 OPTION_EXPORT_ALL,
339 OPTION_EXCLUDE_SYMBOLS,
340 OPTION_EXCLUDE_ALL_SYMBOLS,
341 OPTION_KILL_ATS,
342 OPTION_STDCALL_ALIASES,
343 OPTION_ENABLE_STDCALL_FIXUP,
344 OPTION_DISABLE_STDCALL_FIXUP,
345 OPTION_WARN_DUPLICATE_EXPORTS,
346 OPTION_IMP_COMPAT,
347 OPTION_ENABLE_AUTO_IMAGE_BASE,
348 OPTION_DISABLE_AUTO_IMAGE_BASE,
349 OPTION_DLL_SEARCH_PREFIX,
350 OPTION_NO_DEFAULT_EXCLUDES,
351 OPTION_DLL_ENABLE_AUTO_IMPORT,
352 OPTION_DLL_DISABLE_AUTO_IMPORT,
353 OPTION_ENABLE_EXTRA_PE_DEBUG,
354 OPTION_DLL_ENABLE_RUNTIME_PSEUDO_RELOC,
355 OPTION_DLL_DISABLE_RUNTIME_PSEUDO_RELOC,
356 OPTION_LARGE_ADDRESS_AWARE,
357 OPTION_DISABLE_LARGE_ADDRESS_AWARE,
358 OPTION_DLL_ENABLE_RUNTIME_PSEUDO_RELOC_V1,
359 OPTION_DLL_ENABLE_RUNTIME_PSEUDO_RELOC_V2,
360 OPTION_EXCLUDE_MODULES_FOR_IMPLIB,
361 OPTION_USE_NUL_PREFIXED_IMPORT_TABLES,
362 OPTION_NO_LEADING_UNDERSCORE,
363 OPTION_LEADING_UNDERSCORE,
364 OPTION_ENABLE_LONG_SECTION_NAMES,
365 OPTION_DISABLE_LONG_SECTION_NAMES,
366 /* DLLCharacteristics flags. */
367 OPTION_DYNAMIC_BASE,
368 OPTION_FORCE_INTEGRITY,
369 OPTION_NX_COMPAT,
370 OPTION_NO_ISOLATION,
371 OPTION_NO_SEH,
372 OPTION_NO_BIND,
373 OPTION_WDM_DRIVER,
374 OPTION_TERMINAL_SERVER_AWARE,
375 /* Determinism. */
376 OPTION_INSERT_TIMESTAMP,
377 OPTION_NO_INSERT_TIMESTAMP,
378 OPTION_PDB,
379 OPTION_ENABLE_RELOC_SECTION,
380 OPTION_DISABLE_RELOC_SECTION,
381 /* DLL Characteristics flags. */
382 OPTION_DISABLE_DYNAMIC_BASE,
383 OPTION_DISABLE_FORCE_INTEGRITY,
384 OPTION_DISABLE_NX_COMPAT,
385 OPTION_DISABLE_NO_ISOLATION,
386 OPTION_DISABLE_NO_SEH,
387 OPTION_DISABLE_NO_BIND,
388 OPTION_DISABLE_WDM_DRIVER,
389 OPTION_DISABLE_TERMINAL_SERVER_AWARE,
390 /* Used by emultempl/pep.em. */
391 OPTION_DISABLE_HIGH_ENTROPY_VA,
392 OPTION_HIGH_ENTROPY_VA,
393 /* Used by emultempl/ppc32elf.em. */
394 OPTION_NEW_PLT,
395 OPTION_OLD_PLT,
396 OPTION_OLD_GOT,
397 OPTION_PPC476_WORKAROUND,
398 OPTION_NO_PPC476_WORKAROUND,
399 OPTION_NO_PICFIXUP,
400 OPTION_VLE_RELOC_FIXUP,
401 /* Used by emultempl/ppc64elf.em. */
402 OPTION_PLT_STATIC_CHAIN,
403 OPTION_NO_PLT_STATIC_CHAIN,
404 OPTION_PLT_THREAD_SAFE,
405 OPTION_NO_PLT_THREAD_SAFE,
406 OPTION_PLT_LOCALENTRY,
407 OPTION_NO_PLT_LOCALENTRY,
408 OPTION_POWER10_STUBS,
409 OPTION_NO_POWER10_STUBS,
410 OPTION_NO_PCREL_OPT,
411 OPTION_SAVRES,
412 OPTION_NO_SAVRES,
413 OPTION_DOTSYMS,
414 OPTION_NO_DOTSYMS,
415 OPTION_TLS_GET_ADDR_OPT,
416 OPTION_TLS_GET_ADDR_REGSAVE,
417 OPTION_NO_TLS_GET_ADDR_REGSAVE,
418 OPTION_NO_OPD_OPT,
419 OPTION_NO_TOC_OPT,
420 OPTION_NO_MULTI_TOC,
421 OPTION_NO_TOC_SORT,
422 OPTION_NON_OVERLAPPING_OPD,
423 /* Used by emultempl/riscvelf.em. */
424 OPTION_RELAX_GP,
425 OPTION_NO_RELAX_GP,
426 OPTION_CHECK_ULEB128,
427 OPTION_NO_CHECK_ULEB128,
428 /* Used by emultempl/rxelf.em. */
429 OPTION_NO_FLAG_MISMATCH_WARNINGS,
430 OPTION_IGNORE_LMA,
431 OPTION_NO_IGNORE_LMA,
432 OPTION_FLAG_MISMATCH_WARNINGS,
433 /* Used by emultempl/s390.em. */
434 OPTION_PGSTE,
435 /* Used by emultempl/spuelf.em. */
436 OPTION_SPU_PLUGIN,
437 OPTION_SPU_NO_OVERLAYS,
438 OPTION_SPU_COMPACT_STUBS,
439 OPTION_SPU_STUB_SYMS,
440 OPTION_SPU_NON_OVERLAY_STUBS,
441 OPTION_SPU_LOCAL_STORE,
442 OPTION_SPU_STACK_ANALYSIS,
443 OPTION_SPU_STACK_SYMS,
444 OPTION_SPU_AUTO_OVERLAY,
445 OPTION_SPU_AUTO_RELINK,
446 OPTION_SPU_OVERLAY_RODATA,
447 OPTION_SPU_SOFT_ICACHE,
448 OPTION_SPU_LINE_SIZE,
449 OPTION_SPU_NUM_LINES,
450 OPTION_SPU_LRLIVE,
451 OPTION_SPU_NON_IA_TEXT,
452 OPTION_SPU_FIXED_SPACE,
453 OPTION_SPU_RESERVED_SPACE,
454 OPTION_SPU_EXTRA_STACK,
455 OPTION_SPU_NO_AUTO_OVERLAY,
456 OPTION_SPU_EMIT_FIXUPS,
457 /* Used by emultempl/tic6xdsbt.em. */
458 OPTION_DSBT_INDEX,
459 OPTION_DSBT_SIZE,
460 /* Used by emultempl/ticoff.em. */
461 OPTION_COFF_FORMAT,
462 /* Used by emultempl/vms.em. */
463 OPTION_IDENTIFICATION,
464 /* Used by emultempl/vxworks.em. */
465 OPTION_FORCE_DYNAMIC,
466 /* Used by emultempl/xtensaelf.em. */
467 OPTION_OPT_SIZEOPT,
468 OPTION_LITERAL_MOVEMENT,
469 OPTION_NO_LITERAL_MOVEMENT,
470 OPTION_ABI_WINDOWED,
471 OPTION_ABI_CALL0,
474 /* The initial parser states. */
475 typedef enum input_enum
477 input_selected, /* We've set the initial state. */
478 input_script,
479 input_mri_script,
480 input_version_script,
481 input_section_ordering_script,
482 input_dynamic_list,
483 input_defsym
484 } input_type;
486 extern input_type parser_input;
488 extern unsigned int lineno;
489 extern const char *lex_string;
491 /* In ldlex.l. */
492 extern int yylex (void);
493 extern void lex_push_file (FILE *, const char *, unsigned int);
494 extern void lex_redirect (const char *, const char *, unsigned int);
495 extern void ldlex_script (void);
496 extern void ldlex_inputlist (void);
497 extern void ldlex_mri_script (void);
498 extern void ldlex_version_script (void);
499 extern void ldlex_version_file (void);
500 extern void ldlex_expression (void);
501 extern void ldlex_wild (void);
502 extern void ldlex_popstate (void);
503 extern void ldlex_backup (void);
504 extern const char* ldlex_filename (void);
506 /* In lexsup.c. */
507 extern int lex_input (void);
508 extern void lex_unput (int);
509 extern void parse_args (unsigned, char **);
511 #endif