authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2017-08-28 03:12:23-04:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2017-08-28 03:12:23-04:00
loge6b7b8a0706aad320d2f4f24951a70468477d8a0
tree247cc756f3657e299d7ee1640f46dc51e0168f34
parent1a1414fc42c7beb25b6de4134d99884ea6544b57

build: use embedded LLD by default


5 files changed, 855 insertions(+), 2 deletions(-)

CMakeLists.txt+134-2
...@@ -22,6 +22,9 @@ set(ZIG_EACH_LIB_RPATH off CACHE BOOL "Add each dynamic library to rpath for nat...@@ -22,6 +22,9 @@ set(ZIG_EACH_LIB_RPATH off CACHE BOOL "Add each dynamic library to rpath for nat
2222
23option(ZIG_TEST_COVERAGE "Build Zig with test coverage instrumentation" OFF)23option(ZIG_TEST_COVERAGE "Build Zig with test coverage instrumentation" OFF)
2424
25# To see what patches have been applied to LLD in this repository:
26# git log -p -- deps/lld
27option(ZIG_FORCE_EXTERNAL_LLD "If your system has the LLD patches use it instead of the embedded LLD" OFF)
2528
2629
27find_package(llvm)30find_package(llvm)
...@@ -31,8 +34,137 @@ link_directories(${LLVM_LIBDIRS})...@@ -31,8 +34,137 @@ link_directories(${LLVM_LIBDIRS})
31find_package(clang)34find_package(clang)
32include_directories(${CLANG_INCLUDE_DIRS})35include_directories(${CLANG_INCLUDE_DIRS})
3336
34find_package(lld)37if(ZIG_FORCE_EXTERNAL_LLD)
35include_directories(${LLD_INCLUDE_DIRS})38 find_package(lld)
39 include_directories(${LLD_INCLUDE_DIRS})
40else()
41 set(EMBEDDED_LLD_LIB_SOURCES
42 "${CMAKE_SOURCE_DIR}/deps/lld/lib/Driver/DarwinLdDriver.cpp"
43 "${CMAKE_SOURCE_DIR}/deps/lld/lib/Config/Version.cpp"
44 "${CMAKE_SOURCE_DIR}/deps/lld/lib/ReaderWriter/YAML/ReaderWriterYAML.cpp"
45 "${CMAKE_SOURCE_DIR}/deps/lld/lib/ReaderWriter/MachO/LayoutPass.cpp"
46 "${CMAKE_SOURCE_DIR}/deps/lld/lib/ReaderWriter/MachO/ArchHandler.cpp"
47 "${CMAKE_SOURCE_DIR}/deps/lld/lib/ReaderWriter/MachO/ArchHandler_arm64.cpp"
48 "${CMAKE_SOURCE_DIR}/deps/lld/lib/ReaderWriter/MachO/ObjCPass.cpp"
49 "${CMAKE_SOURCE_DIR}/deps/lld/lib/ReaderWriter/MachO/MachONormalizedFileBinaryReader.cpp"
50 "${CMAKE_SOURCE_DIR}/deps/lld/lib/ReaderWriter/MachO/CompactUnwindPass.cpp"
51 "${CMAKE_SOURCE_DIR}/deps/lld/lib/ReaderWriter/MachO/MachONormalizedFileToAtoms.cpp"
52 "${CMAKE_SOURCE_DIR}/deps/lld/lib/ReaderWriter/MachO/TLVPass.cpp"
53 "${CMAKE_SOURCE_DIR}/deps/lld/lib/ReaderWriter/MachO/MachONormalizedFileYAML.cpp"
54 "${CMAKE_SOURCE_DIR}/deps/lld/lib/ReaderWriter/MachO/GOTPass.cpp"
55 "${CMAKE_SOURCE_DIR}/deps/lld/lib/ReaderWriter/MachO/ArchHandler_x86.cpp"
56 "${CMAKE_SOURCE_DIR}/deps/lld/lib/ReaderWriter/MachO/MachONormalizedFileBinaryWriter.cpp"
57 "${CMAKE_SOURCE_DIR}/deps/lld/lib/ReaderWriter/MachO/ArchHandler_x86_64.cpp"
58 "${CMAKE_SOURCE_DIR}/deps/lld/lib/ReaderWriter/MachO/MachOLinkingContext.cpp"
59 "${CMAKE_SOURCE_DIR}/deps/lld/lib/ReaderWriter/MachO/ShimPass.cpp"
60 "${CMAKE_SOURCE_DIR}/deps/lld/lib/ReaderWriter/MachO/WriterMachO.cpp"
61 "${CMAKE_SOURCE_DIR}/deps/lld/lib/ReaderWriter/MachO/StubsPass.cpp"
62 "${CMAKE_SOURCE_DIR}/deps/lld/lib/ReaderWriter/MachO/ArchHandler_arm.cpp"
63 "${CMAKE_SOURCE_DIR}/deps/lld/lib/ReaderWriter/MachO/MachONormalizedFileFromAtoms.cpp"
64 "${CMAKE_SOURCE_DIR}/deps/lld/lib/ReaderWriter/FileArchive.cpp"
65 "${CMAKE_SOURCE_DIR}/deps/lld/lib/Core/TargetOptionsCommandFlags.cpp"
66 "${CMAKE_SOURCE_DIR}/deps/lld/lib/Core/File.cpp"
67 "${CMAKE_SOURCE_DIR}/deps/lld/lib/Core/Error.cpp"
68 "${CMAKE_SOURCE_DIR}/deps/lld/lib/Core/SymbolTable.cpp"
69 "${CMAKE_SOURCE_DIR}/deps/lld/lib/Core/Reader.cpp"
70 "${CMAKE_SOURCE_DIR}/deps/lld/lib/Core/Reproduce.cpp"
71 "${CMAKE_SOURCE_DIR}/deps/lld/lib/Core/Writer.cpp"
72 "${CMAKE_SOURCE_DIR}/deps/lld/lib/Core/LinkingContext.cpp"
73 "${CMAKE_SOURCE_DIR}/deps/lld/lib/Core/Resolver.cpp"
74 "${CMAKE_SOURCE_DIR}/deps/lld/lib/Core/DefinedAtom.cpp"
75 )
76 set(EMBEDDED_LLD_ELF_SOURCES
77 "${CMAKE_SOURCE_DIR}/deps/lld/ELF/ScriptLexer.cpp"
78 "${CMAKE_SOURCE_DIR}/deps/lld/ELF/Arch/AMDGPU.cpp"
79 "${CMAKE_SOURCE_DIR}/deps/lld/ELF/Arch/PPC.cpp"
80 "${CMAKE_SOURCE_DIR}/deps/lld/ELF/Arch/ARM.cpp"
81 "${CMAKE_SOURCE_DIR}/deps/lld/ELF/Arch/AVR.cpp"
82 "${CMAKE_SOURCE_DIR}/deps/lld/ELF/Arch/SPARCV9.cpp"
83 "${CMAKE_SOURCE_DIR}/deps/lld/ELF/Arch/Mips.cpp"
84 "${CMAKE_SOURCE_DIR}/deps/lld/ELF/Arch/AArch64.cpp"
85 "${CMAKE_SOURCE_DIR}/deps/lld/ELF/Arch/X86_64.cpp"
86 "${CMAKE_SOURCE_DIR}/deps/lld/ELF/Arch/PPC64.cpp"
87 "${CMAKE_SOURCE_DIR}/deps/lld/ELF/Arch/MipsArchTree.cpp"
88 "${CMAKE_SOURCE_DIR}/deps/lld/ELF/Arch/X86.cpp"
89 "${CMAKE_SOURCE_DIR}/deps/lld/ELF/GdbIndex.cpp"
90 "${CMAKE_SOURCE_DIR}/deps/lld/ELF/Driver.cpp"
91 "${CMAKE_SOURCE_DIR}/deps/lld/ELF/Relocations.cpp"
92 "${CMAKE_SOURCE_DIR}/deps/lld/ELF/Error.cpp"
93 "${CMAKE_SOURCE_DIR}/deps/lld/ELF/LTO.cpp"
94 "${CMAKE_SOURCE_DIR}/deps/lld/ELF/Strings.cpp"
95 "${CMAKE_SOURCE_DIR}/deps/lld/ELF/ScriptParser.cpp"
96 "${CMAKE_SOURCE_DIR}/deps/lld/ELF/MarkLive.cpp"
97 "${CMAKE_SOURCE_DIR}/deps/lld/ELF/SyntheticSections.cpp"
98 "${CMAKE_SOURCE_DIR}/deps/lld/ELF/SymbolTable.cpp"
99 "${CMAKE_SOURCE_DIR}/deps/lld/ELF/LinkerScript.cpp"
100 "${CMAKE_SOURCE_DIR}/deps/lld/ELF/EhFrame.cpp"
101 "${CMAKE_SOURCE_DIR}/deps/lld/ELF/Target.cpp"
102 "${CMAKE_SOURCE_DIR}/deps/lld/ELF/Filesystem.cpp"
103 "${CMAKE_SOURCE_DIR}/deps/lld/ELF/OutputSections.cpp"
104 "${CMAKE_SOURCE_DIR}/deps/lld/ELF/Symbols.cpp"
105 "${CMAKE_SOURCE_DIR}/deps/lld/ELF/ICF.cpp"
106 "${CMAKE_SOURCE_DIR}/deps/lld/ELF/InputFiles.cpp"
107 "${CMAKE_SOURCE_DIR}/deps/lld/ELF/Thunks.cpp"
108 "${CMAKE_SOURCE_DIR}/deps/lld/ELF/DriverUtils.cpp"
109 "${CMAKE_SOURCE_DIR}/deps/lld/ELF/Writer.cpp"
110 "${CMAKE_SOURCE_DIR}/deps/lld/ELF/InputSection.cpp"
111 "${CMAKE_SOURCE_DIR}/deps/lld/ELF/MapFile.cpp"
112 )
113 set(EMBEDDED_LLD_COFF_SOURCES
114 "${CMAKE_SOURCE_DIR}/deps/lld/COFF/DLL.cpp"
115 "${CMAKE_SOURCE_DIR}/deps/lld/COFF/Driver.cpp"
116 "${CMAKE_SOURCE_DIR}/deps/lld/COFF/Chunks.cpp"
117 "${CMAKE_SOURCE_DIR}/deps/lld/COFF/PDB.cpp"
118 "${CMAKE_SOURCE_DIR}/deps/lld/COFF/Error.cpp"
119 "${CMAKE_SOURCE_DIR}/deps/lld/COFF/LTO.cpp"
120 "${CMAKE_SOURCE_DIR}/deps/lld/COFF/Strings.cpp"
121 "${CMAKE_SOURCE_DIR}/deps/lld/COFF/MarkLive.cpp"
122 "${CMAKE_SOURCE_DIR}/deps/lld/COFF/SymbolTable.cpp"
123 "${CMAKE_SOURCE_DIR}/deps/lld/COFF/Symbols.cpp"
124 "${CMAKE_SOURCE_DIR}/deps/lld/COFF/ICF.cpp"
125 "${CMAKE_SOURCE_DIR}/deps/lld/COFF/InputFiles.cpp"
126 "${CMAKE_SOURCE_DIR}/deps/lld/COFF/DriverUtils.cpp"
127 "${CMAKE_SOURCE_DIR}/deps/lld/COFF/Writer.cpp"
128 "${CMAKE_SOURCE_DIR}/deps/lld/COFF/MapFile.cpp"
129 )
130 add_library(embedded_lld_lib ${EMBEDDED_LLD_LIB_SOURCES})
131 add_library(embedded_lld_elf ${EMBEDDED_LLD_ELF_SOURCES})
132 add_library(embedded_lld_coff ${EMBEDDED_LLD_COFF_SOURCES})
133 set_target_properties(embedded_lld_lib PROPERTIES
134 COMPILE_FLAGS "-std=c++11 -fno-exceptions -fno-rtti -Wno-comment"
135 LINK_FLAGS " "
136 )
137 set_target_properties(embedded_lld_elf PROPERTIES
138 COMPILE_FLAGS "-std=c++11 -fno-exceptions -fno-rtti -Wno-comment"
139 LINK_FLAGS " "
140 )
141 set_target_properties(embedded_lld_coff PROPERTIES
142 COMPILE_FLAGS "-std=c++11 -fno-exceptions -fno-rtti -Wno-comment"
143 LINK_FLAGS " "
144 )
145 target_include_directories(embedded_lld_lib PUBLIC
146 "${CMAKE_SOURCE_DIR}/deps/lld/include"
147 "${CMAKE_SOURCE_DIR}/deps/lld-prebuilt"
148 )
149 target_include_directories(embedded_lld_elf PUBLIC
150 "${CMAKE_SOURCE_DIR}/deps/lld/ELF"
151 "${CMAKE_SOURCE_DIR}/deps/lld/include"
152 "${CMAKE_SOURCE_DIR}/deps/lld-prebuilt/ELF"
153 "${CMAKE_SOURCE_DIR}/deps/lld-prebuilt"
154 )
155 target_include_directories(embedded_lld_coff PUBLIC
156 "${CMAKE_SOURCE_DIR}/deps/lld/COFF"
157 "${CMAKE_SOURCE_DIR}/deps/lld/include"
158 "${CMAKE_SOURCE_DIR}/deps/lld-prebuilt/COFF"
159 "${CMAKE_SOURCE_DIR}/deps/lld-prebuilt"
160 )
161 set(LLD_INCLUDE_DIRS "")
162 set(LLD_LIBRARIES
163 embedded_lld_lib
164 embedded_lld_elf
165 embedded_lld_coff
166 )
167endif()
36168
37find_package(Threads)169find_package(Threads)
38170
deps/lld-prebuilt/COFF/Options.inc created+174
...@@ -0,0 +1,174 @@
1/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
2|* *|
3|* Option Parsing Definitions *|
4|* *|
5|* Automatically generated file, do not edit! *|
6|* *|
7\*===----------------------------------------------------------------------===*/
8
9/////////
10// Prefixes
11
12#ifdef PREFIX
13#define COMMA ,
14PREFIX(prefix_0, {nullptr})
15PREFIX(prefix_2, {"/" COMMA "-" COMMA nullptr})
16PREFIX(prefix_1, {"/" COMMA "-" COMMA "-?" COMMA nullptr})
17PREFIX(prefix_3, {"/?" COMMA "-?" COMMA nullptr})
18#undef COMMA
19#endif // PREFIX
20
21/////////
22// Groups
23
24#ifdef OPTION
25
26//////////
27// Options
28
29OPTION(prefix_0, "<input>", INPUT, Input, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
30OPTION(prefix_0, "<unknown>", UNKNOWN, Unknown, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
31OPTION(prefix_1, "align:", align, Joined, INVALID, INVALID, nullptr, 0, 0,
32 "Section alignment", nullptr, nullptr)
33OPTION(prefix_1, "allowbind:no", allowbind_no, Flag, INVALID, INVALID, nullptr, 0, 0,
34 "Disable DLL binding", nullptr, nullptr)
35OPTION(prefix_1, "allowbind", allowbind, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
36OPTION(prefix_1, "allowisolation:no", allowisolation_no, Flag, INVALID, INVALID, nullptr, 0, 0,
37 "Set NO_ISOLATION bit", nullptr, nullptr)
38OPTION(prefix_1, "allowisolation", allowisolation, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
39OPTION(prefix_1, "alternatename:", alternatename, Joined, INVALID, INVALID, nullptr, 0, 0,
40 "Define weak alias", nullptr, nullptr)
41OPTION(prefix_1, "appcontainer:no", appcontainer_no, Flag, INVALID, INVALID, nullptr, 0, 0,
42 "Image can only be run in an app container", nullptr, nullptr)
43OPTION(prefix_1, "appcontainer", appcontainer, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
44OPTION(prefix_1, "base:", base, Joined, INVALID, INVALID, nullptr, 0, 0,
45 "Base address of the program", nullptr, nullptr)
46OPTION(prefix_1, "debugtype:", debugtype, Joined, INVALID, INVALID, nullptr, 0, 0,
47 "Debug Info Options", nullptr, nullptr)
48OPTION(prefix_1, "debug", debug, Flag, INVALID, INVALID, nullptr, 0, 0,
49 "Embed a symbol table in the image", nullptr, nullptr)
50OPTION(prefix_2, "def:", deffile, Joined, INVALID, INVALID, nullptr, 0, 0,
51 "Use module-definition file", nullptr, nullptr)
52OPTION(prefix_1, "defaultlib:", defaultlib, Joined, INVALID, INVALID, nullptr, 0, 0,
53 "Add the library to the list of input files", nullptr, nullptr)
54OPTION(prefix_1, "delay:", delay, Joined, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
55OPTION(prefix_1, "delayload:", delayload, Joined, INVALID, INVALID, nullptr, 0, 0,
56 "Delay loaded DLL name", nullptr, nullptr)
57OPTION(prefix_1, "disallowlib:", disallowlib, Joined, INVALID, nodefaultlib, nullptr, 0, 0, nullptr, nullptr, nullptr)
58OPTION(prefix_1, "dll", dll, Flag, INVALID, INVALID, nullptr, 0, 0,
59 "Create a DLL", nullptr, nullptr)
60OPTION(prefix_1, "driver:", driver, Joined, INVALID, INVALID, nullptr, 0, 0,
61 "Generate a Windows NT Kernel Mode Driver", nullptr, nullptr)
62OPTION(prefix_1, "dynamicbase:no", dynamicbase_no, Flag, INVALID, INVALID, nullptr, 0, 0,
63 "Disable address space layout randomization", nullptr, nullptr)
64OPTION(prefix_1, "dynamicbase", dynamicbase, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
65OPTION(prefix_1, "editandcontinue", editandcontinue, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
66OPTION(prefix_1, "entry:", entry, Joined, INVALID, INVALID, nullptr, 0, 0,
67 "Name of entry point symbol", nullptr, nullptr)
68OPTION(prefix_1, "errorlimit:", errorlimit, Joined, INVALID, INVALID, nullptr, 0, 0,
69 "Maximum number of errors to emit before stopping (0 = no limit)", nullptr, nullptr)
70OPTION(prefix_1, "errorreport:", errorreport, Joined, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
71OPTION(prefix_1, "export:", export, Joined, INVALID, INVALID, nullptr, 0, 0,
72 "Export a function", nullptr, nullptr)
73OPTION(prefix_1, "failifmismatch:", failifmismatch, Joined, INVALID, INVALID, nullptr, 0, 0,
74 "", nullptr, nullptr)
75OPTION(prefix_1, "fastfail", fastfail, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
76OPTION(prefix_1, "fixed:no", fixed_no, Flag, INVALID, INVALID, nullptr, 0, 0,
77 "Enable base relocations", nullptr, nullptr)
78OPTION(prefix_1, "fixed", fixed, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
79OPTION(prefix_1, "force:unresolved", force_unresolved, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
80OPTION(prefix_1, "force", force, Flag, INVALID, INVALID, nullptr, 0, 0,
81 "Allow undefined symbols when creating executables", nullptr, nullptr)
82OPTION(prefix_1, "functionpadmin", functionpadmin, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
83OPTION(prefix_1, "guardsym:", guardsym, Joined, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
84OPTION(prefix_1, "heap:", heap, Joined, INVALID, INVALID, nullptr, 0, 0,
85 "Size of the heap", nullptr, nullptr)
86OPTION(prefix_1, "help", help, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
87OPTION(prefix_1, "highentropyva:no", highentropyva_no, Flag, INVALID, INVALID, nullptr, 0, 0,
88 "Set HIGH_ENTROPY_VA bit", nullptr, nullptr)
89OPTION(prefix_1, "highentropyva", highentropyva, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
90OPTION(prefix_1, "idlout:", idlout, Joined, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
91OPTION(prefix_1, "ignore:", ignore, Joined, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
92OPTION(prefix_1, "ignoreidl", ignoreidl, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
93OPTION(prefix_1, "implib:", implib, Joined, INVALID, INVALID, nullptr, 0, 0,
94 "Import library name", nullptr, nullptr)
95OPTION(prefix_2, "include:", incl, Joined, INVALID, INVALID, nullptr, 0, 0,
96 "Force symbol to be added to symbol table as undefined one", nullptr, nullptr)
97OPTION(prefix_1, "incremental:no", no_incremental, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
98OPTION(prefix_1, "incremental", incremental, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
99OPTION(prefix_1, "largeaddressaware:no", largeaddressaware_no, Flag, INVALID, INVALID, nullptr, 0, 0,
100 "Disable large addresses", nullptr, nullptr)
101OPTION(prefix_1, "largeaddressaware", largeaddressaware, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
102OPTION(prefix_1, "libpath:", libpath, Joined, INVALID, INVALID, nullptr, 0, 0,
103 "Additional library search path", nullptr, nullptr)
104OPTION(prefix_1, "linkrepro:", linkrepro, Joined, INVALID, INVALID, nullptr, 0, 0,
105 "Dump linker invocation and input files for debugging", nullptr, nullptr)
106OPTION(prefix_2, "lldmap:", lldmap_file, Joined, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
107OPTION(prefix_1, "lldmap", lldmap, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
108OPTION(prefix_1, "lldsavetemps", lldsavetemps, Flag, INVALID, INVALID, nullptr, 0, 0,
109 "Save temporary files instead of deleting them", nullptr, nullptr)
110OPTION(prefix_1, "machine:", machine, Joined, INVALID, INVALID, nullptr, 0, 0,
111 "Specify target platform", nullptr, nullptr)
112OPTION(prefix_1, "manifest:", manifest_colon, Joined, INVALID, INVALID, nullptr, 0, 0,
113 "Create manifest file", nullptr, nullptr)
114OPTION(prefix_1, "manifestdependency:", manifestdependency, Joined, INVALID, INVALID, nullptr, 0, 0,
115 "Attributes for <dependency> in manifest file", nullptr, nullptr)
116OPTION(prefix_1, "manifestfile:", manifestfile, Joined, INVALID, INVALID, nullptr, 0, 0,
117 "Manifest file path", nullptr, nullptr)
118OPTION(prefix_1, "manifestinput:", manifestinput, Joined, INVALID, INVALID, nullptr, 0, 0,
119 "Specify manifest file", nullptr, nullptr)
120OPTION(prefix_1, "manifestuac:", manifestuac, Joined, INVALID, INVALID, nullptr, 0, 0,
121 "User access control", nullptr, nullptr)
122OPTION(prefix_1, "manifest", manifest, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
123OPTION(prefix_1, "maxilksize:", maxilksize, Joined, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
124OPTION(prefix_1, "merge:", merge, Joined, INVALID, INVALID, nullptr, 0, 0,
125 "Combine sections", nullptr, nullptr)
126OPTION(prefix_1, "mllvm:", mllvm, Joined, INVALID, INVALID, nullptr, 0, 0,
127 "Options to pass to LLVM", nullptr, nullptr)
128OPTION(prefix_1, "msvclto", msvclto, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
129OPTION(prefix_1, "nodefaultlib:", nodefaultlib, Joined, INVALID, INVALID, nullptr, 0, 0,
130 "Remove a default library", nullptr, nullptr)
131OPTION(prefix_1, "nodefaultlib", nodefaultlib_all, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
132OPTION(prefix_1, "noentry", noentry, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
133OPTION(prefix_1, "nologo", nologo, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
134OPTION(prefix_1, "nopdb", nopdb, Flag, INVALID, INVALID, nullptr, 0, 0,
135 "Disable PDB generation for DWARF users", nullptr, nullptr)
136OPTION(prefix_1, "nosymtab", nosymtab, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
137OPTION(prefix_1, "nxcompat:no", nxcompat_no, Flag, INVALID, INVALID, nullptr, 0, 0,
138 "Disable data execution provention", nullptr, nullptr)
139OPTION(prefix_1, "nxcompat", nxcompat, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
140OPTION(prefix_1, "opt:", opt, Joined, INVALID, INVALID, nullptr, 0, 0,
141 "Control optimizations", nullptr, nullptr)
142OPTION(prefix_1, "out:", out, Joined, INVALID, INVALID, nullptr, 0, 0,
143 "Path to file to write output", nullptr, nullptr)
144OPTION(prefix_1, "pdb:", pdb, Joined, INVALID, INVALID, nullptr, 0, 0,
145 "PDB file path", nullptr, nullptr)
146OPTION(prefix_1, "pdbaltpath:", pdbaltpath, Joined, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
147OPTION(prefix_1, "profile", profile, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
148OPTION(prefix_1, "safeseh:no", safeseh_no, Flag, INVALID, INVALID, nullptr, 0, 0,
149 "Produce an image with Safe Exception Handler", nullptr, nullptr)
150OPTION(prefix_1, "safeseh", safeseh, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
151OPTION(prefix_1, "section:", section, Joined, INVALID, INVALID, nullptr, 0, 0,
152 "Specify section attributes", nullptr, nullptr)
153OPTION(prefix_1, "stack:", stack, Joined, INVALID, INVALID, nullptr, 0, 0,
154 "Size of the stack", nullptr, nullptr)
155OPTION(prefix_1, "stub:", stub, Joined, INVALID, INVALID, nullptr, 0, 0,
156 "Specify DOS stub file", nullptr, nullptr)
157OPTION(prefix_1, "subsystem:", subsystem, Joined, INVALID, INVALID, nullptr, 0, 0,
158 "Specify subsystem", nullptr, nullptr)
159OPTION(prefix_1, "swaprun:cd", swaprun_cd, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
160OPTION(prefix_1, "swaprun:net", swaprun_net, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
161OPTION(prefix_1, "throwingnew", throwingnew, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
162OPTION(prefix_1, "tlbid:", tlbid, Joined, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
163OPTION(prefix_1, "tlbout:", tlbout, Joined, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
164OPTION(prefix_1, "tsaware:no", tsaware_no, Flag, INVALID, INVALID, nullptr, 0, 0,
165 "Create non-Terminal Server aware executable", nullptr, nullptr)
166OPTION(prefix_1, "tsaware", tsaware, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
167OPTION(prefix_1, "verbose:", verbose_all, Joined, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
168OPTION(prefix_1, "verbose", verbose, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
169OPTION(prefix_1, "version:", version, Joined, INVALID, INVALID, nullptr, 0, 0,
170 "Specify a version number in the PE header", nullptr, nullptr)
171OPTION(prefix_1, "wx:no", wx_no, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
172OPTION(prefix_1, "wx", wx, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
173OPTION(prefix_3, "", help_q, Flag, INVALID, help, nullptr, 0, 0, nullptr, nullptr, nullptr)
174#endif // OPTION
deps/lld-prebuilt/DarwinLdOptions.inc created+189
...@@ -0,0 +1,189 @@
1/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
2|* *|
3|* Option Parsing Definitions *|
4|* *|
5|* Automatically generated file, do not edit! *|
6|* *|
7\*===----------------------------------------------------------------------===*/
8
9/////////
10// Prefixes
11
12#ifdef PREFIX
13#define COMMA ,
14PREFIX(prefix_0, {nullptr})
15PREFIX(prefix_1, {"-" COMMA nullptr})
16#undef COMMA
17#endif // PREFIX
18
19/////////
20// Groups
21
22#ifdef OPTION
23OPTION(nullptr, "opts", grp_bundle, Group, INVALID, INVALID, nullptr, 0, 0,
24 "BUNDLE EXECUTABLE OPTIONS", nullptr, nullptr)
25OPTION(nullptr, "opts", grp_dylib, Group, INVALID, INVALID, nullptr, 0, 0,
26 "DYLIB EXECUTABLE OPTIONS", nullptr, nullptr)
27OPTION(nullptr, "outs", grp_kind, Group, INVALID, INVALID, nullptr, 0, 0,
28 "OUTPUT KIND", nullptr, nullptr)
29OPTION(nullptr, "libs", grp_libs, Group, INVALID, INVALID, nullptr, 0, 0,
30 "LIBRARY OPTIONS", nullptr, nullptr)
31OPTION(nullptr, "opts", grp_main, Group, INVALID, INVALID, nullptr, 0, 0,
32 "MAIN EXECUTABLE OPTIONS", nullptr, nullptr)
33OPTION(nullptr, "obsolete", grp_obsolete, Group, INVALID, INVALID, nullptr, 0, 0,
34 "OBSOLETE OPTIONS", nullptr, nullptr)
35OPTION(nullptr, "opts", grp_opts, Group, INVALID, INVALID, nullptr, 0, 0,
36 "OPTIMIZATIONS", nullptr, nullptr)
37
38//////////
39// Options
40
41OPTION(prefix_0, "<input>", INPUT, Input, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
42OPTION(prefix_0, "<unknown>", UNKNOWN, Unknown, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
43OPTION(prefix_1, "all_load", all_load, Flag, grp_libs, INVALID, nullptr, 0, 0,
44 "Forces all members of all static libraries to be loaded", nullptr, nullptr)
45OPTION(prefix_1, "arch", arch, Separate, INVALID, INVALID, nullptr, 0, 0,
46 "Architecture to link", "<arch-name>", nullptr)
47OPTION(prefix_1, "bundle_loader", bundle_loader, Separate, grp_bundle, INVALID, nullptr, 0, 0,
48 "The executable that will be loading this Mach-O bundle", "<path>", nullptr)
49OPTION(prefix_1, "bundle", bundle, Flag, grp_kind, INVALID, nullptr, 0, 0,
50 "Create dynamic bundle", nullptr, nullptr)
51OPTION(prefix_1, "compatibility_version", compatibility_version, Separate, grp_dylib, INVALID, nullptr, 0, 0,
52 "The dylib's compatibility version", "<version>", nullptr)
53OPTION(prefix_1, "current_version", current_version, Separate, grp_dylib, INVALID, nullptr, 0, 0,
54 "The dylib's current version", "<version>", nullptr)
55OPTION(prefix_1, "data_in_code_info", data_in_code_info, Flag, grp_opts, INVALID, nullptr, 0, 0,
56 "Force generation of a data in code load command", nullptr, nullptr)
57OPTION(prefix_1, "dead_strip", dead_strip, Flag, grp_opts, INVALID, nullptr, 0, 0,
58 "Remove unreference code and data", nullptr, nullptr)
59OPTION(prefix_1, "demangle", demangle, Flag, INVALID, INVALID, nullptr, 0, 0,
60 "Demangles symbol names in errors and warnings", nullptr, nullptr)
61OPTION(prefix_1, "dependency_info", dependency_info, Separate, INVALID, INVALID, nullptr, 0, 0,
62 "Write binary list of files used during link", "<file>", nullptr)
63OPTION(prefix_1, "dylib_compatibility_version", dylib_compatibility_version, Separate, INVALID, compatibility_version, nullptr, 0, 0, nullptr, "<version>", nullptr)
64OPTION(prefix_1, "dylib_current_version", dylib_current_version, Separate, INVALID, current_version, nullptr, 0, 0, nullptr, "<version>", nullptr)
65OPTION(prefix_1, "dylib_install_name", dylib_install_name, Separate, INVALID, install_name, nullptr, 0, 0, nullptr, nullptr, nullptr)
66OPTION(prefix_1, "dylib", dylib, Flag, grp_kind, INVALID, nullptr, 0, 0,
67 "Create dynamic library", nullptr, nullptr)
68OPTION(prefix_1, "dynamic", dynamic, Flag, grp_kind, INVALID, nullptr, 0, 0,
69 "Create dynamic executable (default)", nullptr, nullptr)
70OPTION(prefix_1, "execute", execute, Flag, grp_kind, INVALID, nullptr, 0, 0,
71 "Create main executable (default)", nullptr, nullptr)
72OPTION(prefix_1, "export_dynamic", export_dynamic, Flag, grp_main, INVALID, nullptr, 0, 0,
73 "Preserves all global symbols in main executables during LTO", nullptr, nullptr)
74OPTION(prefix_1, "exported_symbols_list", exported_symbols_list, Separate, grp_opts, INVALID, nullptr, 0, 0,
75 "Restricts which symbols will be exported", "<file-path>", nullptr)
76OPTION(prefix_1, "exported_symbol", exported_symbol, Separate, grp_opts, INVALID, nullptr, 0, 0,
77 "Restricts which symbols will be exported", "<symbol>", nullptr)
78OPTION(prefix_1, "e", entry, Separate, grp_main, INVALID, nullptr, 0, 0,
79 "entry symbol name", "<entry-name>", nullptr)
80OPTION(prefix_1, "filelist", filelist, Separate, INVALID, INVALID, nullptr, 0, 0,
81 "file containing paths to input files", "<path>", nullptr)
82OPTION(prefix_1, "flat_namespace", flat_namespace, Flag, grp_opts, INVALID, nullptr, 0, 0,
83 "Resolves symbols in any (transitively) linked dynamic libraries. Source libraries are not recorded: dyld will re-search all images at runtime and use the first definition found.", nullptr, nullptr)
84OPTION(prefix_1, "force_load", force_load, Separate, grp_libs, INVALID, nullptr, 0, 0,
85 "Forces all members of specified static libraries to be loaded", "<library-path>", nullptr)
86OPTION(prefix_1, "framework", framework, Separate, INVALID, INVALID, nullptr, 0, 0,
87 "Base name of framework searched for in -F directories", "<name>", nullptr)
88OPTION(prefix_1, "function_starts", function_starts, Flag, grp_opts, INVALID, nullptr, 0, 0,
89 "Force generation of a function starts load command", nullptr, nullptr)
90OPTION(prefix_1, "F", F, JoinedOrSeparate, grp_libs, INVALID, nullptr, 0, 0,
91 "Add directory to framework search path", "<dir>", nullptr)
92OPTION(prefix_1, "image_base", image_base, Separate, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
93OPTION(prefix_1, "install_name", install_name, Separate, grp_dylib, INVALID, nullptr, 0, 0,
94 "The dylib's install name", "<path>", nullptr)
95OPTION(prefix_1, "ios_simulator_version_min", ios_simulator_version_min, Separate, grp_opts, INVALID, nullptr, 0, 0,
96 "Minimum iOS simulator version", "<version>", nullptr)
97OPTION(prefix_1, "ios_version_min", ios_version_min, Separate, grp_opts, INVALID, nullptr, 0, 0,
98 "Minimum iOS version", "<version>", nullptr)
99OPTION(prefix_1, "iphoneos_version_min", iphoneos_version_min, Separate, INVALID, ios_version_min, nullptr, 0, 0, nullptr, nullptr, nullptr)
100OPTION(prefix_1, "keep_private_externs", keep_private_externs, Flag, grp_opts, INVALID, nullptr, 0, 0,
101 "Private extern (hidden) symbols should not be transformed into local symbols", nullptr, nullptr)
102OPTION(prefix_1, "L", L, JoinedOrSeparate, grp_libs, INVALID, nullptr, 0, 0,
103 "Add directory to library search path", "<dir>", nullptr)
104OPTION(prefix_1, "l", l, Joined, INVALID, INVALID, nullptr, 0, 0,
105 "Base name of library searched for in -L directories", "<libname>", nullptr)
106OPTION(prefix_1, "macosx_version_min", macosx_version_min, Separate, grp_opts, INVALID, nullptr, 0, 0,
107 "Minimum Mac OS X version", "<version>", nullptr)
108OPTION(prefix_1, "mark_dead_strippable_dylib", mark_dead_strippable_dylib, Flag, grp_dylib, INVALID, nullptr, 0, 0,
109 "Marks the dylib as having no side effects during initialization", nullptr, nullptr)
110OPTION(prefix_1, "mllvm", mllvm, Separate, grp_opts, INVALID, nullptr, 0, 0,
111 "Options to pass to LLVM during LTO", "<option>", nullptr)
112OPTION(prefix_1, "multi_module", multi_module, Flag, grp_obsolete, INVALID, nullptr, 0, 0,
113 "Unsupported way to build dylibs", nullptr, nullptr)
114OPTION(prefix_1, "no_data_in_code_info", no_data_in_code_info, Flag, grp_opts, INVALID, nullptr, 0, 0,
115 "Disable generation of a data in code load command", nullptr, nullptr)
116OPTION(prefix_1, "no_function_starts", no_function_starts, Flag, grp_opts, INVALID, nullptr, 0, 0,
117 "Disable generation of a function starts load command", nullptr, nullptr)
118OPTION(prefix_1, "no_objc_category_merging", no_objc_category_merging, Flag, grp_opts, INVALID, nullptr, 0, 0,
119 "Disables the optimisation which merges Objective-C categories on a class in to the class itself.", nullptr, nullptr)
120OPTION(prefix_1, "no_pie", no_pie, Flag, grp_main, INVALID, nullptr, 0, 0,
121 "Do not create Position Independent Executable", nullptr, nullptr)
122OPTION(prefix_1, "no_version_load_command", no_version_load_command, Flag, grp_opts, INVALID, nullptr, 0, 0,
123 "Disable generation of a version load command", nullptr, nullptr)
124OPTION(prefix_1, "objc_gc_compaction", objc_gc_compaction, Flag, grp_obsolete, INVALID, nullptr, 0, 0,
125 "Unsupported ObjC GC option", nullptr, nullptr)
126OPTION(prefix_1, "objc_gc_only", objc_gc_only, Flag, grp_obsolete, INVALID, nullptr, 0, 0,
127 "Unsupported ObjC GC option", nullptr, nullptr)
128OPTION(prefix_1, "objc_gc", objc_gc, Flag, grp_obsolete, INVALID, nullptr, 0, 0,
129 "Unsupported ObjC GC option", nullptr, nullptr)
130OPTION(prefix_1, "order_file", order_file, Separate, grp_opts, INVALID, nullptr, 0, 0,
131 "re-order and move specified symbols to start of their section", "<file-path>", nullptr)
132OPTION(prefix_1, "o", output, Separate, INVALID, INVALID, nullptr, 0, 0,
133 "Output file path", "<path>", nullptr)
134OPTION(prefix_1, "path_exists", path_exists, Separate, INVALID, INVALID, nullptr, 0, 0,
135 "Used with -test_file_usage to declare a path", "<path>", nullptr)
136OPTION(prefix_1, "pie", pie, Flag, grp_main, INVALID, nullptr, 0, 0,
137 "Create Position Independent Executable (for ASLR)", nullptr, nullptr)
138OPTION(prefix_1, "preload", preload, Flag, grp_kind, INVALID, nullptr, 0, 0,
139 "Create binary for use with embedded systems", nullptr, nullptr)
140OPTION(prefix_1, "print_atoms", print_atoms, Flag, INVALID, INVALID, nullptr, 0, 0,
141 "Emit output as yaml atoms", nullptr, nullptr)
142OPTION(prefix_1, "rpath", rpath, Separate, INVALID, INVALID, nullptr, 0, 0,
143 "Add path to the runpath search path list for image being created", "<path>", nullptr)
144OPTION(prefix_1, "r", relocatable, Flag, grp_kind, INVALID, nullptr, 0, 0,
145 "Create relocatable object file", nullptr, nullptr)
146OPTION(prefix_1, "sdk_version", sdk_version, Separate, grp_opts, INVALID, nullptr, 0, 0,
147 "SDK version", "<version>", nullptr)
148OPTION(prefix_1, "sectalign", sectalign, MultiArg, INVALID, INVALID, nullptr, 0, 3,
149 "Alignment for segment/section", "<segname> <sectname> <alignment>", nullptr)
150OPTION(prefix_1, "sectcreate", sectcreate, MultiArg, INVALID, INVALID, nullptr, 0, 3,
151 "Create section <segname>/<sectname> from contents of <file>", "<segname> <sectname> <file>", nullptr)
152OPTION(prefix_1, "seg1addr", seg1addr, Separate, INVALID, image_base, nullptr, 0, 0, nullptr, nullptr, nullptr)
153OPTION(prefix_1, "single_module", single_module, Flag, grp_obsolete, INVALID, nullptr, 0, 0,
154 "Default for dylibs", nullptr, nullptr)
155OPTION(prefix_1, "source_version", source_version, Separate, grp_opts, INVALID, nullptr, 0, 0,
156 "Source version", "<version>", nullptr)
157OPTION(prefix_1, "stack_size", stack_size, Separate, grp_main, INVALID, nullptr, 0, 0,
158 "Specifies the maximum stack size for the main thread in a program. Must be a page-size multiple. (default=8Mb)", nullptr, nullptr)
159OPTION(prefix_1, "static", static, Flag, grp_kind, INVALID, nullptr, 0, 0,
160 "Create static executable", nullptr, nullptr)
161OPTION(prefix_1, "syslibroot", syslibroot, Separate, grp_libs, INVALID, nullptr, 0, 0,
162 "Add path to SDK to all absolute library search paths", "<dir>", nullptr)
163OPTION(prefix_1, "S", S, Flag, INVALID, INVALID, nullptr, 0, 0,
164 "Remove debug information (STABS or DWARF) from the output file", nullptr, nullptr)
165OPTION(prefix_1, "test_file_usage", test_file_usage, Flag, INVALID, INVALID, nullptr, 0, 0,
166 "Only files specified by -file_exists are considered to exist. Print which files would be used", nullptr, nullptr)
167OPTION(prefix_1, "twolevel_namespace", twolevel_namespace, Flag, grp_opts, INVALID, nullptr, 0, 0,
168 "Resolves symbols in listed libraries only. Source libraries are recorded in the symbol table.", nullptr, nullptr)
169OPTION(prefix_1, "t", t, Flag, INVALID, INVALID, nullptr, 0, 0,
170 "Print the names of the input files as ld processes them", nullptr, nullptr)
171OPTION(prefix_1, "undefined", undefined, Separate, grp_opts, INVALID, nullptr, 0, 0,
172 "Determines how undefined symbols are handled.", "<undefined>", nullptr)
173OPTION(prefix_1, "unexported_symbols_list", unexported_symbols_list, Separate, grp_opts, INVALID, nullptr, 0, 0,
174 "Lists symbols that should not be exported", "<file-path>", nullptr)
175OPTION(prefix_1, "unexported_symbol", unexported_symbol, Separate, grp_opts, INVALID, nullptr, 0, 0,
176 "A symbol which should not be exported", "<symbol>", nullptr)
177OPTION(prefix_1, "upward-l", upward_l, Joined, INVALID, INVALID, nullptr, 0, 0,
178 "Base name of upward library searched for in -L directories", "<libname>", nullptr)
179OPTION(prefix_1, "upward_framework", upward_framework, Separate, INVALID, INVALID, nullptr, 0, 0,
180 "Base name of upward framework searched for in -F directories", "<name>", nullptr)
181OPTION(prefix_1, "upward_library", upward_library, Separate, INVALID, INVALID, nullptr, 0, 0,
182 "path to upward dylib to link with", "<path>", nullptr)
183OPTION(prefix_1, "version_load_command", version_load_command, Flag, grp_opts, INVALID, nullptr, 0, 0,
184 "Force generation of a version load command", nullptr, nullptr)
185OPTION(prefix_1, "v", v, Flag, INVALID, INVALID, nullptr, 0, 0,
186 "Print linker information", nullptr, nullptr)
187OPTION(prefix_1, "Z", Z, Flag, INVALID, INVALID, nullptr, 0, 0,
188 "Do not search standard directories for libraries or frameworks", nullptr, nullptr)
189#endif // OPTION
deps/lld-prebuilt/ELF/Options.inc created+352
...@@ -0,0 +1,352 @@
1/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
2|* *|
3|* Option Parsing Definitions *|
4|* *|
5|* Automatically generated file, do not edit! *|
6|* *|
7\*===----------------------------------------------------------------------===*/
8
9/////////
10// Prefixes
11
12#ifdef PREFIX
13#define COMMA ,
14PREFIX(prefix_0, {nullptr})
15PREFIX(prefix_1, {"-" COMMA nullptr})
16PREFIX(prefix_3, {"--" COMMA nullptr})
17PREFIX(prefix_2, {"--" COMMA "-" COMMA nullptr})
18#undef COMMA
19#endif // PREFIX
20
21/////////
22// Groups
23
24#ifdef OPTION
25
26//////////
27// Options
28
29OPTION(prefix_0, "<input>", INPUT, Input, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
30OPTION(prefix_0, "<unknown>", UNKNOWN, Unknown, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
31OPTION(prefix_1, "(", start_group_paren, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
32OPTION(prefix_1, ")", end_group_paren, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
33OPTION(prefix_2, "allow-multiple-definition", allow_multiple_definition, Flag, INVALID, INVALID, nullptr, 0, 0,
34 "Allow multiple definitions", nullptr, nullptr)
35OPTION(prefix_2, "allow-shlib-undefined", allow_shlib_undefined, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
36OPTION(prefix_2, "as-needed", as_needed, Flag, INVALID, INVALID, nullptr, 0, 0,
37 "Only set DT_NEEDED for shared libraries if used", nullptr, nullptr)
38OPTION(prefix_2, "auxiliary", auxiliary, Separate, INVALID, INVALID, nullptr, 0, 0,
39 "Set DT_AUXILIARY field to the specified name", nullptr, nullptr)
40OPTION(prefix_2, "Bdynamic", Bdynamic, Flag, INVALID, INVALID, nullptr, 0, 0,
41 "Link against shared libraries", nullptr, nullptr)
42OPTION(prefix_2, "Bshareable", alias_shared_Bshareable, Flag, INVALID, shared, nullptr, 0, 0, nullptr, nullptr, nullptr)
43OPTION(prefix_2, "Bstatic", Bstatic, Flag, INVALID, INVALID, nullptr, 0, 0,
44 "Do not link against shared libraries", nullptr, nullptr)
45OPTION(prefix_2, "Bsymbolic-functions", Bsymbolic_functions, Flag, INVALID, INVALID, nullptr, 0, 0,
46 "Bind defined function symbols locally", nullptr, nullptr)
47OPTION(prefix_2, "Bsymbolic", Bsymbolic, Flag, INVALID, INVALID, nullptr, 0, 0,
48 "Bind defined symbols locally", nullptr, nullptr)
49OPTION(prefix_2, "build-id=", build_id_eq, Joined, INVALID, INVALID, nullptr, 0, 0,
50 "Generate build ID note", nullptr, nullptr)
51OPTION(prefix_2, "build-id", build_id, Flag, INVALID, INVALID, nullptr, 0, 0,
52 "Generate build ID note", nullptr, nullptr)
53OPTION(prefix_2, "b", alias_format_b, Separate, INVALID, format, nullptr, 0, 0, nullptr, nullptr, nullptr)
54OPTION(prefix_2, "call_shared", alias_Bdynamic_call_shared, Flag, INVALID, Bdynamic, nullptr, 0, 0, nullptr, nullptr, nullptr)
55OPTION(prefix_2, "color-diagnostics=", color_diagnostics_eq, Joined, INVALID, INVALID, nullptr, 0, 0,
56 "Use colors in diagnostics", nullptr, nullptr)
57OPTION(prefix_2, "color-diagnostics", color_diagnostics, Flag, INVALID, INVALID, nullptr, 0, 0,
58 "Use colors in diagnostics", nullptr, nullptr)
59OPTION(prefix_2, "compress-debug-sections=", compress_debug_sections, Joined, INVALID, INVALID, nullptr, 0, 0,
60 "Compress DWARF debug sections", nullptr, nullptr)
61OPTION(prefix_3, "cref", cref, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
62OPTION(prefix_2, "dc", alias_define_common_dc, Flag, INVALID, define_common, nullptr, 0, 0, nullptr, nullptr, nullptr)
63OPTION(prefix_2, "define-common", define_common, Flag, INVALID, INVALID, nullptr, 0, 0,
64 "Assign space to common symbols", nullptr, nullptr)
65OPTION(prefix_2, "defsym=", defsym, Joined, INVALID, INVALID, nullptr, 0, 0,
66 "Define a symbol alias", nullptr, nullptr)
67OPTION(prefix_2, "defsym", alias_defsym, Separate, INVALID, defsym, nullptr, 0, 0, nullptr, nullptr, nullptr)
68OPTION(prefix_2, "demangle", demangle, Flag, INVALID, INVALID, nullptr, 0, 0,
69 "Demangle symbol names", nullptr, nullptr)
70OPTION(prefix_2, "detect-odr-violations", detect_odr_violations, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
71OPTION(prefix_2, "disable-new-dtags", disable_new_dtags, Flag, INVALID, INVALID, nullptr, 0, 0,
72 "Disable new dynamic tags", nullptr, nullptr)
73OPTION(prefix_2, "disable-verify", disable_verify, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
74OPTION(prefix_2, "discard-all", discard_all, Flag, INVALID, INVALID, nullptr, 0, 0,
75 "Delete all local symbols", nullptr, nullptr)
76OPTION(prefix_2, "discard-locals", discard_locals, Flag, INVALID, INVALID, nullptr, 0, 0,
77 "Delete temporary local symbols", nullptr, nullptr)
78OPTION(prefix_2, "discard-none", discard_none, Flag, INVALID, INVALID, nullptr, 0, 0,
79 "Keep all symbols in the symbol table", nullptr, nullptr)
80OPTION(prefix_2, "dn", alias_Bstatic_dn, Flag, INVALID, Bstatic, nullptr, 0, 0, nullptr, nullptr, nullptr)
81OPTION(prefix_2, "dp", alias_define_common_dp, Flag, INVALID, define_common, nullptr, 0, 0, nullptr, nullptr, nullptr)
82OPTION(prefix_2, "dynamic-linker", dynamic_linker, Separate, INVALID, INVALID, nullptr, 0, 0,
83 "Which dynamic linker to use", nullptr, nullptr)
84OPTION(prefix_2, "dynamic-list=", alias_dynamic_list, Joined, INVALID, dynamic_list, nullptr, 0, 0, nullptr, nullptr, nullptr)
85OPTION(prefix_2, "dynamic-list", dynamic_list, Separate, INVALID, INVALID, nullptr, 0, 0,
86 "Read a list of dynamic symbols", nullptr, nullptr)
87OPTION(prefix_2, "dy", alias_Bdynamic_dy, Flag, INVALID, Bdynamic, nullptr, 0, 0, nullptr, nullptr, nullptr)
88OPTION(prefix_1, "d", alias_define_common_d, Flag, INVALID, define_common, nullptr, 0, 0, nullptr, nullptr, nullptr)
89OPTION(prefix_2, "EB", EB, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
90OPTION(prefix_2, "eh-frame-hdr", eh_frame_hdr, Flag, INVALID, INVALID, nullptr, 0, 0,
91 "Request creation of .eh_frame_hdr section and PT_GNU_EH_FRAME segment header", nullptr, nullptr)
92OPTION(prefix_2, "EL", EL, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
93OPTION(prefix_2, "emit-relocs", emit_relocs, Flag, INVALID, INVALID, nullptr, 0, 0,
94 "Generate relocations in output", nullptr, nullptr)
95OPTION(prefix_2, "enable-new-dtags", enable_new_dtags, Flag, INVALID, INVALID, nullptr, 0, 0,
96 "Enable new dynamic tags", nullptr, nullptr)
97OPTION(prefix_2, "end-group", end_group, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
98OPTION(prefix_2, "end-lib", end_lib, Flag, INVALID, INVALID, nullptr, 0, 0,
99 "End a grouping of objects that should be treated as if they were together in an archive", nullptr, nullptr)
100OPTION(prefix_2, "entry=", alias_entry_entry, Joined, INVALID, entry, nullptr, 0, 0, nullptr, nullptr, nullptr)
101OPTION(prefix_2, "entry", entry, Separate, INVALID, INVALID, nullptr, 0, 0,
102 "Name of entry point symbol", "<entry>", nullptr)
103OPTION(prefix_2, "error-limit=", alias_error_limit, Joined, INVALID, error_limit, nullptr, 0, 0, nullptr, nullptr, nullptr)
104OPTION(prefix_2, "error-limit", error_limit, Separate, INVALID, INVALID, nullptr, 0, 0,
105 "Maximum number of errors to emit before stopping (0 = no limit)", nullptr, nullptr)
106OPTION(prefix_2, "error-unresolved-symbols", error_unresolved_symbols, Flag, INVALID, INVALID, nullptr, 0, 0,
107 "Report unresolved symbols as errors", nullptr, nullptr)
108OPTION(prefix_2, "exclude-libs=", alias_exclude_libs, Joined, INVALID, exclude_libs, nullptr, 0, 0, nullptr, nullptr, nullptr)
109OPTION(prefix_2, "exclude-libs", exclude_libs, Separate, INVALID, INVALID, nullptr, 0, 0,
110 "Exclude static libraries from automatic export", nullptr, nullptr)
111OPTION(prefix_2, "export-dynamic-symbol=", alias_export_dynamic_symbol, Joined, INVALID, export_dynamic_symbol, nullptr, 0, 0, nullptr, nullptr, nullptr)
112OPTION(prefix_2, "export-dynamic-symbol", export_dynamic_symbol, Separate, INVALID, INVALID, nullptr, 0, 0,
113 "Put a symbol in the dynamic symbol table", nullptr, nullptr)
114OPTION(prefix_2, "export-dynamic", export_dynamic, Flag, INVALID, INVALID, nullptr, 0, 0,
115 "Put symbols in the dynamic symbol table", nullptr, nullptr)
116OPTION(prefix_1, "E", alias_export_dynamic_E, Flag, INVALID, export_dynamic, nullptr, 0, 0, nullptr, nullptr, nullptr)
117OPTION(prefix_1, "e", alias_entry_e, JoinedOrSeparate, INVALID, entry, nullptr, 0, 0, nullptr, nullptr, nullptr)
118OPTION(prefix_2, "fatal-warnings", fatal_warnings, Flag, INVALID, INVALID, nullptr, 0, 0,
119 "Treat warnings as errors", nullptr, nullptr)
120OPTION(prefix_2, "filter=", filter, Joined, INVALID, INVALID, nullptr, 0, 0,
121 "Set DT_FILTER field to the specified name", nullptr, nullptr)
122OPTION(prefix_2, "fini=", alias_fini_fini, Joined, INVALID, fini, nullptr, 0, 0, nullptr, nullptr, nullptr)
123OPTION(prefix_2, "fini", fini, Separate, INVALID, INVALID, nullptr, 0, 0,
124 "Specify a finalizer function", "<symbol>", nullptr)
125OPTION(prefix_2, "format=", format, Joined, INVALID, INVALID, nullptr, 0, 0,
126 "Change the input format of the inputs following this option", "<input-format>", nullptr)
127OPTION(prefix_2, "full-shutdown", full_shutdown, Flag, INVALID, INVALID, nullptr, 0, 0,
128 "Perform a full shutdown instead of calling _exit", nullptr, nullptr)
129OPTION(prefix_1, "F", alias_filter, Separate, INVALID, filter, nullptr, 0, 0, nullptr, nullptr, nullptr)
130OPTION(prefix_1, "f", alias_auxiliary, Separate, INVALID, auxiliary, nullptr, 0, 0, nullptr, nullptr, nullptr)
131OPTION(prefix_2, "gc-sections", gc_sections, Flag, INVALID, INVALID, nullptr, 0, 0,
132 "Enable garbage collection of unused sections", nullptr, nullptr)
133OPTION(prefix_2, "gdb-index", gdb_index, Flag, INVALID, INVALID, nullptr, 0, 0,
134 "Generate .gdb_index section", nullptr, nullptr)
135OPTION(prefix_1, "G", G, JoinedOrSeparate, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
136OPTION(prefix_1, "g", g, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
137OPTION(prefix_2, "hash-style=", alias_hash_style_hash_style, Joined, INVALID, hash_style, nullptr, 0, 0, nullptr, nullptr, nullptr)
138OPTION(prefix_2, "hash-style", hash_style, Separate, INVALID, INVALID, nullptr, 0, 0,
139 "Specify hash style (sysv, gnu or both)", nullptr, nullptr)
140OPTION(prefix_2, "help", help, Flag, INVALID, INVALID, nullptr, 0, 0,
141 "Print option help", nullptr, nullptr)
142OPTION(prefix_1, "h", alias_soname_h, JoinedOrSeparate, INVALID, soname, nullptr, 0, 0, nullptr, nullptr, nullptr)
143OPTION(prefix_2, "icf=all", icf_all, Flag, INVALID, INVALID, nullptr, 0, 0,
144 "Enable identical code folding", nullptr, nullptr)
145OPTION(prefix_2, "icf=none", icf_none, Flag, INVALID, INVALID, nullptr, 0, 0,
146 "Disable identical code folding", nullptr, nullptr)
147OPTION(prefix_2, "image-base=", image_base, Joined, INVALID, INVALID, nullptr, 0, 0,
148 "Set the base address", nullptr, nullptr)
149OPTION(prefix_2, "init=", alias_init_init, Joined, INVALID, init, nullptr, 0, 0, nullptr, nullptr, nullptr)
150OPTION(prefix_2, "init", init, Separate, INVALID, INVALID, nullptr, 0, 0,
151 "Specify an initializer function", "<symbol>", nullptr)
152OPTION(prefix_2, "library-path=", alias_L__library_path, Joined, INVALID, L, nullptr, 0, 0, nullptr, nullptr, nullptr)
153OPTION(prefix_2, "library=", alias_l__library, Joined, INVALID, l, nullptr, 0, 0, nullptr, nullptr, nullptr)
154OPTION(prefix_2, "lto-aa-pipeline=", lto_aa_pipeline, Joined, INVALID, INVALID, nullptr, 0, 0,
155 "AA pipeline to run during LTO. Used in conjunction with -lto-newpm-passes", nullptr, nullptr)
156OPTION(prefix_2, "lto-newpm-passes=", lto_newpm_passes, Joined, INVALID, INVALID, nullptr, 0, 0,
157 "Passes to run during LTO", nullptr, nullptr)
158OPTION(prefix_2, "lto-O", lto_O, Joined, INVALID, INVALID, nullptr, 0, 0,
159 "Optimization level for LTO", "<opt-level>", nullptr)
160OPTION(prefix_2, "lto-partitions=", lto_partitions, Joined, INVALID, INVALID, nullptr, 0, 0,
161 "Number of LTO codegen partitions", nullptr, nullptr)
162OPTION(prefix_1, "L", L, JoinedOrSeparate, INVALID, INVALID, nullptr, 0, 0,
163 "Add a directory to the library search path", "<dir>", nullptr)
164OPTION(prefix_1, "l", l, JoinedOrSeparate, INVALID, INVALID, nullptr, 0, 0,
165 "Root name of library to use", "<libName>", nullptr)
166OPTION(prefix_2, "Map=", alias_Map_eq, Joined, INVALID, Map, nullptr, 0, 0, nullptr, nullptr, nullptr)
167OPTION(prefix_2, "Map", Map, JoinedOrSeparate, INVALID, INVALID, nullptr, 0, 0,
168 "Print a link map to the specified file", nullptr, nullptr)
169OPTION(prefix_2, "mllvm", mllvm, Separate, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
170OPTION(prefix_1, "M", alias_print_map_M, Flag, INVALID, print_map, nullptr, 0, 0, nullptr, nullptr, nullptr)
171OPTION(prefix_1, "m", m, JoinedOrSeparate, INVALID, INVALID, nullptr, 0, 0,
172 "Set target emulation", nullptr, nullptr)
173OPTION(prefix_2, "no-add-needed", no_add_needed, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
174OPTION(prefix_2, "no-allow-shlib-undefined", no_allow_shlib_undefined, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
175OPTION(prefix_2, "no-as-needed", no_as_needed, Flag, INVALID, INVALID, nullptr, 0, 0,
176 "Always DT_NEEDED for shared libraries", nullptr, nullptr)
177OPTION(prefix_2, "no-color-diagnostics", no_color_diagnostics, Flag, INVALID, INVALID, nullptr, 0, 0,
178 "Do not use colors in diagnostics", nullptr, nullptr)
179OPTION(prefix_2, "no-copy-dt-needed-entries", no_copy_dt_needed_entries, Flag, INVALID, no_add_needed, nullptr, 0, 0, nullptr, nullptr, nullptr)
180OPTION(prefix_2, "no-define-common", no_define_common, Flag, INVALID, INVALID, nullptr, 0, 0,
181 "Do not assign space to common symbols", nullptr, nullptr)
182OPTION(prefix_2, "no-demangle", no_demangle, Flag, INVALID, INVALID, nullptr, 0, 0,
183 "Do not demangle symbol names", nullptr, nullptr)
184OPTION(prefix_2, "no-dynamic-linker", no_dynamic_linker, Flag, INVALID, INVALID, nullptr, 0, 0,
185 "Inhibit output of .interp section", nullptr, nullptr)
186OPTION(prefix_2, "no-export-dynamic", no_export_dynamic, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
187OPTION(prefix_2, "no-fatal-warnings", no_fatal_warnings, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
188OPTION(prefix_2, "no-gc-sections", no_gc_sections, Flag, INVALID, INVALID, nullptr, 0, 0,
189 "Disable garbage collection of unused sections", nullptr, nullptr)
190OPTION(prefix_2, "no-gnu-unique", no_gnu_unique, Flag, INVALID, INVALID, nullptr, 0, 0,
191 "Disable STB_GNU_UNIQUE symbol binding", nullptr, nullptr)
192OPTION(prefix_2, "no-keep-memory", no_keep_memory, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
193OPTION(prefix_2, "no-mmap-output-file", no_mmap_output_file, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
194OPTION(prefix_2, "no-rosegment", no_rosegment, Flag, INVALID, INVALID, nullptr, 0, 0,
195 "Do not put read-only non-executable sections in their own segment", nullptr, nullptr)
196OPTION(prefix_2, "no-threads", no_threads, Flag, INVALID, INVALID, nullptr, 0, 0,
197 "Do not run the linker multi-threaded", nullptr, nullptr)
198OPTION(prefix_2, "no-undefined-version", no_undefined_version, Flag, INVALID, INVALID, nullptr, 0, 0,
199 "Report version scripts that refer undefined symbols", nullptr, nullptr)
200OPTION(prefix_2, "no-undefined", no_undefined, Flag, INVALID, INVALID, nullptr, 0, 0,
201 "Report unresolved symbols even if the linker is creating a shared library", nullptr, nullptr)
202OPTION(prefix_2, "no-warn-common", no_warn_common, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
203OPTION(prefix_2, "no-warn-mismatch", no_warn_mismatch, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
204OPTION(prefix_2, "no-whole-archive", no_whole_archive, Flag, INVALID, INVALID, nullptr, 0, 0,
205 "Restores the default behavior of loading archive members", nullptr, nullptr)
206OPTION(prefix_2, "noinhibit-exec", noinhibit_exec, Flag, INVALID, INVALID, nullptr, 0, 0,
207 "Retain the executable output file whenever it is still usable", nullptr, nullptr)
208OPTION(prefix_2, "non_shared", alias_Bstatic_non_shared, Flag, INVALID, Bstatic, nullptr, 0, 0, nullptr, nullptr, nullptr)
209OPTION(prefix_2, "nopie", nopie, Flag, INVALID, INVALID, nullptr, 0, 0,
210 "Do not create a position independent executable", nullptr, nullptr)
211OPTION(prefix_2, "nostdlib", nostdlib, Flag, INVALID, INVALID, nullptr, 0, 0,
212 "Only search directories specified on the command line", nullptr, nullptr)
213OPTION(prefix_1, "N", alias_omagic, Flag, INVALID, omagic, nullptr, 0, 0, nullptr, nullptr, nullptr)
214OPTION(prefix_3, "oformat", oformat, Separate, INVALID, INVALID, nullptr, 0, 0,
215 "Specify the binary format for the output object file", "<format>", nullptr)
216OPTION(prefix_3, "omagic", omagic, Flag, INVALID, INVALID, nullptr, 0, 0,
217 "Set the text and data sections to be readable and writable", "<magic>", nullptr)
218OPTION(prefix_3, "opt-remarks-filename", opt_remarks_filename, Separate, INVALID, INVALID, nullptr, 0, 0,
219 "YAML output file for optimization remarks", nullptr, nullptr)
220OPTION(prefix_3, "opt-remarks-with-hotness", opt_remarks_with_hotness, Flag, INVALID, INVALID, nullptr, 0, 0,
221 "Include hotness informations in the optimization remarks file", nullptr, nullptr)
222OPTION(prefix_3, "output=", alias_o_output, Joined, INVALID, o, nullptr, 0, 0, nullptr, nullptr, nullptr)
223OPTION(prefix_3, "output", alias_o_output2, Separate, INVALID, o, nullptr, 0, 0, nullptr, nullptr, nullptr)
224OPTION(prefix_1, "O", O, Joined, INVALID, INVALID, nullptr, 0, 0,
225 "Optimize output file size", nullptr, nullptr)
226OPTION(prefix_1, "o", o, JoinedOrSeparate, INVALID, INVALID, nullptr, 0, 0,
227 "Path to file to write output", "<path>", nullptr)
228OPTION(prefix_2, "pic-executable", alias_pie_pic_executable, Flag, INVALID, pie, nullptr, 0, 0, nullptr, nullptr, nullptr)
229OPTION(prefix_2, "pie", pie, Flag, INVALID, INVALID, nullptr, 0, 0,
230 "Create a position independent executable", nullptr, nullptr)
231OPTION(prefix_2, "plugin-opt=", plugin_opt_eq, Joined, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
232OPTION(prefix_2, "plugin-opt", plugin_opt, Separate, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
233OPTION(prefix_2, "plugin=", plugin_eq, Joined, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
234OPTION(prefix_2, "plugin", plugin, Separate, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
235OPTION(prefix_2, "print-gc-sections", print_gc_sections, Flag, INVALID, INVALID, nullptr, 0, 0,
236 "List removed unused sections", nullptr, nullptr)
237OPTION(prefix_2, "print-map", print_map, Flag, INVALID, INVALID, nullptr, 0, 0,
238 "Print a link map to the standard output", nullptr, nullptr)
239OPTION(prefix_2, "Qy", Qy, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
240OPTION(prefix_1, "q", alias_emit_relocs, Flag, INVALID, emit_relocs, nullptr, 0, 0, nullptr, nullptr, nullptr)
241OPTION(prefix_2, "relocatable", relocatable, Flag, INVALID, INVALID, nullptr, 0, 0,
242 "Create relocatable object file", nullptr, nullptr)
243OPTION(prefix_2, "reproduce=", alias_reproduce_eq, Joined, INVALID, reproduce, nullptr, 0, 0, nullptr, nullptr, nullptr)
244OPTION(prefix_2, "reproduce", reproduce, Separate, INVALID, INVALID, nullptr, 0, 0,
245 "Dump linker invocation and input files for debugging", nullptr, nullptr)
246OPTION(prefix_2, "retain-symbols-file=", retain_symbols_file, Joined, INVALID, INVALID, nullptr, 0, 0,
247 "Retain only the symbols listed in the file", "<file>", nullptr)
248OPTION(prefix_2, "retain-symbols-file", alias_retain_symbols_file, Separate, INVALID, retain_symbols_file, nullptr, 0, 0, nullptr, nullptr, nullptr)
249OPTION(prefix_2, "rpath-link=", rpath_link_eq, Joined, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
250OPTION(prefix_2, "rpath-link", rpath_link, Separate, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
251OPTION(prefix_2, "rpath=", alias_rpath_rpath, Joined, INVALID, rpath, nullptr, 0, 0, nullptr, nullptr, nullptr)
252OPTION(prefix_2, "rpath", rpath, Separate, INVALID, INVALID, nullptr, 0, 0,
253 "Add a DT_RUNPATH to the output", nullptr, nullptr)
254OPTION(prefix_2, "rsp-quoting=", rsp_quoting, Joined, INVALID, INVALID, nullptr, 0, 0,
255 "Quoting style for response files. Values supported: windows|posix", nullptr, nullptr)
256OPTION(prefix_1, "R", alias_rpath_R, JoinedOrSeparate, INVALID, rpath, nullptr, 0, 0, nullptr, nullptr, nullptr)
257OPTION(prefix_1, "r", alias_relocatable_r, Flag, INVALID, relocatable, nullptr, 0, 0, nullptr, nullptr, nullptr)
258OPTION(prefix_2, "save-temps", save_temps, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
259OPTION(prefix_2, "script=", alias_script, Joined, INVALID, script, nullptr, 0, 0, nullptr, nullptr, nullptr)
260OPTION(prefix_2, "script", script, Separate, INVALID, INVALID, nullptr, 0, 0,
261 "Read linker script", nullptr, nullptr)
262OPTION(prefix_2, "section-start", section_start, Separate, INVALID, INVALID, nullptr, 0, 0,
263 "Set address of section", "<address>", nullptr)
264OPTION(prefix_2, "shared", shared, Flag, INVALID, INVALID, nullptr, 0, 0,
265 "Build a shared object", nullptr, nullptr)
266OPTION(prefix_2, "soname=", soname, Joined, INVALID, INVALID, nullptr, 0, 0,
267 "Set DT_SONAME", nullptr, nullptr)
268OPTION(prefix_2, "soname", alias_soname_soname, Separate, INVALID, soname, nullptr, 0, 0, nullptr, nullptr, nullptr)
269OPTION(prefix_2, "sort-common", sort_common, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
270OPTION(prefix_2, "sort-section=", alias_sort_section, Joined, INVALID, sort_section, nullptr, 0, 0, nullptr, nullptr, nullptr)
271OPTION(prefix_2, "sort-section", sort_section, Separate, INVALID, INVALID, nullptr, 0, 0,
272 "Specifies sections sorting rule when linkerscript is used", nullptr, nullptr)
273OPTION(prefix_2, "start-group", start_group, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
274OPTION(prefix_2, "start-lib", start_lib, Flag, INVALID, INVALID, nullptr, 0, 0,
275 "Start a grouping of objects that should be treated as if they were together in an archive", nullptr, nullptr)
276OPTION(prefix_2, "static", alias_Bstatic_static, Flag, INVALID, Bstatic, nullptr, 0, 0, nullptr, nullptr, nullptr)
277OPTION(prefix_2, "stats", stats, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
278OPTION(prefix_2, "strip-all", strip_all, Flag, INVALID, INVALID, nullptr, 0, 0,
279 "Strip all symbols", nullptr, nullptr)
280OPTION(prefix_2, "strip-debug", strip_debug, Flag, INVALID, INVALID, nullptr, 0, 0,
281 "Strip debugging information", nullptr, nullptr)
282OPTION(prefix_2, "symbol-ordering-file", symbol_ordering_file, Separate, INVALID, INVALID, nullptr, 0, 0,
283 "Layout sections in the order specified by symbol file", nullptr, nullptr)
284OPTION(prefix_2, "sysroot=", sysroot, Joined, INVALID, INVALID, nullptr, 0, 0,
285 "Set the system root", nullptr, nullptr)
286OPTION(prefix_1, "S", alias_strip_debug_S, Flag, INVALID, strip_debug, nullptr, 0, 0, nullptr, nullptr, nullptr)
287OPTION(prefix_1, "s", alias_strip_all, Flag, INVALID, strip_all, nullptr, 0, 0, nullptr, nullptr, nullptr)
288OPTION(prefix_2, "target1-abs", target1_abs, Flag, INVALID, INVALID, nullptr, 0, 0,
289 "Interpret R_ARM_TARGET1 as R_ARM_ABS32", nullptr, nullptr)
290OPTION(prefix_2, "target1-rel", target1_rel, Flag, INVALID, INVALID, nullptr, 0, 0,
291 "Interpret R_ARM_TARGET1 as R_ARM_REL32", nullptr, nullptr)
292OPTION(prefix_2, "target2=", target2, Joined, INVALID, INVALID, nullptr, 0, 0,
293 "Interpret R_ARM_TARGET2 as <type>, where <type> is one of rel, abs, or got-rel", "<type>", nullptr)
294OPTION(prefix_2, "Tbss=", alias_Tbss, Joined, INVALID, Tbss, nullptr, 0, 0, nullptr, nullptr, nullptr)
295OPTION(prefix_2, "Tbss", Tbss, Separate, INVALID, INVALID, nullptr, 0, 0,
296 "Same as --section-start with .bss as the sectionname", nullptr, nullptr)
297OPTION(prefix_2, "Tdata=", alias_Tdata, Joined, INVALID, Tdata, nullptr, 0, 0, nullptr, nullptr, nullptr)
298OPTION(prefix_2, "Tdata", Tdata, Separate, INVALID, INVALID, nullptr, 0, 0,
299 "Same as --section-start with .data as the sectionname", nullptr, nullptr)
300OPTION(prefix_2, "thinlto-cache-dir=", thinlto_cache_dir, Joined, INVALID, INVALID, nullptr, 0, 0,
301 "Path to ThinLTO cached object file directory", nullptr, nullptr)
302OPTION(prefix_2, "thinlto-cache-policy", thinlto_cache_policy, Separate, INVALID, INVALID, nullptr, 0, 0,
303 "Pruning policy for the ThinLTO cache", nullptr, nullptr)
304OPTION(prefix_2, "thinlto-jobs=", thinlto_jobs, Joined, INVALID, INVALID, nullptr, 0, 0,
305 "Number of ThinLTO jobs", nullptr, nullptr)
306OPTION(prefix_2, "threads", threads, Flag, INVALID, INVALID, nullptr, 0, 0,
307 "Run the linker multi-threaded", nullptr, nullptr)
308OPTION(prefix_2, "trace-symbol=", trace_trace_symbol_eq, Joined, INVALID, trace_symbol, nullptr, 0, 0, nullptr, nullptr, nullptr)
309OPTION(prefix_2, "trace-symbol", trace_symbol, Separate, INVALID, INVALID, nullptr, 0, 0,
310 "Trace references to symbols", nullptr, nullptr)
311OPTION(prefix_2, "trace", trace, Flag, INVALID, INVALID, nullptr, 0, 0,
312 "Print the names of the input files", nullptr, nullptr)
313OPTION(prefix_2, "Ttext-segment=", alias_Ttext_segment_eq, Joined, INVALID, Ttext, nullptr, 0, 0, nullptr, nullptr, nullptr)
314OPTION(prefix_2, "Ttext-segment", alias_Ttext_segment, Separate, INVALID, Ttext, nullptr, 0, 0, nullptr, nullptr, nullptr)
315OPTION(prefix_2, "Ttext=", alias_Ttext, Joined, INVALID, Ttext, nullptr, 0, 0, nullptr, nullptr, nullptr)
316OPTION(prefix_2, "Ttext", Ttext, Separate, INVALID, INVALID, nullptr, 0, 0,
317 "Same as --section-start with .text as the sectionname", nullptr, nullptr)
318OPTION(prefix_1, "T", alias_script_T, JoinedOrSeparate, INVALID, script, nullptr, 0, 0, nullptr, nullptr, nullptr)
319OPTION(prefix_1, "t", alias_trace, Flag, INVALID, trace, nullptr, 0, 0, nullptr, nullptr, nullptr)
320OPTION(prefix_2, "undefined=", alias_undefined_eq, Joined, INVALID, undefined, nullptr, 0, 0, nullptr, nullptr, nullptr)
321OPTION(prefix_2, "undefined", undefined, Separate, INVALID, INVALID, nullptr, 0, 0,
322 "Force undefined symbol during linking", nullptr, nullptr)
323OPTION(prefix_2, "unresolved-symbols=", unresolved_symbols, Joined, INVALID, INVALID, nullptr, 0, 0,
324 "Determine how to handle unresolved symbols", nullptr, nullptr)
325OPTION(prefix_1, "u", alias_undefined_u, JoinedOrSeparate, INVALID, undefined, nullptr, 0, 0, nullptr, nullptr, nullptr)
326OPTION(prefix_2, "verbose", verbose, Flag, INVALID, INVALID, nullptr, 0, 0,
327 "Verbose mode", nullptr, nullptr)
328OPTION(prefix_2, "version-script=", alias_version_script_eq, Joined, INVALID, version_script, nullptr, 0, 0, nullptr, nullptr, nullptr)
329OPTION(prefix_2, "version-script", version_script, Separate, INVALID, INVALID, nullptr, 0, 0,
330 "Read a version script", nullptr, nullptr)
331OPTION(prefix_2, "version", version, Flag, INVALID, INVALID, nullptr, 0, 0,
332 "Display the version number and exit", nullptr, nullptr)
333OPTION(prefix_1, "V", alias_version_V, Flag, INVALID, version, nullptr, 0, 0, nullptr, nullptr, nullptr)
334OPTION(prefix_1, "v", v, Flag, INVALID, INVALID, nullptr, 0, 0,
335 "Display the version number", nullptr, nullptr)
336OPTION(prefix_2, "warn-common", warn_common, Flag, INVALID, INVALID, nullptr, 0, 0,
337 "Warn about duplicate common symbols", nullptr, nullptr)
338OPTION(prefix_2, "warn-execstack", warn_execstack, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
339OPTION(prefix_2, "warn-shared-textrel", warn_shared_textrel, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr)
340OPTION(prefix_2, "warn-unresolved-symbols", warn_unresolved_symbols, Flag, INVALID, INVALID, nullptr, 0, 0,
341 "Report unresolved symbols as warnings", nullptr, nullptr)
342OPTION(prefix_2, "whole-archive", whole_archive, Flag, INVALID, INVALID, nullptr, 0, 0,
343 "Force load of all members in a static library", nullptr, nullptr)
344OPTION(prefix_2, "wrap=", alias_wrap_wrap, Joined, INVALID, wrap, nullptr, 0, 0, nullptr, nullptr, nullptr)
345OPTION(prefix_2, "wrap", wrap, Separate, INVALID, INVALID, nullptr, 0, 0,
346 "Use wrapper functions for symbol", "<symbol>", nullptr)
347OPTION(prefix_1, "X", alias_discard_locals_X, Flag, INVALID, discard_locals, nullptr, 0, 0, nullptr, nullptr, nullptr)
348OPTION(prefix_1, "x", alias_discard_all_x, Flag, INVALID, discard_all, nullptr, 0, 0, nullptr, nullptr, nullptr)
349OPTION(prefix_1, "y", alias_trace_symbol_y, JoinedOrSeparate, INVALID, trace_symbol, nullptr, 0, 0, nullptr, nullptr, nullptr)
350OPTION(prefix_1, "z", z, JoinedOrSeparate, INVALID, INVALID, nullptr, 0, 0,
351 "Linker option extensions", "<option>", nullptr)
352#endif // OPTION
deps/lld-prebuilt/lld/Config/Version.inc created+6
...@@ -0,0 +1,6 @@
1#define LLD_VERSION 5.0.0
2#define LLD_VERSION_STRING "5.0.0"
3#define LLD_VERSION_MAJOR 5
4#define LLD_VERSION_MINOR 0
5#define LLD_REVISION_STRING ""
6#define LLD_REPOSITORY_STRING ""