X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=ld%2Fldlex.h;h=52f7198ad2ccec4a96474f2d865392657d6333da;hb=6598661d14c90cabac1daa5e683d1e17883b2e41;hp=9663ce0d29485587e8ade49c9ff9cc0e731ed5c4;hpb=aa820537ead0135a7c38c619039dce8a6fc74ed1;p=deliverable%2Fbinutils-gdb.git diff --git a/ld/ldlex.h b/ld/ldlex.h index 9663ce0d29..52f7198ad2 100644 --- a/ld/ldlex.h +++ b/ld/ldlex.h @@ -1,6 +1,5 @@ /* ldlex.h - - Copyright 1991, 1992, 1993, 1994, 1995, 1997, 2000, 2003, 2005, 2006, 2007 - Free Software Foundation, Inc. + Copyright (C) 1991-2016 Free Software Foundation, Inc. This file is part of the GNU Binutils. @@ -24,6 +23,130 @@ #include +/* Codes used for the long options with no short synonyms. 150 isn't + special; it's just an arbitrary non-ASCII char value. */ +enum option_values +{ + OPTION_ASSERT = 150, + OPTION_CALL_SHARED, + OPTION_CREF, + OPTION_DEFSYM, + OPTION_DEMANGLE, + OPTION_DYNAMIC_LINKER, + OPTION_NO_DYNAMIC_LINKER, + OPTION_SYSROOT, + OPTION_OUT_IMPLIB, + OPTION_EB, + OPTION_EL, + OPTION_EMBEDDED_RELOCS, + OPTION_EXPORT_DYNAMIC, + OPTION_NO_EXPORT_DYNAMIC, + OPTION_HELP, + OPTION_IGNORE, + OPTION_MAP, + OPTION_NO_DEMANGLE, + OPTION_NO_KEEP_MEMORY, + OPTION_NO_WARN_MISMATCH, + OPTION_NO_WARN_SEARCH_MISMATCH, + OPTION_NOINHIBIT_EXEC, + OPTION_NON_SHARED, + OPTION_NO_WHOLE_ARCHIVE, + OPTION_OFORMAT, + OPTION_RELAX, + OPTION_NO_RELAX, + OPTION_RETAIN_SYMBOLS_FILE, + OPTION_RPATH, + OPTION_RPATH_LINK, + OPTION_SHARED, + OPTION_SONAME, + OPTION_SORT_COMMON, + OPTION_SORT_SECTION, + OPTION_STATS, + OPTION_SYMBOLIC, + OPTION_SYMBOLIC_FUNCTIONS, + OPTION_TASK_LINK, + OPTION_TBSS, + OPTION_TDATA, + OPTION_TTEXT, + OPTION_TTEXT_SEGMENT, + OPTION_TRODATA_SEGMENT, + OPTION_TLDATA_SEGMENT, + OPTION_TRADITIONAL_FORMAT, + OPTION_UR, + OPTION_VERBOSE, + OPTION_VERSION, + OPTION_VERSION_SCRIPT, + OPTION_VERSION_EXPORTS_SECTION, + OPTION_DYNAMIC_LIST, + OPTION_DYNAMIC_LIST_CPP_NEW, + OPTION_DYNAMIC_LIST_CPP_TYPEINFO, + OPTION_DYNAMIC_LIST_DATA, + OPTION_WARN_COMMON, + OPTION_WARN_CONSTRUCTORS, + OPTION_WARN_FATAL, + OPTION_NO_WARN_FATAL, + OPTION_WARN_MULTIPLE_GP, + OPTION_WARN_ONCE, + OPTION_WARN_SECTION_ALIGN, + OPTION_SPLIT_BY_RELOC, + OPTION_SPLIT_BY_FILE , + OPTION_WHOLE_ARCHIVE, + OPTION_ADD_DT_NEEDED_FOR_DYNAMIC, + OPTION_NO_ADD_DT_NEEDED_FOR_DYNAMIC, + OPTION_ADD_DT_NEEDED_FOR_REGULAR, + OPTION_NO_ADD_DT_NEEDED_FOR_REGULAR, + OPTION_WRAP, + OPTION_FORCE_EXE_SUFFIX, + OPTION_GC_SECTIONS, + OPTION_NO_GC_SECTIONS, + OPTION_PRINT_GC_SECTIONS, + OPTION_NO_PRINT_GC_SECTIONS, + OPTION_HASH_SIZE, + OPTION_CHECK_SECTIONS, + OPTION_NO_CHECK_SECTIONS, + OPTION_NO_UNDEFINED, + OPTION_INIT, + OPTION_FINI, + OPTION_SECTION_START, + OPTION_UNIQUE, + OPTION_TARGET_HELP, + OPTION_ALLOW_SHLIB_UNDEFINED, + OPTION_NO_ALLOW_SHLIB_UNDEFINED, + OPTION_ALLOW_MULTIPLE_DEFINITION, + OPTION_NO_UNDEFINED_VERSION, + OPTION_DEFAULT_SYMVER, + OPTION_DEFAULT_IMPORTED_SYMVER, + OPTION_DISCARD_NONE, + OPTION_SPARE_DYNAMIC_TAGS, + OPTION_NO_DEFINE_COMMON, + OPTION_NOSTDLIB, + OPTION_NO_OMAGIC, + OPTION_STRIP_DISCARDED, + OPTION_NO_STRIP_DISCARDED, + OPTION_ACCEPT_UNKNOWN_INPUT_ARCH, + OPTION_NO_ACCEPT_UNKNOWN_INPUT_ARCH, + OPTION_PIE, + OPTION_UNRESOLVED_SYMBOLS, + OPTION_WARN_UNRESOLVED_SYMBOLS, + OPTION_ERROR_UNRESOLVED_SYMBOLS, + OPTION_WARN_SHARED_TEXTREL, + OPTION_WARN_ALTERNATE_EM, + OPTION_REDUCE_MEMORY_OVERHEADS, +#ifdef ENABLE_PLUGINS + OPTION_PLUGIN, + OPTION_PLUGIN_OPT, +#endif /* ENABLE_PLUGINS */ + OPTION_DEFAULT_SCRIPT, + OPTION_PRINT_OUTPUT_FORMAT, + OPTION_PRINT_SYSROOT, + OPTION_IGNORE_UNRESOLVED_SYMBOL, + OPTION_PUSH_STATE, + OPTION_POP_STATE, + OPTION_PRINT_MEMORY_USAGE, + OPTION_REQUIRE_DEFINED_SYMBOL, + OPTION_ORPHAN_HANDLING, +}; + /* The initial parser states. */ typedef enum input_enum { input_selected, /* We've set the initial state. */ @@ -41,9 +164,10 @@ extern const char *lex_string; /* In ldlex.l. */ extern int yylex (void); -extern void lex_push_file (FILE *, const char *); -extern void lex_redirect (const char *); +extern void lex_push_file (FILE *, const char *, unsigned int); +extern void lex_redirect (const char *, const char *, unsigned int); extern void ldlex_script (void); +extern void ldlex_inputlist (void); extern void ldlex_mri_script (void); extern void ldlex_version_script (void); extern void ldlex_version_file (void); @@ -52,6 +176,7 @@ extern void ldlex_expression (void); extern void ldlex_both (void); extern void ldlex_command (void); extern void ldlex_popstate (void); +extern const char* ldlex_filename (void); /* In lexsup.c. */ extern int lex_input (void);