From ffab950e0cce8b1be2755e070d0684d817138f15 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Sat, 3 Aug 2019 12:43:55 -0400 Subject: [PATCH] update embedded LLD to 9.0.0rc1 --- CMakeLists.txt | 5 +- deps/lld-prebuilt/COFF/Options.inc | 51 +- deps/lld-prebuilt/ELF/Options.inc | 142 +- deps/lld-prebuilt/MinGW/Options.inc | 76 +- deps/lld-prebuilt/lld/Common/Version.inc | 6 +- deps/lld-prebuilt/wasm/Options.inc | 29 +- deps/lld/COFF/CMakeLists.txt | 1 + deps/lld/COFF/Chunks.cpp | 839 ++-- deps/lld/COFF/Chunks.h | 589 ++- deps/lld/COFF/Config.h | 235 +- deps/lld/COFF/DLL.cpp | 697 ++-- deps/lld/COFF/DLL.h | 60 +- deps/lld/COFF/DebugTypes.cpp | 268 ++ deps/lld/COFF/DebugTypes.h | 60 + deps/lld/COFF/Driver.cpp | 1900 +++++---- deps/lld/COFF/Driver.h | 111 +- deps/lld/COFF/DriverUtils.cpp | 951 ++--- deps/lld/COFF/ICF.cpp | 279 +- deps/lld/COFF/ICF.h | 9 +- deps/lld/COFF/InputFiles.cpp | 905 ++-- deps/lld/COFF/InputFiles.h | 207 +- deps/lld/COFF/LTO.cpp | 186 +- deps/lld/COFF/LTO.h | 19 +- deps/lld/COFF/MapFile.cpp | 115 +- deps/lld/COFF/MapFile.h | 9 +- deps/lld/COFF/MarkLive.cpp | 65 +- deps/lld/COFF/MarkLive.h | 11 +- deps/lld/COFF/MinGW.cpp | 158 +- deps/lld/COFF/MinGW.h | 25 +- deps/lld/COFF/Options.td | 65 +- deps/lld/COFF/PDB.cpp | 2013 ++++----- deps/lld/COFF/PDB.h | 19 +- deps/lld/COFF/SymbolTable.cpp | 729 ++-- deps/lld/COFF/SymbolTable.h | 82 +- deps/lld/COFF/Symbols.cpp | 106 +- deps/lld/COFF/Symbols.h | 243 +- deps/lld/COFF/TypeMerger.h | 65 + deps/lld/COFF/Writer.cpp | 1999 +++++---- deps/lld/COFF/Writer.h | 62 +- deps/lld/Common/Args.cpp | 87 +- deps/lld/Common/CMakeLists.txt | 27 + deps/lld/Common/ErrorHandler.cpp | 158 +- deps/lld/{ELF => Common}/Filesystem.cpp | 55 +- deps/lld/Common/Memory.cpp | 19 +- deps/lld/Common/Reproduce.cpp | 65 +- deps/lld/Common/Strings.cpp | 99 +- deps/lld/Common/TargetOptionsCommandFlags.cpp | 18 +- deps/lld/Common/Threads.cpp | 9 +- deps/lld/Common/Timer.cpp | 61 +- deps/lld/Common/Version.cpp | 42 +- deps/lld/ELF/AArch64ErrataFix.cpp | 495 ++- deps/lld/ELF/AArch64ErrataFix.h | 19 +- deps/lld/ELF/Arch/AArch64.cpp | 464 ++- deps/lld/ELF/Arch/AMDGPU.cpp | 70 +- deps/lld/ELF/Arch/ARM.cpp | 462 +-- deps/lld/ELF/Arch/AVR.cpp | 37 +- deps/lld/ELF/Arch/Hexagon.cpp | 195 +- deps/lld/ELF/Arch/MSP430.cpp | 49 +- deps/lld/ELF/Arch/Mips.cpp | 603 +-- deps/lld/ELF/Arch/MipsArchTree.cpp | 239 +- deps/lld/ELF/Arch/PPC.cpp | 407 +- deps/lld/ELF/Arch/PPC64.cpp | 722 ++-- deps/lld/ELF/Arch/RISCV.cpp | 397 +- deps/lld/ELF/Arch/SPARCV9.cpp | 102 +- deps/lld/ELF/Arch/X86.cpp | 436 +- deps/lld/ELF/Arch/X86_64.cpp | 618 +-- deps/lld/ELF/Bits.h | 35 - deps/lld/ELF/CMakeLists.txt | 1 - deps/lld/ELF/CallGraphSort.cpp | 183 +- deps/lld/ELF/CallGraphSort.h | 7 +- deps/lld/ELF/Config.h | 357 +- deps/lld/ELF/DWARF.cpp | 132 +- deps/lld/ELF/DWARF.h | 63 +- deps/lld/ELF/Driver.cpp | 1880 +++++---- deps/lld/ELF/Driver.h | 42 +- deps/lld/ELF/DriverUtils.cpp | 191 +- deps/lld/ELF/EhFrame.cpp | 137 +- deps/lld/ELF/EhFrame.h | 11 +- deps/lld/ELF/Filesystem.h | 23 - deps/lld/ELF/ICF.cpp | 332 +- deps/lld/ELF/ICF.h | 7 +- deps/lld/ELF/InputFiles.cpp | 1676 ++++---- deps/lld/ELF/InputFiles.h | 353 +- deps/lld/ELF/InputSection.cpp | 1107 ++--- deps/lld/ELF/InputSection.h | 276 +- deps/lld/ELF/LTO.cpp | 321 +- deps/lld/ELF/LTO.h | 21 +- deps/lld/ELF/LinkerScript.cpp | 1004 ++--- deps/lld/ELF/LinkerScript.h | 218 +- deps/lld/ELF/MapFile.cpp | 234 +- deps/lld/ELF/MapFile.h | 7 +- deps/lld/ELF/MarkLive.cpp | 387 +- deps/lld/ELF/MarkLive.h | 7 +- deps/lld/ELF/Options.td | 55 +- deps/lld/ELF/OutputSections.cpp | 438 +- deps/lld/ELF/OutputSections.h | 120 +- deps/lld/ELF/Relocations.cpp | 1647 +++++--- deps/lld/ELF/Relocations.h | 180 +- deps/lld/ELF/ScriptLexer.cpp | 222 +- deps/lld/ELF/ScriptLexer.h | 29 +- deps/lld/ELF/ScriptParser.cpp | 1261 +++--- deps/lld/ELF/ScriptParser.h | 17 +- deps/lld/ELF/SymbolTable.cpp | 827 +--- deps/lld/ELF/SymbolTable.h | 98 +- deps/lld/ELF/Symbols.cpp | 619 ++- deps/lld/ELF/Symbols.h | 457 +- deps/lld/ELF/SyntheticSections.cpp | 3666 +++++++++-------- deps/lld/ELF/SyntheticSections.h | 891 ++-- deps/lld/ELF/Target.cpp | 101 +- deps/lld/ELF/Target.h | 231 +- deps/lld/ELF/Thunks.cpp | 809 ++-- deps/lld/ELF/Thunks.h | 42 +- deps/lld/ELF/Writer.cpp | 2650 ++++++------ deps/lld/ELF/Writer.h | 29 +- deps/lld/LICENSE.TXT | 256 +- deps/lld/MinGW/Driver.cpp | 365 +- deps/lld/MinGW/Options.td | 74 +- deps/lld/docs/NewLLD.rst | 8 + deps/lld/docs/Partitions.rst | 116 + deps/lld/docs/ReleaseNotes.rst | 129 +- deps/lld/docs/WebAssembly.rst | 78 +- deps/lld/docs/conf.py | 4 +- deps/lld/docs/getting_started.rst | 35 +- deps/lld/docs/index.rst | 3 +- deps/lld/docs/ld.lld.1 | 117 +- deps/lld/docs/missingkeyfunction.rst | 31 +- deps/lld/docs/partitions.dot | 22 + deps/lld/docs/partitions.svg | 110 + deps/lld/docs/sphinx_intro.rst | 4 +- deps/lld/include/lld/Common/Args.h | 23 +- deps/lld/include/lld/Common/Driver.h | 27 +- deps/lld/include/lld/Common/ErrorHandler.h | 94 +- deps/lld/include/lld/Common/Filesystem.h | 20 + deps/lld/include/lld/Common/LLVM.h | 9 +- deps/lld/include/lld/Common/Memory.h | 25 +- deps/lld/include/lld/Common/Reproduce.h | 17 +- deps/lld/include/lld/Common/Strings.h | 23 +- .../lld/Common/TargetOptionsCommandFlags.h | 15 +- deps/lld/include/lld/Common/Threads.h | 34 +- deps/lld/include/lld/Common/Timer.h | 27 +- deps/lld/include/lld/Common/Version.h | 7 +- deps/lld/include/lld/Core/AbsoluteAtom.h | 7 +- .../lld/include/lld/Core/ArchiveLibraryFile.h | 7 +- deps/lld/include/lld/Core/Atom.h | 7 +- deps/lld/include/lld/Core/DefinedAtom.h | 7 +- deps/lld/include/lld/Core/Error.h | 7 +- deps/lld/include/lld/Core/File.h | 7 +- deps/lld/include/lld/Core/Instrumentation.h | 7 +- deps/lld/include/lld/Core/LinkingContext.h | 7 +- deps/lld/include/lld/Core/Node.h | 7 +- deps/lld/include/lld/Core/Pass.h | 7 +- deps/lld/include/lld/Core/PassManager.h | 7 +- deps/lld/include/lld/Core/Reader.h | 7 +- deps/lld/include/lld/Core/Reference.h | 7 +- deps/lld/include/lld/Core/Resolver.h | 7 +- deps/lld/include/lld/Core/SharedLibraryAtom.h | 7 +- deps/lld/include/lld/Core/SharedLibraryFile.h | 7 +- deps/lld/include/lld/Core/Simple.h | 7 +- deps/lld/include/lld/Core/SymbolTable.h | 7 +- deps/lld/include/lld/Core/UndefinedAtom.h | 7 +- deps/lld/include/lld/Core/Writer.h | 7 +- .../lld/ReaderWriter/MachOLinkingContext.h | 7 +- .../include/lld/ReaderWriter/YamlContext.h | 7 +- deps/lld/lib/Core/DefinedAtom.cpp | 7 +- deps/lld/lib/Core/Error.cpp | 7 +- deps/lld/lib/Core/File.cpp | 7 +- deps/lld/lib/Core/LinkingContext.cpp | 7 +- deps/lld/lib/Core/Reader.cpp | 7 +- deps/lld/lib/Core/Resolver.cpp | 7 +- deps/lld/lib/Core/SymbolTable.cpp | 7 +- deps/lld/lib/Core/Writer.cpp | 7 +- deps/lld/lib/Driver/DarwinLdDriver.cpp | 31 +- deps/lld/lib/ReaderWriter/FileArchive.cpp | 7 +- .../lib/ReaderWriter/MachO/ArchHandler.cpp | 7 +- deps/lld/lib/ReaderWriter/MachO/ArchHandler.h | 7 +- .../ReaderWriter/MachO/ArchHandler_arm.cpp | 7 +- .../ReaderWriter/MachO/ArchHandler_arm64.cpp | 7 +- .../ReaderWriter/MachO/ArchHandler_x86.cpp | 7 +- .../ReaderWriter/MachO/ArchHandler_x86_64.cpp | 8 +- deps/lld/lib/ReaderWriter/MachO/Atoms.h | 7 +- .../ReaderWriter/MachO/CompactUnwindPass.cpp | 19 +- deps/lld/lib/ReaderWriter/MachO/DebugInfo.h | 7 +- .../lib/ReaderWriter/MachO/ExecutableAtoms.h | 7 +- deps/lld/lib/ReaderWriter/MachO/File.h | 7 +- .../ReaderWriter/MachO/FlatNamespaceFile.h | 7 +- deps/lld/lib/ReaderWriter/MachO/GOTPass.cpp | 7 +- .../lld/lib/ReaderWriter/MachO/LayoutPass.cpp | 7 +- deps/lld/lib/ReaderWriter/MachO/LayoutPass.h | 7 +- .../MachO/MachOLinkingContext.cpp | 19 +- .../ReaderWriter/MachO/MachONormalizedFile.h | 10 +- .../MachO/MachONormalizedFileBinaryReader.cpp | 7 +- .../MachO/MachONormalizedFileBinaryUtils.h | 7 +- .../MachO/MachONormalizedFileBinaryWriter.cpp | 34 +- .../MachO/MachONormalizedFileFromAtoms.cpp | 10 +- .../MachO/MachONormalizedFileToAtoms.cpp | 7 +- .../MachO/MachONormalizedFileYAML.cpp | 7 +- deps/lld/lib/ReaderWriter/MachO/MachOPasses.h | 7 +- deps/lld/lib/ReaderWriter/MachO/ObjCPass.cpp | 7 +- .../lib/ReaderWriter/MachO/SectCreateFile.h | 7 +- deps/lld/lib/ReaderWriter/MachO/ShimPass.cpp | 7 +- deps/lld/lib/ReaderWriter/MachO/StubsPass.cpp | 12 +- deps/lld/lib/ReaderWriter/MachO/TLVPass.cpp | 7 +- .../lib/ReaderWriter/MachO/WriterMachO.cpp | 7 +- .../ReaderWriter/YAML/ReaderWriterYAML.cpp | 7 +- deps/lld/test/CMakeLists.txt | 8 +- .../test/COFF/Inputs/combined-resources-2.rc | 72 +- .../Inputs/crt-dyn-initializer-order_1.yaml | 30 +- .../Inputs/crt-dyn-initializer-order_2.yaml | 38 +- .../COFF/Inputs/delayimporttables-dll1.yaml | 57 + .../COFF/Inputs/delayimporttables-dll2.yaml | 57 + .../COFF/Inputs/eh_frame_terminator-crtend.s | 3 + .../Inputs/eh_frame_terminator-otherfunc.s | 7 + deps/lld/test/COFF/Inputs/failmismatch1.ll | 15 + deps/lld/test/COFF/Inputs/failmismatch2.ll | 20 + deps/lld/test/COFF/Inputs/hello32.yaml | 6 + deps/lld/test/COFF/Inputs/id.res | Bin 0 -> 100 bytes deps/lld/test/COFF/Inputs/id.res.o | Bin 0 -> 220 bytes .../COFF/Inputs/no-ipi-stream-obj.obj.yaml | 13 + .../COFF/Inputs/no-ipi-stream-pdb.pdb.yaml | 2 + deps/lld/test/COFF/Inputs/pdb-diff.cpp | 20 +- .../test/COFF/Inputs/pdb-file-statics-a.yaml | 1 + .../test/COFF/Inputs/pdb-file-statics-b.yaml | 1 + .../test/COFF/Inputs/pdb-global-constants-a.s | 214 + .../test/COFF/Inputs/pdb-global-constants-b.s | 204 + deps/lld/test/COFF/Inputs/pdb-globals.yaml | 2 +- .../Inputs/pdb-type-server-invalid-path.yaml | 121 + deps/lld/test/COFF/Inputs/pdb_comdat_bar.yaml | 1 + deps/lld/test/COFF/Inputs/thinlto-empty.ll | 2 + deps/lld/test/COFF/Inputs/thinlto.ll | 6 + deps/lld/test/COFF/Inputs/tlssup.s | 10 + .../COFF/Inputs/undefined-symbol-lto-a.ll | 82 + .../COFF/Inputs/undefined-symbol-lto-b.ll | 29 + .../test/COFF/allow-unknown-debug-info.test | 26 + deps/lld/test/COFF/arm64-delayimport.yaml | 53 +- deps/lld/test/COFF/arm64-import2.test | 4 +- deps/lld/test/COFF/arm64-magic.yaml | 2 +- deps/lld/test/COFF/arm64-relocs-imports.test | 21 +- deps/lld/test/COFF/armnt-blx23t.test | 2 + deps/lld/test/COFF/armnt-branch24t.test | 2 + deps/lld/test/COFF/armnt-entry-point.test | 2 +- deps/lld/test/COFF/armnt-imports.test | 2 +- deps/lld/test/COFF/armnt-mov32t-exec.test | 2 + deps/lld/test/COFF/armnt-movt32t.test | 2 + deps/lld/test/COFF/armnt-rel32.yaml | 47 + .../test/COFF/associative-comdat-empty.test | 56 + .../test/COFF/associative-comdat-mingw-i386.s | 37 + deps/lld/test/COFF/associative-comdat-mingw.s | 2 +- .../test/COFF/associative-comdat-order.test | 97 + deps/lld/test/COFF/associative-comdat.s | 4 +- deps/lld/test/COFF/autoimport-arm-data.s | 2 +- deps/lld/test/COFF/autoimport-arm64-data.s | 2 +- deps/lld/test/COFF/autoimport-gnu-implib.s | 2 +- deps/lld/test/COFF/autoimport-refptr.s | 3 +- deps/lld/test/COFF/autoimport-x86.s | 3 +- deps/lld/test/COFF/base.test | 4 +- deps/lld/test/COFF/baserel.test | 8 +- deps/lld/test/COFF/color-diagnostics.test | 18 + deps/lld/test/COFF/combined-resources.test | 2 +- .../comdat-selection-associative-largest.s | 45 + deps/lld/test/COFF/comdat-selection.s | 107 + deps/lld/test/COFF/common-replacement.s | 2 +- deps/lld/test/COFF/common.test | 2 +- deps/lld/test/COFF/conflict-mangled.test | 7 +- deps/lld/test/COFF/constant-export.test | 2 +- deps/lld/test/COFF/constant.test | 4 +- deps/lld/test/COFF/could-not-open.test | 2 +- deps/lld/test/COFF/crt-chars.test | 2 +- .../test/COFF/crt-dyn-initializer-order.test | 200 +- deps/lld/test/COFF/debug-reloc.s | 8 +- deps/lld/test/COFF/def-export-stdcall.s | 14 +- deps/lld/test/COFF/delayimports-armnt.yaml | 9 +- deps/lld/test/COFF/delayimports.test | 8 +- deps/lld/test/COFF/delayimports32.test | 42 +- deps/lld/test/COFF/delayimporttables.yaml | 122 + deps/lld/test/COFF/dll.test | 4 +- deps/lld/test/COFF/dllexport.s | 4 +- deps/lld/test/COFF/dllimport-gc.test | 4 +- deps/lld/test/COFF/driver.test | 24 +- deps/lld/test/COFF/eh_frame_suffix_sorting.s | 39 + deps/lld/test/COFF/eh_frame_terminator.s | 26 + deps/lld/test/COFF/entry-drectve.test | 2 +- deps/lld/test/COFF/entry-inference-mingw.s | 6 +- deps/lld/test/COFF/entry-inference332.test | 4 +- deps/lld/test/COFF/error-limit.test | 20 +- deps/lld/test/COFF/exclude-all.s | 31 + deps/lld/test/COFF/export-all.s | 10 +- deps/lld/test/COFF/export-stdcall.s | 32 + deps/lld/test/COFF/export-weak-alias.s | 33 + deps/lld/test/COFF/export32.test | 20 +- deps/lld/test/COFF/failifmismatch.test | 37 +- deps/lld/test/COFF/filealign.test | 51 + deps/lld/test/COFF/fixed.test | 16 +- deps/lld/test/COFF/force-multipleres.test | 21 + deps/lld/test/COFF/functionpadmin.test | 147 + deps/lld/test/COFF/gfids-corrupt.s | 2 +- deps/lld/test/COFF/gfids-export.s | 2 +- deps/lld/test/COFF/gfids-fallback.s | 2 +- deps/lld/test/COFF/gfids-gc.s | 6 +- deps/lld/test/COFF/gfids-icf.s | 12 +- deps/lld/test/COFF/gfids-relocations32.s | 4 +- deps/lld/test/COFF/gfids-relocations64.s | 2 +- deps/lld/test/COFF/guard-longjmp.s | 2 +- deps/lld/test/COFF/guardcf-align.s | 2 +- deps/lld/test/COFF/guardcf-lto.ll | 2 +- deps/lld/test/COFF/guardcf-thunk.s | 43 + deps/lld/test/COFF/header-size.s | 2 +- deps/lld/test/COFF/heap.test | 10 +- deps/lld/test/COFF/hello32.test | 11 +- deps/lld/test/COFF/icf-pdata.s | 2 +- deps/lld/test/COFF/icf-xdata.s | 4 +- deps/lld/test/COFF/imports-gnu-autoexport.s | 2 +- deps/lld/test/COFF/imports-gnu.test | 2 +- deps/lld/test/COFF/imports-mangle.test | 2 +- deps/lld/test/COFF/imports.test | 7 +- deps/lld/test/COFF/includeoptional.yaml | 39 + deps/lld/test/COFF/includeoptional2.yaml | 44 + deps/lld/test/COFF/invalid-debug-type.test | 11 +- deps/lld/test/COFF/largeaddressaware.test | 4 +- deps/lld/test/COFF/lib-module-asm.ll | 22 + deps/lld/test/COFF/line-error.yaml | 320 +- deps/lld/test/COFF/linkrepro-pdb.test | 15 +- deps/lld/test/COFF/loadcfg.ll | 2 +- deps/lld/test/COFF/loadcfg.test | 2 +- deps/lld/test/COFF/loadcfg32.test | 4 +- .../lld/test/COFF/locally-imported-arm64.test | 2 +- deps/lld/test/COFF/locally-imported.test | 2 +- deps/lld/test/COFF/locally-imported32.test | 2 +- deps/lld/test/COFF/long-section-name.test | 4 +- deps/lld/test/COFF/lto-comdat.ll | 15 +- deps/lld/test/COFF/lto-icf.ll | 2 +- deps/lld/test/COFF/lto-lazy-reference.ll | 4 + deps/lld/test/COFF/lto-new-symbol.ll | 4 + deps/lld/test/COFF/lto.ll | 15 +- deps/lld/test/COFF/machine.test | 16 +- deps/lld/test/COFF/manifestinput.test | 4 +- deps/lld/test/COFF/merge.test | 4 +- .../lld/test/COFF/multiple-resource-objs.test | 11 + deps/lld/test/COFF/no-idata.s | 2 +- deps/lld/test/COFF/no-ipi-stream.test | 4 + deps/lld/test/COFF/nodefaultlib.test | 11 +- deps/lld/test/COFF/noentry.test | 4 +- deps/lld/test/COFF/options.test | 80 +- deps/lld/test/COFF/order-i386.test | 4 +- deps/lld/test/COFF/output-chars.test | 8 +- deps/lld/test/COFF/pdb-comdat.test | 4 +- deps/lld/test/COFF/pdb-debug-f.s | 2 +- deps/lld/test/COFF/pdb-exe-path-dots.test | 2 +- deps/lld/test/COFF/pdb-global-constants.test | 28 + deps/lld/test/COFF/pdb-global-gc.yaml | 1 + deps/lld/test/COFF/pdb-globals.test | 5 + deps/lld/test/COFF/pdb-inlinees-extrafiles.s | 334 ++ deps/lld/test/COFF/pdb-inlinees.s | 332 ++ deps/lld/test/COFF/pdb-lib.s | 8 +- deps/lld/test/COFF/pdb-publics-import.test | 153 +- deps/lld/test/COFF/pdb-safeseh.yaml | 2 +- deps/lld/test/COFF/pdb-tpi-hash-size.test | 10 + .../pdb-type-server-invalid-signature.yaml | 16 +- .../lld/test/COFF/pdb-type-server-simple.test | 13 +- deps/lld/test/COFF/pdb-unknown-subsection.s | 60 + deps/lld/test/COFF/pdb.test | 36 +- deps/lld/test/COFF/pdbaltpath.test | 18 +- deps/lld/test/COFF/precomp-link.test | 96 +- deps/lld/test/COFF/reloc-x86.test | 2 +- deps/lld/test/COFF/resource-objs.test | 5 + deps/lld/test/COFF/resource.test | 4 +- deps/lld/test/COFF/responsefile.test | 8 +- deps/lld/test/COFF/rsds.test | 14 +- deps/lld/test/COFF/s_udt.s | 884 ++-- deps/lld/test/COFF/safeseh-md.s | 2 +- deps/lld/test/COFF/safeseh-no.s | 57 + deps/lld/test/COFF/safeseh-notable.s | 2 +- deps/lld/test/COFF/safeseh.s | 6 +- deps/lld/test/COFF/section.test | 8 +- deps/lld/test/COFF/sort-debug.test | 9 +- deps/lld/test/COFF/stack.test | 10 +- deps/lld/test/COFF/strtab-size.s | 4 +- deps/lld/test/COFF/subsystem-drectve.test | 4 +- .../lld/test/COFF/subsystem-inference-mingw.s | 2 +- deps/lld/test/COFF/subsystem-inference.test | 12 +- deps/lld/test/COFF/subsystem-inference2.test | 2 +- deps/lld/test/COFF/subsystem-inference32.test | 16 +- deps/lld/test/COFF/subsystem.test | 13 +- deps/lld/test/COFF/symtab-gc.s | 2 +- deps/lld/test/COFF/symtab.test | 8 +- .../lld/test/COFF/thinlto-archivecollision.ll | 29 + deps/lld/test/COFF/thinlto-archives.ll | 8 +- deps/lld/test/COFF/thinlto-emit-imports.ll | 59 + deps/lld/test/COFF/thinlto-index-only.ll | 52 + .../COFF/thinlto-object-suffix-replace.ll | 50 + deps/lld/test/COFF/thinlto-prefix-replace.ll | 26 + deps/lld/test/COFF/timestamp.test | 6 +- deps/lld/test/COFF/tls.test | 2 +- deps/lld/test/COFF/tls32.test | 4 +- deps/lld/test/COFF/tls_suffix_sorting.s | 27 + deps/lld/test/COFF/undefined-symbol-cv.s | 6 +- deps/lld/test/COFF/undefined-symbol-lto.test | 31 + deps/lld/test/COFF/undefined-symbol-multi.s | 47 + deps/lld/test/COFF/undefined-symbol.s | 12 +- deps/lld/test/COFF/unwind.test | 4 +- deps/lld/test/COFF/used-lto.ll | 15 + deps/lld/test/COFF/version.test | 6 +- deps/lld/test/COFF/wx.s | 10 +- deps/lld/test/ELF/Inputs/aarch64-addrifunc.s | 8 + deps/lld/test/ELF/Inputs/aarch64-bti1.s | 19 + deps/lld/test/ELF/Inputs/aarch64-btipac1.s | 19 + deps/lld/test/ELF/Inputs/aarch64-func2.s | 8 + deps/lld/test/ELF/Inputs/aarch64-func3-bti.s | 16 + .../test/ELF/Inputs/aarch64-func3-btipac.s | 16 + deps/lld/test/ELF/Inputs/aarch64-func3-pac.s | 16 + deps/lld/test/ELF/Inputs/aarch64-func3.s | 5 + deps/lld/test/ELF/Inputs/aarch64-nobti.s | 8 + deps/lld/test/ELF/Inputs/aarch64-nopac.s | 8 + deps/lld/test/ELF/Inputs/aarch64-pac1.s | 19 + .../lld/test/ELF/Inputs/bad-reloc-target.test | 21 - .../test/ELF/Inputs/comdat-discarded-reloc.s | 12 +- deps/lld/test/ELF/Inputs/deplibs-lib_bar.s | 2 + deps/lld/test/ELF/Inputs/deplibs-lib_foo.s | 2 + deps/lld/test/ELF/Inputs/dtrace-r.o | Bin 624 -> 0 bytes deps/lld/test/ELF/Inputs/dummy-shared.s | 2 + .../test/ELF/Inputs/gdb-index-multiple-cu-2.s | 2 +- .../test/ELF/Inputs/gnu-ifunc-canon-ro-abs.s | 2 + .../ELF/Inputs/gnu-ifunc-canon-ro-pcrel.s | 2 + .../ELF/Inputs/gnu-ifunc-canon-rw-addend.s | 2 + deps/lld/test/ELF/Inputs/i386-cet1.s | 16 + deps/lld/test/ELF/Inputs/i386-cet2.s | 20 + deps/lld/test/ELF/Inputs/i386-cet3.s | 5 + deps/lld/test/ELF/Inputs/i386-cet4.s | 16 + .../lld/test/ELF/Inputs/i386-reloc-16-error.s | 3 - deps/lld/test/ELF/Inputs/i386-reloc-16.s | 3 - deps/lld/test/ELF/Inputs/i386-reloc-8-error.s | 3 - deps/lld/test/ELF/Inputs/i386-reloc-8.s | 3 - .../test/ELF/Inputs/i386-static-tls-model1.s | 9 + .../test/ELF/Inputs/i386-static-tls-model2.s | 9 + .../test/ELF/Inputs/i386-static-tls-model3.s | 9 + .../test/ELF/Inputs/i386-static-tls-model4.s | 9 + .../ppc64-sort-small-cm-relocs-input2.s | 23 + .../ppc64-sort-small-cm-relocs-input3.s | 41 + .../ppc64-sort-small-cm-relocs-input4.s | 18 + .../test/ELF/Inputs/ppc64-toc-relax-shared.s | 7 + deps/lld/test/ELF/Inputs/ppc64-toc-relax.s | 15 + deps/lld/test/ELF/Inputs/print-icf.s | 18 +- deps/lld/test/ELF/Inputs/shf-info-link.test | 4 +- .../ELF/Inputs/vs-diagnostics-duplicate2.s | 31 + .../ELF/Inputs/vs-diagnostics-duplicate3.s | 6 + deps/lld/test/ELF/Inputs/x86-64-cet1.s | 17 + deps/lld/test/ELF/Inputs/x86-64-cet2.s | 22 + deps/lld/test/ELF/Inputs/x86-64-cet3.s | 5 + deps/lld/test/ELF/Inputs/x86-64-cet4.s | 17 + deps/lld/test/ELF/Inputs/x86-64-pcrel.s | 8 + .../test/ELF/Inputs/x86-64-reloc-16-error.s | 3 - deps/lld/test/ELF/Inputs/x86-64-reloc-16.s | 3 - .../test/ELF/Inputs/x86-64-reloc-8-error.s | 3 - deps/lld/test/ELF/Inputs/x86-64-reloc-8.s | 3 - deps/lld/test/ELF/aarch64-abs16.s | 8 +- deps/lld/test/ELF/aarch64-abs32-dyn.s | 14 + deps/lld/test/ELF/aarch64-abs32.s | 8 +- deps/lld/test/ELF/aarch64-abs64-dyn.s | 2 +- deps/lld/test/ELF/aarch64-bti-pac-cli-error.s | 12 + deps/lld/test/ELF/aarch64-call26-thunk.s | 1 + deps/lld/test/ELF/aarch64-condb-reloc.s | 24 +- deps/lld/test/ELF/aarch64-copy.s | 5 +- .../ELF/aarch64-cortex-a53-843419-large.s | 6 +- .../ELF/aarch64-cortex-a53-843419-recognize.s | 52 +- .../ELF/aarch64-cortex-a53-843419-thunk.s | 2 +- .../ELF/aarch64-cortex-a53-843419-tlsrelax.s | 4 +- deps/lld/test/ELF/aarch64-feature-bti.s | 218 + deps/lld/test/ELF/aarch64-feature-btipac.s | 142 + deps/lld/test/ELF/aarch64-feature-pac.s | 129 + .../test/ELF/aarch64-fpic-adr_prel_pg_hi21.s | 2 + deps/lld/test/ELF/aarch64-fpic-got.s | 16 +- .../test/ELF/aarch64-gnu-ifunc-address-pie.s | 44 - deps/lld/test/ELF/aarch64-gnu-ifunc-address.s | 20 +- .../ELF/aarch64-gnu-ifunc-nonpreemptable.s | 72 + deps/lld/test/ELF/aarch64-gnu-ifunc-nosym.s | 2 +- deps/lld/test/ELF/aarch64-gnu-ifunc-plt.s | 31 +- deps/lld/test/ELF/aarch64-gnu-ifunc.s | 5 +- deps/lld/test/ELF/aarch64-gnu-ifunc2.s | 12 +- deps/lld/test/ELF/aarch64-gnu-ifunc3.s | 49 - deps/lld/test/ELF/aarch64-got-reloc.s | 30 - deps/lld/test/ELF/aarch64-got-weak-undef.s | 18 + deps/lld/test/ELF/aarch64-got.s | 18 - deps/lld/test/ELF/aarch64-hi21-nc.s | 8 + deps/lld/test/ELF/aarch64-ifunc-bti.s | 65 + deps/lld/test/ELF/aarch64-jump26-thunk.s | 1 + .../test/ELF/aarch64-ldprel-lo19-invalid.s | 2 +- deps/lld/test/ELF/aarch64-load-alignment.s | 2 +- .../{aarch64-copy2.s => aarch64-nopic-plt.s} | 2 +- deps/lld/test/ELF/aarch64-prel16.s | 4 +- deps/lld/test/ELF/aarch64-prel32.s | 4 +- .../test/ELF/aarch64-property-relocatable.s | 36 + deps/lld/test/ELF/aarch64-relocs.s | 12 + deps/lld/test/ELF/aarch64-relro.s | 2 +- deps/lld/test/ELF/aarch64-thunk-pi.s | 13 +- deps/lld/test/ELF/aarch64-thunk-script.s | 2 + deps/lld/test/ELF/aarch64-tls-gdie.s | 14 +- deps/lld/test/ELF/aarch64-tls-gdle.s | 21 +- deps/lld/test/ELF/aarch64-tls-ie.s | 68 +- deps/lld/test/ELF/aarch64-tls-iele.s | 19 +- deps/lld/test/ELF/aarch64-tls-le.s | 10 +- deps/lld/test/ELF/aarch64-tls-pie.s | 28 - deps/lld/test/ELF/aarch64-tls-static.s | 2 +- deps/lld/test/ELF/aarch64-tlsld-ldst.s | 54 +- deps/lld/test/ELF/aarch64-tstbr14-reloc.s | 20 +- deps/lld/test/ELF/aarch64-undefined-weak.s | 1 + deps/lld/test/ELF/abs-hidden.s | 2 +- deps/lld/test/ELF/allow-shlib-undefined.s | 36 +- deps/lld/test/ELF/amdgpu-abi-version-err.s | 10 + deps/lld/test/ELF/amdgpu-abi-version.s | 11 + deps/lld/test/ELF/amdgpu-elf-flags.s | 2 +- deps/lld/test/ELF/amdgpu-globals.s | 2 +- deps/lld/test/ELF/amdgpu-kernels.s | 2 +- deps/lld/test/ELF/amdgpu-relocs.s | 26 +- deps/lld/test/ELF/archive-fetch.s | 9 +- deps/lld/test/ELF/archive-no-index.s | 13 + .../test/ELF/archive-thin-missing-member.s | 24 + deps/lld/test/ELF/arm-abs32-dyn.s | 15 +- deps/lld/test/ELF/arm-attributes.s | 6 +- deps/lld/test/ELF/arm-bl-v6-inrange.s | 4 + deps/lld/test/ELF/arm-bl-v6.s | 1 + deps/lld/test/ELF/arm-blx.s | 5 + deps/lld/test/ELF/arm-branch-rangethunk.s | 2 + .../ELF/arm-branch-undef-weak-plt-thunk.s | 1 + deps/lld/test/ELF/arm-branch.s | 1 + deps/lld/test/ELF/arm-copy.s | 5 +- deps/lld/test/ELF/arm-data-prel.s | 22 +- deps/lld/test/ELF/arm-data-relocs.s | 2 + deps/lld/test/ELF/arm-eabi-version.s | 2 +- deps/lld/test/ELF/arm-exidx-add-missing.s | 66 + deps/lld/test/ELF/arm-exidx-canunwind.s | 28 +- deps/lld/test/ELF/arm-exidx-dedup.s | 25 +- deps/lld/test/ELF/arm-exidx-discard.s | 7 +- deps/lld/test/ELF/arm-exidx-emit-relocs.s | 71 + deps/lld/test/ELF/arm-exidx-gc.s | 24 +- deps/lld/test/ELF/arm-exidx-link.s | 2 +- deps/lld/test/ELF/arm-exidx-order.s | 11 + deps/lld/test/ELF/arm-exidx-output.s | 2 +- deps/lld/test/ELF/arm-exidx-relocatable.s | 2 +- .../ELF/arm-exidx-sentinel-norelocatable.s | 2 +- deps/lld/test/ELF/arm-exidx-shared.s | 10 +- deps/lld/test/ELF/arm-exidx-synthetic-link.s | 37 + .../lld/test/ELF/arm-extreme-range-pi-thunk.s | 4 + deps/lld/test/ELF/arm-force-pi-thunk.s | 2 + deps/lld/test/ELF/arm-fpic-got.s | 13 +- deps/lld/test/ELF/arm-gnu-ifunc-nosym.s | 2 +- deps/lld/test/ELF/arm-gnu-ifunc-plt.s | 35 +- deps/lld/test/ELF/arm-gnu-ifunc.s | 5 +- deps/lld/test/ELF/arm-got-relative.s | 3 +- deps/lld/test/ELF/arm-gotoff.s | 3 +- deps/lld/test/ELF/arm-icf-exidx.s | 1 + deps/lld/test/ELF/arm-mov-relocs.s | 2 + deps/lld/test/ELF/arm-pie-relative.s | 4 +- deps/lld/test/ELF/arm-plt-reloc.s | 45 +- deps/lld/test/ELF/arm-sbrel32.s | 1 + deps/lld/test/ELF/arm-tag-vfp-args.s | 14 +- deps/lld/test/ELF/arm-target1.s | 1 + deps/lld/test/ELF/arm-thumb-blx.s | 5 + .../test/ELF/arm-thumb-branch-rangethunk.s | 1 + deps/lld/test/ELF/arm-thumb-branch.s | 5 + .../lld/test/ELF/arm-thumb-condbranch-thunk.s | 1 + .../lld/test/ELF/arm-thumb-interwork-shared.s | 8 +- deps/lld/test/ELF/arm-thumb-interwork-thunk.s | 12 +- .../test/ELF/arm-thumb-narrow-branch-check.s | 7 + .../test/ELF/arm-thumb-no-undefined-thunk.s | 1 + .../test/ELF/arm-thumb-plt-range-thunk-os.s | 10 +- deps/lld/test/ELF/arm-thumb-plt-reloc.s | 29 +- deps/lld/test/ELF/arm-thumb-range-thunk-os.s | 1 + .../lld/test/ELF/arm-thumb-thunk-empty-pass.s | 1 + deps/lld/test/ELF/arm-thumb-thunk-v6m.s | 4 + .../ELF/arm-thumb-undefined-weak-narrow.test | 29 +- deps/lld/test/ELF/arm-thumb-undefined-weak.s | 1 + deps/lld/test/ELF/arm-thunk-largesection.s | 1 + .../test/ELF/arm-thunk-linkerscript-dotexpr.s | 1 + .../test/ELF/arm-thunk-linkerscript-large.s | 3 + .../test/ELF/arm-thunk-linkerscript-orphan.s | 3 + deps/lld/test/ELF/arm-thunk-linkerscript.s | 2 + deps/lld/test/ELF/arm-thunk-multipass-plt.s | 95 + deps/lld/test/ELF/arm-thunk-re-add.s | 7 +- deps/lld/test/ELF/arm-tls-gd32.s | 5 +- deps/lld/test/ELF/arm-tls-ie32.s | 3 +- deps/lld/test/ELF/arm-tls-ldm32.s | 4 +- deps/lld/test/ELF/arm-tls-le32.s | 15 +- deps/lld/test/ELF/arm-tls-norelax-gd-ie.s | 8 +- deps/lld/test/ELF/arm-tls-norelax-gd-le.s | 2 +- deps/lld/test/ELF/arm-tls-norelax-ie-le.s | 4 +- deps/lld/test/ELF/arm-tls-norelax-ld-le.s | 2 +- deps/lld/test/ELF/arm-undefined-weak.s | 1 + deps/lld/test/ELF/arm-v4bx.test | 15 +- deps/lld/test/ELF/as-needed-weak.s | 7 +- deps/lld/test/ELF/as-needed.s | 12 +- deps/lld/test/ELF/assignment-archive.s | 4 +- .../test/ELF/avoid-empty-program-headers.s | 2 +- deps/lld/test/ELF/bad-reloc-target.test | 29 - deps/lld/test/ELF/basic-aarch64.s | 2 +- deps/lld/test/ELF/basic-freebsd.s | 2 +- deps/lld/test/ELF/{basic32.s => basic-i386.s} | 6 +- deps/lld/test/ELF/basic-mips.s | 70 +- deps/lld/test/ELF/basic-ppc.s | 206 +- deps/lld/test/ELF/basic-ppc64.s | 78 +- deps/lld/test/ELF/basic-sparcv9.s | 2 +- deps/lld/test/ELF/basic.s | 9 +- deps/lld/test/ELF/basic64be.s | 217 - deps/lld/test/ELF/bss-start-common.s | 2 +- deps/lld/test/ELF/bss.s | 2 +- deps/lld/test/ELF/bsymbolic-undef.s | 2 +- deps/lld/test/ELF/bsymbolic.s | 6 +- deps/lld/test/ELF/build-id.s | 8 +- deps/lld/test/ELF/cgprofile-bad-clusters.s | 2 +- deps/lld/test/ELF/cgprofile-icf.s | 4 +- deps/lld/test/ELF/cgprofile-print.s | 37 + deps/lld/test/ELF/cgprofile-reproduce.s | 42 + deps/lld/test/ELF/cgprofile-txt.s | 4 +- deps/lld/test/ELF/cgprofile-txt2.s | 2 +- deps/lld/test/ELF/color-diagnostics.test | 2 +- deps/lld/test/ELF/combreloc.s | 48 + deps/lld/test/ELF/combrelocs.s | 95 - deps/lld/test/ELF/comdat-discarded-error.s | 28 + .../lld/test/ELF/comdat-discarded-gdb-index.s | 63 + deps/lld/test/ELF/comdat-discarded-ppc64.s | 17 + deps/lld/test/ELF/comdat-discarded-reloc.s | 39 +- deps/lld/test/ELF/comdat.s | 8 +- deps/lld/test/ELF/common-gc.s | 4 +- deps/lld/test/ELF/common-page.s | 223 + deps/lld/test/ELF/common.s | 2 +- deps/lld/test/ELF/compress-debug-sections.s | 4 +- deps/lld/test/ELF/compressed-debug-conflict.s | 2 +- deps/lld/test/ELF/compressed-debug-input.s | 10 +- .../test/ELF/compressed-input-alignment.test | 67 + deps/lld/test/ELF/copy-rel-pie.s | 13 +- deps/lld/test/ELF/copy-rel-version.s | 2 +- .../test/ELF/copy-relocation-zero-abs-addr.s | 4 +- deps/lld/test/ELF/debug-gnu-pubnames.s | 4 +- deps/lld/test/ELF/debug-line-obj.s | 175 + deps/lld/test/ELF/debug-line-str.s | 3 +- deps/lld/test/ELF/debug-relocation-none.test | 9 +- deps/lld/test/ELF/defsym-reserved-syms.s | 4 +- deps/lld/test/ELF/defsym.s | 9 +- deps/lld/test/ELF/deplibs-colon-prefix.s | 15 + deps/lld/test/ELF/deplibs-corrupt.s | 8 + deps/lld/test/ELF/deplibs.s | 56 + deps/lld/test/ELF/discard-locals.s | 2 +- deps/lld/test/ELF/discard-merge-locals.s | 2 +- deps/lld/test/ELF/discard-merge-unnamed.s | 2 +- deps/lld/test/ELF/discard-none.s | 2 +- deps/lld/test/ELF/driver.test | 10 +- deps/lld/test/ELF/dso-undef-size.s | 2 +- deps/lld/test/ELF/dso_handle.s | 2 +- deps/lld/test/ELF/dt_flags.s | 6 +- deps/lld/test/ELF/dt_tags.s | 4 +- deps/lld/test/ELF/dtrace-r.test | 8 - deps/lld/test/ELF/dynamic-got-rela.s | 6 +- deps/lld/test/ELF/dynamic-got.s | 46 +- .../ELF/dynamic-list-preempt-replace-symbol.s | 14 + deps/lld/test/ELF/dynamic-list-preempt.s | 9 +- deps/lld/test/ELF/dynamic-list-weak-archive.s | 2 +- deps/lld/test/ELF/dynamic-list-wildcard.s | 2 +- deps/lld/test/ELF/dynamic-list.s | 16 +- deps/lld/test/ELF/dynamic-no-rosegment.s | 2 +- deps/lld/test/ELF/dynamic-reloc-index.s | 2 +- deps/lld/test/ELF/dynamic-reloc.s | 6 +- deps/lld/test/ELF/dynamic.s | 4 +- deps/lld/test/ELF/dynsym-no-rosegment.s | 2 +- deps/lld/test/ELF/dynsym-pie.s | 2 +- deps/lld/test/ELF/edata-etext.s | 2 +- deps/lld/test/ELF/eh-align-cie.s | 4 +- deps/lld/test/ELF/eh-frame-begin-end.s | 2 +- deps/lld/test/ELF/eh-frame-gc.s | 2 +- deps/lld/test/ELF/eh-frame-gc2.s | 2 +- deps/lld/test/ELF/eh-frame-hdr-abs-fde.s | 18 +- deps/lld/test/ELF/eh-frame-hdr-augmentation.s | 4 +- deps/lld/test/ELF/eh-frame-hdr-icf-fde.s | 2 +- deps/lld/test/ELF/eh-frame-hdr-no-out2.s | 2 +- deps/lld/test/ELF/eh-frame-hdr.s | 29 +- deps/lld/test/ELF/eh-frame-marker.s | 2 +- deps/lld/test/ELF/eh-frame-merge.s | 2 +- .../test/ELF/eh-frame-negative-pcrel-sdata2.s | 2 +- .../test/ELF/eh-frame-negative-pcrel-sdata4.s | 2 +- .../test/ELF/eh-frame-negative-pcrel-sdata8.s | 2 +- .../test/ELF/eh-frame-padding-no-rosegment.s | 6 +- deps/lld/test/ELF/eh-frame-type.test | 2 +- deps/lld/test/ELF/eh-frame-value-format7.s | 2 +- deps/lld/test/ELF/eh-frame-value-format8.s | 2 +- deps/lld/test/ELF/ehdr_start.s | 4 +- deps/lld/test/ELF/ehframe-relocation.s | 3 +- deps/lld/test/ELF/elf-header.s | 4 +- deps/lld/test/ELF/emit-relocs-merge.s | 8 +- .../lld/test/ELF/emit-relocs-mergeable-i386.s | 2 +- deps/lld/test/ELF/emit-relocs-mergeable.s | 2 +- deps/lld/test/ELF/emit-relocs-mergeable2.s | 14 + deps/lld/test/ELF/emit-relocs-shared.s | 4 +- deps/lld/test/ELF/emit-relocs.s | 6 +- deps/lld/test/ELF/empty-pack-dyn-relocs.s | 2 +- deps/lld/test/ELF/empty-pt-load.s | 2 +- deps/lld/test/ELF/empty-ver.s | 2 +- deps/lld/test/ELF/empty-ver2.s | 2 +- deps/lld/test/ELF/emulation-aarch64.s | 12 +- deps/lld/test/ELF/emulation-arm.s | 8 +- deps/lld/test/ELF/emulation-mips.s | 42 +- deps/lld/test/ELF/emulation-ppc.s | 22 +- deps/lld/test/ELF/emulation-riscv.s | 74 + deps/lld/test/ELF/emulation-x86.s | 38 +- deps/lld/test/ELF/end-update.s | 2 +- deps/lld/test/ELF/end.s | 2 +- deps/lld/test/ELF/entry.s | 14 +- deps/lld/test/ELF/exclude-discarded-error.s | 15 + deps/lld/test/ELF/exclude-discarded-error2.s | 14 + deps/lld/test/ELF/exclude-libs.s | 16 +- .../test/ELF/executable-undefined-ignoreall.s | 2 +- ...executable-undefined-protected-ignoreall.s | 2 +- deps/lld/test/ELF/fill-trap-ppc.s | 4 +- deps/lld/test/ELF/fill-trap.s | 2 +- deps/lld/test/ELF/format-binary-non-ascii.s | 2 +- deps/lld/test/ELF/gc-debuginfo-tls.s | 4 +- deps/lld/test/ELF/gc-merge-local-sym.s | 2 +- deps/lld/test/ELF/gc-sections-alloc.s | 2 +- deps/lld/test/ELF/gc-sections-eh.s | 4 +- .../test/ELF/gc-sections-implicit-addend.s | 2 +- .../test/ELF/gc-sections-keep-shared-start.s | 2 +- .../ELF/gc-sections-linker-defined-symbol.s | 2 +- deps/lld/test/ELF/gc-sections-local-sym.s | 2 +- deps/lld/test/ELF/gc-sections-lsda.s | 2 +- deps/lld/test/ELF/gc-sections-merge-addend.s | 2 +- .../ELF/gc-sections-merge-implicit-addend.s | 2 +- deps/lld/test/ELF/gc-sections-merge.s | 4 +- .../test/ELF/gc-sections-metadata-startstop.s | 2 +- .../test/ELF/gc-sections-non-alloc-to-merge.s | 2 +- deps/lld/test/ELF/gc-sections-protected.s | 2 +- deps/lld/test/ELF/gc-sections-synthetic.s | 2 +- deps/lld/test/ELF/gc-sections-undefined.s | 2 +- deps/lld/test/ELF/gc-sections-weak.s | 2 +- deps/lld/test/ELF/gc-sections.s | 6 +- .../ELF/gdb-index-invalid-section-index.yaml | 140 + deps/lld/test/ELF/gdb-index-multiple-cu-2.s | 4 +- deps/lld/test/ELF/gdb-index-multiple-cu.s | 12 +- .../lld/test/ELF/gdb-index-ranges-discarded.s | 51 + deps/lld/test/ELF/gdb-index.s | 3 +- .../global-offset-table-position-aarch64.s | 4 +- .../ELF/global-offset-table-position-arm.s | 4 +- .../ELF/global-offset-table-position-i386.s | 4 +- .../ELF/global-offset-table-position-mips.s | 2 +- .../test/ELF/global-offset-table-position.s | 4 +- .../lld/test/ELF/global_offset_table_shared.s | 4 +- deps/lld/test/ELF/gnu-hash-table-rwsegment.s | 2 +- deps/lld/test/ELF/gnu-hash-table.s | 10 +- deps/lld/test/ELF/gnu-ifunc-canon.s | 92 + deps/lld/test/ELF/gnu-ifunc-dso.s | 4 +- deps/lld/test/ELF/gnu-ifunc-dyntags.s | 12 +- deps/lld/test/ELF/gnu-ifunc-gotpcrel.s | 2 +- deps/lld/test/ELF/gnu-ifunc-i386.s | 40 +- deps/lld/test/ELF/gnu-ifunc-noplt-i386.s | 71 + deps/lld/test/ELF/gnu-ifunc-noplt.s | 68 + deps/lld/test/ELF/gnu-ifunc-nosym-i386.s | 2 +- deps/lld/test/ELF/gnu-ifunc-nosym.s | 2 +- deps/lld/test/ELF/gnu-ifunc-plt-i386.s | 29 +- deps/lld/test/ELF/gnu-ifunc-plt.s | 33 +- deps/lld/test/ELF/gnu-ifunc-relative.s | 2 +- deps/lld/test/ELF/gnu-ifunc-shared.s | 19 +- deps/lld/test/ELF/gnu-ifunc.s | 5 +- deps/lld/test/ELF/gnu-unique.s | 6 +- deps/lld/test/ELF/gnustack.s | 6 +- deps/lld/test/ELF/got-aarch64.s | 40 - deps/lld/test/ELF/got-i386.s | 17 +- deps/lld/test/ELF/got-plt-header.s | 22 +- deps/lld/test/ELF/got.s | 2 +- deps/lld/test/ELF/got32-i386.s | 2 +- deps/lld/test/ELF/got32x-i386.s | 12 +- deps/lld/test/ELF/gotpc-relax-nopic.s | 30 +- deps/lld/test/ELF/gotpc-relax-und-dso.s | 3 +- deps/lld/test/ELF/gotpc-relax.s | 1 + deps/lld/test/ELF/gotpcrelx.s | 2 +- deps/lld/test/ELF/hexagon-shared.s | 14 +- deps/lld/test/ELF/hidden-shared-err.s | 2 +- deps/lld/test/ELF/i386-cet.s | 47 + deps/lld/test/ELF/i386-debug-noabs.test | 4 +- deps/lld/test/ELF/i386-got-and-copy.s | 2 +- deps/lld/test/ELF/i386-gotoff-shared.s | 16 +- deps/lld/test/ELF/i386-gotpc-dynamic.s | 23 +- deps/lld/test/ELF/i386-gotpc.s | 23 +- deps/lld/test/ELF/i386-merge.s | 10 +- deps/lld/test/ELF/i386-pc16.test | 12 +- deps/lld/test/ELF/i386-relax-reloc.s | 13 +- deps/lld/test/ELF/i386-reloc-16.s | 27 +- deps/lld/test/ELF/i386-reloc-8.s | 27 +- deps/lld/test/ELF/i386-reloc-large-addend.s | 1 + deps/lld/test/ELF/i386-reloc-range.s | 1 + .../ELF/i386-retpoline-nopic-linkerscript.s | 9 +- deps/lld/test/ELF/i386-retpoline-nopic.s | 11 +- .../ELF/i386-retpoline-pic-linkerscript.s | 9 +- deps/lld/test/ELF/i386-retpoline-pic.s | 13 +- deps/lld/test/ELF/i386-static-tls-model.s | 20 + deps/lld/test/ELF/i386-tls-ie-shared.s | 55 +- deps/lld/test/ELF/i386-tls-ld-preemptable.s | 18 + deps/lld/test/ELF/i386-tls-le-align.s | 29 + deps/lld/test/ELF/i386-tls-le-undef.s | 16 + deps/lld/test/ELF/icf-merged-sections.s | 4 +- deps/lld/test/ELF/icf-symbol-type.s | 2 +- deps/lld/test/ELF/icf10.s | 17 + deps/lld/test/ELF/icf10.test | 40 - deps/lld/test/ELF/icf11.test | 13 +- deps/lld/test/ELF/image-base.s | 4 +- deps/lld/test/ELF/init-fini-progbits.s | 2 +- deps/lld/test/ELF/init-fini.s | 12 +- deps/lld/test/ELF/invalid-relocations.test | 4 +- .../ELF/invalid-undef-section-symbol.test | 27 - deps/lld/test/ELF/invalid/Inputs/binding.elf | Bin 536 -> 0 bytes .../invalid/Inputs/broken-relaxation-x64.elf | Bin 688 -> 0 bytes .../Inputs/common-symbol-alignment.elf | Bin 456 -> 0 bytes .../Inputs/common-symbol-alignment2.elf | Bin 456 -> 0 bytes .../test/ELF/invalid/Inputs/data-encoding.a | Bin 156 -> 0 bytes .../Inputs/dynamic-section-sh_size.elf | Bin 482 -> 0 bytes deps/lld/test/ELF/invalid/Inputs/file-class.a | Bin 156 -> 0 bytes .../ELF/invalid/Inputs/invalid-e_shnum.elf | Bin 64 -> 0 bytes .../mips-invalid-options-descriptor.elf | Bin 480 -> 0 bytes .../ELF/invalid/Inputs/multiple-eh-relocs.elf | Bin 784 -> 0 bytes .../Inputs/section-alignment-notpow2.elf | Bin 960 -> 0 bytes .../test/ELF/invalid/Inputs/section-index.elf | Bin 544 -> 0 bytes .../test/ELF/invalid/Inputs/symbol-index.elf | Bin 480 -> 0 bytes .../ELF/invalid/Inputs/symbol-name-offset.elf | Bin 480 -> 0 bytes .../ELF/invalid/Inputs/symtab-sh_info.elf | Bin 512 -> 0 bytes .../ELF/invalid/Inputs/symtab-sh_info2.elf | Bin 470 -> 0 bytes .../ELF/invalid/Inputs/symtab-sh_info3.elf | Bin 470 -> 0 bytes .../test/ELF/invalid/Inputs/tls-symbol.elf | Bin 456 -> 0 bytes .../Inputs/undefined-local-symbol-in-dso.so | Bin 5080 -> 0 bytes .../lld/test/ELF/invalid/bad-arm-attributes.s | 8 + .../test/ELF/invalid/bad-arm-attributes2.s | 8 + .../test/ELF/invalid/bad-reloc-target.test | 76 + .../ELF/invalid/broken-relaxation-x64.test | 13 +- deps/lld/test/ELF/invalid/comdat-broken.test | 4 +- .../ELF/invalid/common-symbol-alignment.s | 12 - .../ELF/invalid/common-symbol-alignment.test | 36 + deps/lld/test/ELF/invalid/data-encoding.test | 17 + .../ELF/invalid/dynamic-section-broken.test | 36 + .../test/ELF/invalid/dynamic-section-size.s | 4 - .../invalid/ehframe-broken-relocation.test | 12 +- .../lld/test/ELF/invalid/invalid-binding.test | 19 + .../invalid/invalid-debug-relocations.test | 12 +- deps/lld/test/ELF/invalid/invalid-e_shnum.s | 3 - .../lld/test/ELF/invalid/invalid-e_shnum.test | 15 + deps/lld/test/ELF/invalid/invalid-elf.test | 33 +- .../test/ELF/invalid/invalid-file-class.test | 19 + .../ELF/invalid/invalid-relocation-x64.test | 8 +- deps/lld/test/ELF/invalid/invalid-soname.test | 5 +- .../invalid/mips-invalid-options-descriptor.s | 5 - .../mips-invalid-options-descriptor.test | 21 + .../multiple-relocations-sections.test | 29 + .../ELF/invalid/reloc-section-reordered.test | 4 + .../lld/test/ELF/invalid/section-alignment2.s | 21 +- deps/lld/test/ELF/invalid/section-index.test | 16 + .../ELF/invalid/sht-group-wrong-section.test | 4 +- deps/lld/test/ELF/invalid/symbol-index.s | 10 - deps/lld/test/ELF/invalid/symbol-name.s | 7 - deps/lld/test/ELF/invalid/symbol-name.test | 15 + deps/lld/test/ELF/invalid/symtab-sh-info.s | 68 +- deps/lld/test/ELF/invalid/symtab-symbols.test | 5 +- deps/lld/test/ELF/invalid/tls-symbol.s | 25 +- .../undefined-local-symbol-in-dso.test | 72 +- .../test/ELF/invalid/verdef-no-symtab.test | 9 +- deps/lld/test/ELF/invalid/x86-64-tlsdesc-gd.s | 15 + .../test/ELF/linkerscript/absolute-expr.test | 2 +- deps/lld/test/ELF/linkerscript/addr-zero.test | 14 +- deps/lld/test/ELF/linkerscript/addr.test | 2 +- .../test/ELF/linkerscript/align-empty.test | 2 +- deps/lld/test/ELF/linkerscript/align1.test | 4 +- deps/lld/test/ELF/linkerscript/align2.test | 2 +- deps/lld/test/ELF/linkerscript/align3.test | 2 +- .../ELF/linkerscript/alternate-sections.s | 2 +- .../ELF/linkerscript/arm-exidx-order.test | 4 +- .../arm-exidx-sentinel-and-assignment.s | 2 +- deps/lld/test/ELF/linkerscript/at-addr.s | 2 +- .../test/ELF/linkerscript/at-self-reference.s | 2 +- deps/lld/test/ELF/linkerscript/at.s | 2 +- deps/lld/test/ELF/linkerscript/at2.test | 4 +- deps/lld/test/ELF/linkerscript/at4.s | 2 +- deps/lld/test/ELF/linkerscript/comdat-gc.s | 2 +- .../lld/test/ELF/linkerscript/common-assign.s | 2 +- .../test/ELF/linkerscript/common-exclude.s | 2 +- .../ELF/linkerscript/common-filespec.test | 2 +- deps/lld/test/ELF/linkerscript/common.s | 2 +- .../linkerscript/compress-debug-sections.s | 4 +- .../ELF/linkerscript/copy-rel-symbol-value.s | 2 +- .../ELF/linkerscript/data-segment-relro.test | 4 +- deps/lld/test/ELF/linkerscript/defsym.s | 4 +- .../test/ELF/linkerscript/discard-interp.test | 2 +- deps/lld/test/ELF/linkerscript/discard-phdr.s | 36 + .../test/ELF/linkerscript/dot-is-not-abs.s | 2 +- deps/lld/test/ELF/linkerscript/dynamic-sym.s | 2 +- deps/lld/test/ELF/linkerscript/dynamic.s | 2 +- .../test/ELF/linkerscript/eh-frame-merge.s | 20 + deps/lld/test/ELF/linkerscript/ehdr_start.s | 2 +- deps/lld/test/ELF/linkerscript/emit-reloc.s | 4 +- .../ELF/linkerscript/empty-link-order.test | 2 +- .../linkerscript/empty-relaplt-dyntags.test | 44 + .../ELF/linkerscript/empty-section-size.test | 2 +- .../empty-sections-expressions.test | 24 + .../empty-synthetic-removed-flags.s | 4 +- deps/lld/test/ELF/linkerscript/entry.s | 4 +- deps/lld/test/ELF/linkerscript/excludefile.s | 3 + .../ELF/linkerscript/extend-pt-load1.test | 2 +- .../ELF/linkerscript/extend-pt-load2.test | 6 +- .../ELF/linkerscript/extend-pt-load3.test | 2 +- deps/lld/test/ELF/linkerscript/fill.test | 7 +- .../test/ELF/linkerscript/header-addr.test | 4 +- .../test/ELF/linkerscript/header-phdr.test | 2 +- .../test/ELF/linkerscript/info-section-type.s | 14 +- .../test/ELF/linkerscript/insert-after.test | 2 +- .../test/ELF/linkerscript/insert-before.test | 2 +- .../test/ELF/linkerscript/lazy-symbols.test | 2 +- deps/lld/test/ELF/linkerscript/linkerscript.s | 2 +- .../ELF/linkerscript/locationcountererr2.s | 2 +- deps/lld/test/ELF/linkerscript/memory-at.test | 2 +- .../linkerscript/memory-region-alignment.test | 2 +- deps/lld/test/ELF/linkerscript/memory3.s | 2 +- deps/lld/test/ELF/linkerscript/memory5.test | 4 +- .../test/ELF/linkerscript/merge-sections.s | 6 +- .../linkerscript/multi-sections-constraint.s | 4 +- .../lld/test/ELF/linkerscript/multiple-tbss.s | 2 +- .../ELF/linkerscript/nmagic-alignment.test | 85 + deps/lld/test/ELF/linkerscript/noload.s | 2 +- deps/lld/test/ELF/linkerscript/non-absolute.s | 3 +- .../test/ELF/linkerscript/non-absolute2.test | 2 +- deps/lld/test/ELF/linkerscript/numbers.s | 4 +- .../test/ELF/linkerscript/obj-symbol-value.s | 2 +- .../ELF/linkerscript/openbsd-bootdata.test | 2 +- .../test/ELF/linkerscript/openbsd-randomize.s | 2 +- .../ELF/linkerscript/orphan-first-cmd.test | 2 +- .../test/ELF/linkerscript/orphan-live-only.s | 42 + deps/lld/test/ELF/linkerscript/orphan-phdrs.s | 8 +- .../lld/test/ELF/linkerscript/orphan-report.s | 16 +- deps/lld/test/ELF/linkerscript/orphan.s | 10 +- .../out-of-order-section-in-region.test | 20 + deps/lld/test/ELF/linkerscript/out-of-order.s | 6 +- .../ELF/linkerscript/output-too-large-32bit.s | 11 + .../test/ELF/linkerscript/outsections-addr.s | 2 +- .../ELF/linkerscript/overlapping-sections.s | 22 +- deps/lld/test/ELF/linkerscript/overlay.test | 2 +- .../ELF/linkerscript/page-size-align.test | 2 +- deps/lld/test/ELF/linkerscript/page-size.s | 2 +- deps/lld/test/ELF/linkerscript/phdr-check.s | 2 +- deps/lld/test/ELF/linkerscript/phdrs-flags.s | 4 +- deps/lld/test/ELF/linkerscript/phdrs.s | 10 +- .../ELF/linkerscript/provide-empty-section.s | 8 +- .../test/ELF/linkerscript/provide-shared2.s | 2 +- deps/lld/test/ELF/linkerscript/pt-interp.test | 6 +- .../ELF/linkerscript/quoted-section-name.test | 13 + .../ELF/linkerscript/relocatable-discard.s | 2 +- .../test/ELF/linkerscript/repsection-symbol.s | 8 +- .../lld/test/ELF/linkerscript/repsection-va.s | 2 +- .../lld/test/ELF/linkerscript/section-align.s | 2 +- .../ELF/linkerscript/sections-constraint2.s | 2 +- .../ELF/linkerscript/sections-constraint3.s | 2 +- .../ELF/linkerscript/sections-constraint4.s | 2 +- .../ELF/linkerscript/sections-constraint5.s | 2 +- deps/lld/test/ELF/linkerscript/sections-gc2.s | 2 +- .../test/ELF/linkerscript/sections-padding.s | 33 +- deps/lld/test/ELF/linkerscript/segment-none.s | 2 +- .../test/ELF/linkerscript/sort-non-script.s | 2 +- .../linkerscript/symbol-alias-relocation.s | 36 + .../test/ELF/linkerscript/symbol-location.s | 11 +- .../ELF/linkerscript/symbol-only-align.test | 35 + .../ELF/linkerscript/symbol-only-flags.test | 4 +- .../test/ELF/linkerscript/symbol-only.test | 2 +- deps/lld/test/ELF/linkerscript/symbol-pie.s | 19 + deps/lld/test/ELF/linkerscript/tbss.s | 2 +- deps/lld/test/ELF/linkerscript/ttext-script.s | 2 +- deps/lld/test/ELF/linkerscript/va.s | 2 +- .../ELF/linkerscript/version-linker-symbol.s | 4 +- deps/lld/test/ELF/linkerscript/visibility.s | 4 +- deps/lld/test/ELF/local-dynamic.s | 2 +- deps/lld/test/ELF/local-got-pie.s | 3 +- deps/lld/test/ELF/local-got-shared.s | 2 +- deps/lld/test/ELF/local-got.s | 2 +- deps/lld/test/ELF/local-symbols-order.s | 2 +- deps/lld/test/ELF/local-undefined-symbol.s | 8 +- deps/lld/test/ELF/local.s | 2 +- .../test/ELF/lto/Inputs/irmover-warning.ll | 10 + deps/lld/test/ELF/lto/Inputs/obj-path.ll | 7 + deps/lld/test/ELF/lto/archive-2.ll | 4 +- deps/lld/test/ELF/lto/archive-no-index.ll | 17 +- deps/lld/test/ELF/lto/archive.ll | 4 +- deps/lld/test/ELF/lto/comdat.ll | 2 +- deps/lld/test/ELF/lto/comdat2.ll | 4 +- deps/lld/test/ELF/lto/common.ll | 2 +- deps/lld/test/ELF/lto/common2.ll | 2 +- deps/lld/test/ELF/lto/common4.ll | 21 + deps/lld/test/ELF/lto/ctors.ll | 2 +- deps/lld/test/ELF/lto/defsym.ll | 14 +- deps/lld/test/ELF/lto/deplibs.s | 15 + deps/lld/test/ELF/lto/dynamic-list.ll | 2 +- deps/lld/test/ELF/lto/dynsym.ll | 4 +- deps/lld/test/ELF/lto/irmover-warning.ll | 23 + .../ELF/lto/linker-script-symbols-assign.ll | 6 +- .../lld/test/ELF/lto/linker-script-symbols.ll | 3 +- deps/lld/test/ELF/lto/lto-start.ll | 2 +- deps/lld/test/ELF/lto/obj-path.ll | 35 + deps/lld/test/ELF/lto/opt-remarks.ll | 10 +- deps/lld/test/ELF/lto/parallel-internalize.ll | 2 +- deps/lld/test/ELF/lto/relocatable.ll | 4 +- deps/lld/test/ELF/lto/resolution.ll | 2 +- deps/lld/test/ELF/lto/riscv32.ll | 10 + deps/lld/test/ELF/lto/riscv64.ll | 10 + deps/lld/test/ELF/lto/setting-dso-local.ll | 2 +- deps/lld/test/ELF/lto/shlib-undefined.ll | 2 +- .../test/ELF/lto/thinlto-cant-write-index.ll | 3 +- deps/lld/test/ELF/lto/thinlto-index-only.ll | 12 +- deps/lld/test/ELF/lto/tls-preserve.ll | 2 +- deps/lld/test/ELF/lto/undef-mixed.ll | 2 +- deps/lld/test/ELF/lto/undef-weak.ll | 2 +- deps/lld/test/ELF/lto/undef.ll | 2 +- deps/lld/test/ELF/lto/undefined-puts.ll | 4 +- deps/lld/test/ELF/lto/version-script.ll | 2 +- deps/lld/test/ELF/lto/version-script2.ll | 2 +- deps/lld/test/ELF/lto/visibility.ll | 4 +- deps/lld/test/ELF/lto/weak.ll | 2 +- deps/lld/test/ELF/lto/weakodr-visibility.ll | 4 +- deps/lld/test/ELF/lto/wrap-1.ll | 4 +- deps/lld/test/ELF/lto/wrap-2.ll | 15 +- deps/lld/test/ELF/magic-page-combo-warn.s | 86 + deps/lld/test/ELF/many-alloc-sections.s | 2 +- deps/lld/test/ELF/many-sections.s | 6 +- deps/lld/test/ELF/map-file.s | 54 +- deps/lld/test/ELF/merge-align.s | 2 +- deps/lld/test/ELF/merge-align2.s | 35 + deps/lld/test/ELF/merge-entsize.s | 11 +- deps/lld/test/ELF/merge-entsize2.s | 49 + deps/lld/test/ELF/merge-gc-piece.s | 6 +- deps/lld/test/ELF/merge-gc-piece2.s | 2 +- deps/lld/test/ELF/merge-reloc-O0.s | 48 - deps/lld/test/ELF/merge-reloc.s | 2 +- deps/lld/test/ELF/merge-section-types.s | 6 +- deps/lld/test/ELF/merge-shared-str.s | 6 +- deps/lld/test/ELF/merge-shared.s | 6 +- deps/lld/test/ELF/merge-string-align.s | 2 +- deps/lld/test/ELF/merge-string-align2.s | 25 + deps/lld/test/ELF/merge-string-error.s | 2 +- deps/lld/test/ELF/merge-string.s | 6 +- deps/lld/test/ELF/merge-sym.s | 6 +- deps/lld/test/ELF/merge-to-non-alloc.s | 2 +- deps/lld/test/ELF/merge.s | 3 +- deps/lld/test/ELF/mips-26-mask.s | 1 + deps/lld/test/ELF/mips-26.s | 5 +- deps/lld/test/ELF/mips-32.s | 10 +- deps/lld/test/ELF/mips-64-disp.s | 73 +- deps/lld/test/ELF/mips-64-got-overflow.s | 88 +- deps/lld/test/ELF/mips-64-got.s | 74 +- deps/lld/test/ELF/mips-64-gprel-so.s | 1 + deps/lld/test/ELF/mips-64.s | 2 +- deps/lld/test/ELF/mips-abs-got.s | 8 +- deps/lld/test/ELF/mips-call-hilo.s | 50 +- deps/lld/test/ELF/mips-call16.s | 3 +- deps/lld/test/ELF/mips-dynamic.s | 8 +- deps/lld/test/ELF/mips-dynsym-sort.s | 4 +- deps/lld/test/ELF/mips-elf-flags.s | 14 +- deps/lld/test/ELF/mips-got-and-copy.s | 2 +- deps/lld/test/ELF/mips-got-extsym.s | 2 +- deps/lld/test/ELF/mips-got-hilo.s | 3 +- deps/lld/test/ELF/mips-got-page-script.s | 2 +- deps/lld/test/ELF/mips-got-page.s | 2 +- deps/lld/test/ELF/mips-got-redundant.s | 2 +- deps/lld/test/ELF/mips-got-relocs.s | 115 +- deps/lld/test/ELF/mips-got-script.s | 2 +- deps/lld/test/ELF/mips-got-string.s | 18 +- deps/lld/test/ELF/mips-got-weak.s | 4 +- deps/lld/test/ELF/mips-got16-relocatable.s | 2 + deps/lld/test/ELF/mips-got16.s | 101 +- deps/lld/test/ELF/mips-gp-disp.s | 7 +- deps/lld/test/ELF/mips-gp-local.s | 1 + deps/lld/test/ELF/mips-gp-lowest.s | 2 +- deps/lld/test/ELF/mips-gprel-sec.s | 2 +- deps/lld/test/ELF/mips-gprel32-relocs-gp0.s | 4 +- deps/lld/test/ELF/mips-hilo-gp-disp.s | 2 + deps/lld/test/ELF/mips-hilo-hi-only.s | 1 + deps/lld/test/ELF/mips-hilo.s | 1 + deps/lld/test/ELF/mips-jalr.test | 25 +- deps/lld/test/ELF/mips-merge-abiflags.s | 4 +- deps/lld/test/ELF/mips-mgot.s | 42 +- .../lld/test/ELF/mips-micro-bad-cross-calls.s | 15 + deps/lld/test/ELF/mips-micro-cross-calls.s | 44 + deps/lld/test/ELF/mips-micro-got.s | 2 +- deps/lld/test/ELF/mips-micro-jal.s | 9 +- deps/lld/test/ELF/mips-micro-plt.s | 6 +- deps/lld/test/ELF/mips-micro-relocs.s | 37 +- deps/lld/test/ELF/mips-micror6-relocs.s | 4 +- deps/lld/test/ELF/mips-n32-rels.s | 1 + deps/lld/test/ELF/mips-non-zero-gp0.s | 4 +- deps/lld/test/ELF/mips-npic-call-pic-os.s | 5 + deps/lld/test/ELF/mips-npic-call-pic-script.s | 5 + deps/lld/test/ELF/mips-npic-call-pic.s | 72 +- deps/lld/test/ELF/mips-options-r.test | 2 +- deps/lld/test/ELF/mips-options.s | 15 +- deps/lld/test/ELF/mips-pc-relocs.s | 1 + deps/lld/test/ELF/mips-plt-copy.s | 2 +- deps/lld/test/ELF/mips-plt-n32.s | 3 + .../ELF/{mips-26-n32-n64.s => mips-plt-n64.s} | 8 +- deps/lld/test/ELF/mips-plt-r6.s | 3 + deps/lld/test/ELF/mips-reginfo.s | 2 +- deps/lld/test/ELF/mips-sto-pic-flag.s | 2 +- deps/lld/test/ELF/mips-sto-plt.s | 2 +- deps/lld/test/ELF/mips-tls-64.s | 48 +- deps/lld/test/ELF/mips-tls-hilo.s | 4 +- deps/lld/test/ELF/mips-tls-static-64.s | 4 +- deps/lld/test/ELF/mips-tls-static.s | 6 +- deps/lld/test/ELF/mips-tls.s | 40 +- deps/lld/test/ELF/mips-xgot-order.s | 1 + deps/lld/test/ELF/msp430.s | 1 + deps/lld/test/ELF/new-dtags.test | 4 +- deps/lld/test/ELF/no-discard-this_module.s | 2 +- deps/lld/test/ELF/no-inhibit-exec.s | 1 + deps/lld/test/ELF/non-abs-reloc.s | 1 + deps/lld/test/ELF/non-alloc-link-order-gc.s | 1 + deps/lld/test/ELF/noplt-pie.s | 2 +- deps/lld/test/ELF/note-alignment.s | 36 + deps/lld/test/ELF/note-contiguous.s | 4 +- deps/lld/test/ELF/note-loadaddr.s | 2 +- deps/lld/test/ELF/note-multiple.s | 2 +- deps/lld/test/ELF/note-noalloc.s | 2 +- deps/lld/test/ELF/note-noalloc2.s | 2 +- deps/lld/test/ELF/note.s | 2 +- deps/lld/test/ELF/output-section.s | 2 +- deps/lld/test/ELF/pack-dyn-relocs-loop.s | 24 +- .../test/ELF/pack-dyn-relocs-tls-aarch64.s | 2 +- .../lld/test/ELF/pack-dyn-relocs-tls-x86-64.s | 2 +- deps/lld/test/ELF/pack-dyn-relocs.s | 352 +- deps/lld/test/ELF/pack-dyn-relocs2.s | 72 +- deps/lld/test/ELF/partition-errors.s | 23 + deps/lld/test/ELF/partition-exidx.s | 49 + deps/lld/test/ELF/partition-icf.s | 50 + deps/lld/test/ELF/partition-move-to-main.s | 44 + deps/lld/test/ELF/partition-notes.s | 45 + deps/lld/test/ELF/partition-pack-dyn-relocs.s | 51 + .../test/ELF/partition-synthetic-sections.s | 241 ++ deps/lld/test/ELF/partition-thunk-reuse.s | 45 + deps/lld/test/ELF/partitions.s | 63 + deps/lld/test/ELF/phdr-align.s | 2 +- deps/lld/test/ELF/pie-weak.s | 6 +- deps/lld/test/ELF/pie.s | 10 +- deps/lld/test/ELF/plt-aarch64.s | 70 +- deps/lld/test/ELF/plt-i686.s | 64 +- deps/lld/test/ELF/plt.s | 40 +- deps/lld/test/ELF/ppc-rela.s | 2 +- deps/lld/test/ELF/ppc-relocs.s | 101 - deps/lld/test/ELF/ppc32-abs-pic.s | 23 + deps/lld/test/ELF/ppc32-call-stub-nopic.s | 81 + deps/lld/test/ELF/ppc32-call-stub-pic.s | 151 + .../test/ELF/ppc32-gnu-ifunc-nonpreemptable.s | 45 + deps/lld/test/ELF/ppc32-gnu-ifunc.s | 41 + deps/lld/test/ELF/ppc32-local-branch.s | 21 + deps/lld/test/ELF/ppc32-reloc-addr.s | 26 + deps/lld/test/ELF/ppc32-reloc-got.s | 36 + deps/lld/test/ELF/ppc32-reloc-rel.s | 34 + deps/lld/test/ELF/ppc32-tls-gd.s | 98 + deps/lld/test/ELF/ppc32-tls-ie.s | 67 + deps/lld/test/ELF/ppc32-tls-ld.s | 82 + deps/lld/test/ELF/ppc32-tls-le.s | 24 + deps/lld/test/ELF/ppc32-weak-undef-call.s | 19 + deps/lld/test/ELF/ppc64-abs32-dyn.s | 14 + deps/lld/test/ELF/ppc64-abs64-dyn.s | 29 + deps/lld/test/ELF/ppc64-addr16-error.s | 13 - .../test/ELF/ppc64-bsymbolic-toc-restore.s | 4 +- deps/lld/test/ELF/ppc64-call-reach.s | 56 +- deps/lld/test/ELF/ppc64-dtprel.s | 63 +- deps/lld/test/ELF/ppc64-dynamic-relocations.s | 50 - deps/lld/test/ELF/ppc64-entry-point.s | 40 +- deps/lld/test/ELF/ppc64-func-entry-points.s | 4 +- deps/lld/test/ELF/ppc64-gd-to-ie.s | 104 - deps/lld/test/ELF/ppc64-general-dynamic-tls.s | 112 - deps/lld/test/ELF/ppc64-got-indirect.s | 115 - deps/lld/test/ELF/ppc64-ifunc.s | 110 +- deps/lld/test/ELF/ppc64-initial-exec-tls.s | 102 - deps/lld/test/ELF/ppc64-ld-got-dtprel.s | 44 + deps/lld/test/ELF/ppc64-local-dynamic.s | 2 +- deps/lld/test/ELF/ppc64-local-entry.s | 47 + deps/lld/test/ELF/ppc64-long-branch-init.s | 44 + .../ELF/ppc64-long-branch-localentry-offset.s | 30 + deps/lld/test/ELF/ppc64-long-branch.s | 93 +- deps/lld/test/ELF/ppc64-plt-stub.s | 61 +- deps/lld/test/ELF/ppc64-rel-calls.s | 6 +- deps/lld/test/ELF/ppc64-reloc-addr.s | 25 + deps/lld/test/ELF/ppc64-relocs.s | 174 +- deps/lld/test/ELF/ppc64-shared-long_branch.s | 16 +- .../lld/test/ELF/ppc64-sort-small-cm-relocs.s | 108 + deps/lld/test/ELF/ppc64-tls-gd-le-small.s | 61 - deps/lld/test/ELF/ppc64-tls-gd-le.s | 83 - deps/lld/test/ELF/ppc64-tls-gd.s | 102 + deps/lld/test/ELF/ppc64-tls-ie-le.s | 140 - deps/lld/test/ELF/ppc64-tls-ie.s | 171 + deps/lld/test/ELF/ppc64-tls-ld-le.s | 8 +- deps/lld/test/ELF/ppc64-tls-ld-preemptable.s | 35 + deps/lld/test/ELF/ppc64-toc-addis-nop-lqsq.s | 5 +- deps/lld/test/ELF/ppc64-toc-addis-nop.s | 22 +- deps/lld/test/ELF/ppc64-toc-rel.s | 55 +- deps/lld/test/ELF/ppc64-toc-relax-constants.s | 61 + deps/lld/test/ELF/ppc64-toc-relax-jumptable.s | 73 + deps/lld/test/ELF/ppc64-toc-relax.s | 105 + .../ELF/ppc64-toc-restore-recursive-call.s | 17 +- deps/lld/test/ELF/ppc64-toc-restore.s | 41 +- .../test/ELF/ppc64-weak-undef-call-shared.s | 4 +- deps/lld/test/ELF/ppc64-weak-undef-call.s | 11 +- deps/lld/test/ELF/pr34660.s | 5 +- deps/lld/test/ELF/pr34872.s | 2 +- deps/lld/test/ELF/pr36475.s | 2 +- deps/lld/test/ELF/pre_init_fini_array.s | 2 +- .../test/ELF/pre_init_fini_array_missing.s | 2 + deps/lld/test/ELF/progname.s | 6 +- deps/lld/test/ELF/program-header-layout.s | 2 +- deps/lld/test/ELF/protected-shared.s | 2 +- deps/lld/test/ELF/push-state.s | 4 +- .../lld/test/ELF/rel-addend-with-rela-input.s | 4 +- deps/lld/test/ELF/rel-offset.s | 4 +- .../lld/test/ELF/relative-dynamic-reloc-pie.s | 8 +- .../test/ELF/relative-dynamic-reloc-ppc64.s | 71 - deps/lld/test/ELF/relative-dynamic-reloc.s | 6 +- deps/lld/test/ELF/relocatable-bss.s | 2 +- .../test/ELF/relocatable-comdat-multiple.s | 2 +- deps/lld/test/ELF/relocatable-comdat.s | 2 +- deps/lld/test/ELF/relocatable-comdat2.s | 2 +- deps/lld/test/ELF/relocatable-comment.s | 2 +- deps/lld/test/ELF/relocatable-common.s | 12 +- .../test/ELF/relocatable-compressed-input.s | 4 +- deps/lld/test/ELF/relocatable-eh-frame-hdr.s | 2 +- deps/lld/test/ELF/relocatable-eh-frame.s | 19 - deps/lld/test/ELF/relocatable-ehframe.s | 2 +- deps/lld/test/ELF/relocatable-empty-archive.s | 2 +- deps/lld/test/ELF/relocatable-many-sections.s | 16 +- deps/lld/test/ELF/relocatable-rel-iplt.s | 4 +- deps/lld/test/ELF/relocatable-script.s | 2 +- .../lld/test/ELF/relocatable-section-symbol.s | 2 +- deps/lld/test/ELF/relocatable-symbol-name.s | 4 +- deps/lld/test/ELF/relocatable-symbols.s | 6 +- deps/lld/test/ELF/relocatable-visibility.s | 2 +- deps/lld/test/ELF/relocatable.s | 9 +- deps/lld/test/ELF/relocation-b-aarch64.test | 18 +- .../test/ELF/relocation-before-merge-start.s | 2 +- .../test/ELF/relocation-copy-align-common.s | 2 +- deps/lld/test/ELF/relocation-copy-align.s | 2 +- deps/lld/test/ELF/relocation-copy-flags.s | 14 +- deps/lld/test/ELF/relocation-copy-i686.s | 3 +- deps/lld/test/ELF/relocation-copy-relro.s | 2 +- deps/lld/test/ELF/relocation-copy.s | 3 +- deps/lld/test/ELF/relocation-dtrace.test | 24 - deps/lld/test/ELF/relocation-group.test | 6 +- deps/lld/test/ELF/relocation-i686.s | 31 +- deps/lld/test/ELF/relocation-local.s | 2 + deps/lld/test/ELF/relocation-non-alloc.s | 24 +- deps/lld/test/ELF/relocation-none-aarch64.s | 26 + .../lld/test/ELF/relocation-none-aarch64.test | 24 - deps/lld/test/ELF/relocation-none-arm.s | 26 + deps/lld/test/ELF/relocation-none-i386.s | 26 + deps/lld/test/ELF/relocation-none-i686.test | 23 - deps/lld/test/ELF/relocation-none-x86-64.s | 26 + deps/lld/test/ELF/relocation-past-merge-end.s | 2 +- .../test/ELF/relocation-relative-synthetic.s | 2 +- deps/lld/test/ELF/relocation-relative-weak.s | 8 +- deps/lld/test/ELF/relocation-shared.s | 2 +- deps/lld/test/ELF/relocation-size-shared.s | 1 + deps/lld/test/ELF/relocation-size.s | 2 + deps/lld/test/ELF/relocation-undefined-weak.s | 2 +- deps/lld/test/ELF/relocation.s | 49 +- deps/lld/test/ELF/relro-bss.s | 44 + deps/lld/test/ELF/relro-non-contiguous.s | 6 +- deps/lld/test/ELF/relro-omagic.s | 4 +- deps/lld/test/ELF/relro-tls.s | 2 +- deps/lld/test/ELF/relro.s | 11 +- deps/lld/test/ELF/resolution-end.s | 2 +- deps/lld/test/ELF/resolution-shared.s | 2 +- deps/lld/test/ELF/resolution.s | 2 +- deps/lld/test/ELF/riscv-branch.s | 32 + deps/lld/test/ELF/riscv-branch.test | 119 - deps/lld/test/ELF/riscv-call.s | 32 + deps/lld/test/ELF/riscv-call.test | 95 - deps/lld/test/ELF/riscv-gp-dummy-sdata.s | 25 + deps/lld/test/ELF/riscv-gp.s | 26 + deps/lld/test/ELF/riscv-hi20-lo12.s | 40 + deps/lld/test/ELF/riscv-hi20-lo12.test | 86 - deps/lld/test/ELF/riscv-jal-error.test | 93 - deps/lld/test/ELF/riscv-jal.s | 34 + deps/lld/test/ELF/riscv-jal.test | 161 - deps/lld/test/ELF/riscv-pcrel-hilo-error.s | 7 + deps/lld/test/ELF/riscv-pcrel-hilo.s | 45 + deps/lld/test/ELF/riscv-pcrel-hilo.test | 103 - deps/lld/test/ELF/riscv-plt.s | 103 + deps/lld/test/ELF/riscv-reloc-64-pic.s | 10 + deps/lld/test/ELF/riscv-reloc-add.s | 32 + deps/lld/test/ELF/riscv-reloc-copy.s | 23 + deps/lld/test/ELF/riscv-reloc-got.s | 65 + deps/lld/test/ELF/riscv-tls-gd.s | 124 + deps/lld/test/ELF/riscv-tls-ie.s | 82 + deps/lld/test/ELF/riscv-tls-ld.s | 90 + deps/lld/test/ELF/riscv-tls-le.s | 41 + deps/lld/test/ELF/riscv32-reloc-32-pic.s | 23 + deps/lld/test/ELF/riscv64-reloc-64-pic.s | 23 + deps/lld/test/ELF/rodynamic.s | 8 +- deps/lld/test/ELF/section-align-0.test | 6 +- deps/lld/test/ELF/section-layout.s | 9 +- deps/lld/test/ELF/section-name.s | 12 +- deps/lld/test/ELF/section-symbol.s | 2 +- deps/lld/test/ELF/section-symbols.test | 17 +- deps/lld/test/ELF/sectionstart-noallochdr.s | 2 +- deps/lld/test/ELF/sectionstart.s | 8 +- deps/lld/test/ELF/segments.s | 48 +- deps/lld/test/ELF/shared-ppc64.s | 10 +- deps/lld/test/ELF/shared.s | 10 +- deps/lld/test/ELF/shf-info-link.test | 6 +- deps/lld/test/ELF/sht-group-empty.test | 10 +- deps/lld/test/ELF/silent-ignore.test | 3 + deps/lld/test/ELF/sort-norosegment.s | 2 +- deps/lld/test/ELF/start-lib-comdat.s | 4 +- deps/lld/test/ELF/startstop-gccollect.s | 4 + deps/lld/test/ELF/startstop-shared.s | 2 +- deps/lld/test/ELF/startstop.s | 8 +- .../lld/test/ELF/static-with-export-dynamic.s | 2 +- deps/lld/test/ELF/stdout.s | 15 + deps/lld/test/ELF/string-gc.s | 2 +- deps/lld/test/ELF/string-table.s | 2 +- deps/lld/test/ELF/strip-debug.s | 6 +- ...symbol-ordering-file-cgprofile-conflicts.s | 66 + deps/lld/test/ELF/symbol-override.s | 2 +- deps/lld/test/ELF/symbols.s | 2 +- deps/lld/test/ELF/synthetic-got.s | 14 +- deps/lld/test/ELF/sysv-hash-no-rosegment.s | 2 +- deps/lld/test/ELF/tail-merge-string-align.s | 2 +- deps/lld/test/ELF/tls-align.s | 21 - deps/lld/test/ELF/tls-dynamic-i686.s | 51 +- deps/lld/test/ELF/tls-dynamic.s | 29 +- deps/lld/test/ELF/tls-got.s | 33 +- deps/lld/test/ELF/tls-i686.s | 2 + deps/lld/test/ELF/tls-initial-exec-local.s | 17 +- deps/lld/test/ELF/tls-offset.s | 4 +- deps/lld/test/ELF/tls-opt-gdie.s | 3 +- deps/lld/test/ELF/tls-opt-gdiele-i686.s | 7 +- deps/lld/test/ELF/tls-opt-i686.s | 1 + deps/lld/test/ELF/tls-opt-iele-i686-nopic.s | 47 +- deps/lld/test/ELF/tls-opt-local.s | 1 + deps/lld/test/ELF/tls-opt-no-plt.s | 2 +- deps/lld/test/ELF/tls-relocatable.s | 2 +- deps/lld/test/ELF/tls.s | 3 +- deps/lld/test/ELF/trace-symbols.s | 27 +- deps/lld/test/ELF/trace.s | 2 +- deps/lld/test/ELF/ttext-tdata-tbss.s | 8 +- deps/lld/test/ELF/undef-broken-debug.test | 25 +- deps/lld/test/ELF/undef-multi.s | 65 + deps/lld/test/ELF/undef-shared.s | 6 +- deps/lld/test/ELF/undef-shared2.s | 2 +- deps/lld/test/ELF/undef-version-script.s | 2 +- deps/lld/test/ELF/undef-with-plt-addr-i686.s | 2 +- deps/lld/test/ELF/undef-with-plt-addr.s | 6 +- deps/lld/test/ELF/undefined-glob.s | 58 + deps/lld/test/ELF/undefined-opt.s | 2 +- .../lld/test/ELF/undefined-versioned-symbol.s | 12 +- deps/lld/test/ELF/unresolved-symbols.s | 6 +- deps/lld/test/ELF/verdef-defaultver.s | 34 +- deps/lld/test/ELF/verdef-dependency.s | 2 +- deps/lld/test/ELF/verdef.s | 8 +- deps/lld/test/ELF/verneed.s | 58 +- deps/lld/test/ELF/version-exclude-libs.s | 4 +- .../test/ELF/version-script-anonymous-local.s | 2 +- deps/lld/test/ELF/version-script-copy-rel.s | 2 +- .../test/ELF/version-script-extern-exact.s | 4 +- .../version-script-extern-wildcards-anon.s | 2 +- .../ELF/version-script-extern-wildcards.s | 2 +- deps/lld/test/ELF/version-script-extern.s | 2 +- deps/lld/test/ELF/version-script-glob.s | 2 +- .../test/ELF/version-script-hide-so-symbol.s | 2 +- deps/lld/test/ELF/version-script-locals.s | 6 +- deps/lld/test/ELF/version-script-reassign.s | 36 + deps/lld/test/ELF/version-script-twice.s | 2 +- deps/lld/test/ELF/version-script-weak.s | 4 +- deps/lld/test/ELF/version-script.s | 18 +- deps/lld/test/ELF/version-use.s | 2 +- deps/lld/test/ELF/version-wildcard.test | 4 +- deps/lld/test/ELF/visibility.s | 2 +- deps/lld/test/ELF/vs-diagnostics-duplicate.s | 63 + .../ELF/vs-diagnostics-dynamic-relocation.s | 35 + .../ELF/vs-diagnostics-undefined-symbol-1.s | 15 + .../ELF/vs-diagnostics-undefined-symbol-2.s | 18 + .../ELF/vs-diagnostics-undefined-symbol-3.s | 40 + .../test/ELF/vs-diagnostics-versionscript.s | 5 + .../test/ELF/warn-unresolved-symbols-hidden.s | 4 +- deps/lld/test/ELF/weak-undef-export.s | 2 +- deps/lld/test/ELF/weak-undef-hidden.s | 2 +- deps/lld/test/ELF/weak-undef-lib.s | 2 +- deps/lld/test/ELF/weak-undef-no-shared-libs.s | 28 + deps/lld/test/ELF/weak-undef-rw.s | 8 +- deps/lld/test/ELF/weak-undef-shared.s | 52 +- deps/lld/test/ELF/weak-undef-shared2.s | 21 + deps/lld/test/ELF/weak-undef-val.s | 2 +- deps/lld/test/ELF/weak-undef.s | 6 +- deps/lld/test/ELF/wrap-dynamic-undef.s | 2 +- deps/lld/test/ELF/wrap-entry.s | 2 +- deps/lld/test/ELF/wrap-plt.s | 6 +- deps/lld/test/ELF/wrap.s | 2 +- deps/lld/test/ELF/x86-64-cet.s | 48 + deps/lld/test/ELF/x86-64-dyn-rel-error5.s | 26 + deps/lld/test/ELF/x86-64-pcrel.s | 23 + deps/lld/test/ELF/x86-64-plt-high-addr.s | 8 +- deps/lld/test/ELF/x86-64-rela.s | 4 +- deps/lld/test/ELF/x86-64-reloc-16.s | 14 - deps/lld/test/ELF/x86-64-reloc-8-16.s | 25 + deps/lld/test/ELF/x86-64-reloc-8.s | 14 - deps/lld/test/ELF/x86-64-reloc-gotoff64.s | 18 +- deps/lld/test/ELF/x86-64-reloc-gotpc64.s | 6 +- .../test/ELF/x86-64-retpoline-linkerscript.s | 9 +- .../ELF/x86-64-retpoline-znow-linkerscript.s | 1 + deps/lld/test/ELF/x86-64-retpoline-znow.s | 1 + deps/lld/test/ELF/x86-64-retpoline.s | 15 +- deps/lld/test/ELF/x86-64-static-tls-model.s | 18 + deps/lld/test/ELF/x86-64-tls-gd-local.s | 10 +- deps/lld/test/ELF/x86-64-tls-ld-local.s | 2 +- deps/lld/test/ELF/x86-64-tls-ld-preemptable.s | 20 + deps/lld/test/ELF/x86-64-tls-le-align.s | 16 + deps/lld/test/ELF/x86-64-tls-le-undef.s | 15 + deps/lld/test/ELF/x86-64-tlsdesc-gd.s | 69 + deps/lld/test/ELF/x86-64-tlsdesc-ld.s | 45 + deps/lld/test/ELF/x86-property-relocatable.s | 36 + deps/lld/test/ELF/znotext-plt-relocations.s | 3 +- deps/lld/test/ELF/zstack-size.s | 6 +- deps/lld/test/ELF/ztext.s | 6 +- deps/lld/test/MinGW/driver.test | 49 + deps/lld/test/lit.cfg.py | 9 +- deps/lld/test/lit.site.cfg.py.in | 3 +- deps/lld/test/mach-o/arm-interworking.yaml | 2 +- deps/lld/test/mach-o/arm-shims.yaml | 2 +- deps/lld/test/mach-o/exe-offsets.yaml | 2 +- deps/lld/test/mach-o/exe-segment-overlap.yaml | 2 +- deps/lld/test/mach-o/executable-exports.yaml | 2 +- deps/lld/test/mach-o/export-trie-order.yaml | 2 +- deps/lld/test/mach-o/got-order.yaml | 2 +- deps/lld/test/mach-o/image-base.yaml | 2 +- deps/lld/test/mach-o/lazy-bind-x86_64.yaml | 2 +- deps/lld/test/mach-o/load-commands-size.yaml | 305 ++ deps/lld/test/mach-o/sectalign.yaml | 2 +- .../subsections-via-symbols-default.yaml | 2 +- .../lld/test/mach-o/write-final-sections.yaml | 2 +- deps/lld/test/wasm/Inputs/call-ret32.ll | 11 + deps/lld/test/wasm/Inputs/comdat1.ll | 23 +- deps/lld/test/wasm/Inputs/comdat2.ll | 23 +- .../wasm/Inputs/disallow-feature-foo.yaml | 13 + deps/lld/test/wasm/Inputs/explicit-section.ll | 4 + deps/lld/test/wasm/Inputs/globals.yaml | 2 +- deps/lld/test/wasm/Inputs/no-feature-foo.yaml | 11 + .../test/wasm/Inputs/require-feature-foo.yaml | 13 + .../test/wasm/Inputs/undefined-globals.yaml | 2 +- .../lld/test/wasm/Inputs/use-feature-foo.yaml | 13 + deps/lld/test/wasm/alias.ll | 29 +- deps/lld/test/wasm/archive-export.ll | 22 +- deps/lld/test/wasm/archive-no-index.ll | 13 + deps/lld/test/wasm/archive-weak-undefined.ll | 19 + deps/lld/test/wasm/archive.ll | 8 +- deps/lld/test/wasm/call-indirect.ll | 57 +- deps/lld/test/wasm/comdats.ll | 49 +- deps/lld/test/wasm/corrupted.wasm.test | Bin 0 -> 251 bytes deps/lld/test/wasm/cxx-mangling.ll | 27 +- deps/lld/test/wasm/data-layout.ll | 40 +- deps/lld/test/wasm/data-segment-merging.ll | 127 +- deps/lld/test/wasm/data-segments.ll | 119 + deps/lld/test/wasm/emit-relocs-fpic.s | 20 + deps/lld/test/wasm/emit-relocs.ll | 39 + deps/lld/test/wasm/entry.ll | 14 +- deps/lld/test/wasm/export.ll | 27 +- deps/lld/test/wasm/fatal-warnings.ll | 4 +- deps/lld/test/wasm/function-imports-first.ll | 11 +- deps/lld/test/wasm/function-imports.ll | 13 +- deps/lld/test/wasm/gc-imports.ll | 4 +- deps/lld/test/wasm/gc-sections.ll | 20 +- deps/lld/test/wasm/global-base.test | 71 + deps/lld/test/wasm/import-memory.test | 4 +- deps/lld/test/wasm/init-fini-gc.ll | 48 + deps/lld/test/wasm/init-fini.ll | 218 +- deps/lld/test/wasm/large-memory.test | 5 + deps/lld/test/wasm/lit.local.cfg | 2 +- deps/lld/test/wasm/local-symbols.ll | 43 +- deps/lld/test/wasm/locals-duplicate.test | 160 +- deps/lld/test/wasm/lto/archive.ll | 4 +- deps/lld/test/wasm/lto/atomics.ll | 5 +- deps/lld/test/wasm/lto/comdat.ll | 17 + deps/lld/test/wasm/lto/export.ll | 10 +- deps/lld/test/wasm/lto/lto-start.ll | 2 - deps/lld/test/wasm/lto/opt-level.ll | 4 +- deps/lld/test/wasm/lto/relocatable.ll | 27 + deps/lld/test/wasm/lto/signature-mismatch.ll | 1 + deps/lld/test/wasm/lto/undef.ll | 20 +- deps/lld/test/wasm/lto/used.ll | 6 +- deps/lld/test/wasm/lto/weak-undefined.ll | 20 + deps/lld/test/wasm/lto/weak.ll | 7 +- deps/lld/test/wasm/many-functions.ll | 264 +- deps/lld/test/wasm/pie.ll | 58 + deps/lld/test/wasm/reloc-addend.ll | 2 +- deps/lld/test/wasm/relocatable.ll | 30 +- deps/lld/test/wasm/reproduce.ll | 27 + deps/lld/test/wasm/section-symbol-relocs.yaml | 61 + .../test/wasm/shared-memory-no-atomics.yaml | 60 + deps/lld/test/wasm/shared-memory.yaml | 75 + deps/lld/test/wasm/shared-needed.ll | 38 + deps/lld/test/wasm/shared.ll | 103 +- .../test/wasm/signature-mismatch-export.ll | 30 + .../test/wasm/signature-mismatch-unknown.ll | 19 + deps/lld/test/wasm/signature-mismatch.ll | 53 +- deps/lld/test/wasm/stack-first.test | 13 +- deps/lld/test/wasm/stack-pointer.ll | 2 +- deps/lld/test/wasm/startstop.ll | 53 + .../test/wasm/target-feature-disallowed.yaml | 72 + deps/lld/test/wasm/target-feature-none.yaml | 33 + .../test/wasm/target-feature-required.yaml | 90 + deps/lld/test/wasm/target-feature-used.yaml | 97 + deps/lld/test/wasm/tls.ll | 79 + deps/lld/test/wasm/trace-symbol.ll | 28 + deps/lld/test/wasm/trace.test | 8 + deps/lld/test/wasm/undefined-data.ll | 17 + deps/lld/test/wasm/undefined-weak-call.ll | 37 +- deps/lld/test/wasm/undefined.ll | 5 +- deps/lld/test/wasm/version.ll | 2 +- deps/lld/test/wasm/visibility-hidden.ll | 20 +- deps/lld/test/wasm/weak-alias-overide.ll | 81 +- deps/lld/test/wasm/weak-alias.ll | 95 +- deps/lld/test/wasm/weak-symbols.ll | 51 +- deps/lld/test/wasm/weak-undefined.ll | 35 +- deps/lld/test/wasm/wrap.ll | 40 + deps/lld/tools/lld/CMakeLists.txt | 1 + deps/lld/tools/lld/lld.cpp | 107 +- .../DriverTests/DarwinLdDriverTest.cpp | 7 +- .../MachONormalizedFileBinaryReaderTests.cpp | 7 +- .../MachONormalizedFileBinaryWriterTests.cpp | 7 +- .../MachONormalizedFileToAtomsTests.cpp | 7 +- .../MachONormalizedFileYAMLTests.cpp | 7 +- deps/lld/utils/benchmark.py | 20 +- deps/lld/wasm/CMakeLists.txt | 4 +- deps/lld/wasm/Config.h | 93 +- deps/lld/wasm/Driver.cpp | 811 ++-- deps/lld/wasm/InputChunks.cpp | 366 +- deps/lld/wasm/InputChunks.h | 163 +- deps/lld/wasm/InputEvent.h | 37 +- deps/lld/wasm/InputFiles.cpp | 638 +-- deps/lld/wasm/InputFiles.h | 142 +- deps/lld/wasm/InputGlobal.h | 35 +- deps/lld/wasm/LTO.cpp | 157 +- deps/lld/wasm/LTO.h | 15 +- deps/lld/wasm/MarkLive.cpp | 129 +- deps/lld/wasm/MarkLive.h | 7 +- deps/lld/wasm/Options.td | 26 + deps/lld/wasm/OutputSections.cpp | 255 +- deps/lld/wasm/OutputSections.h | 129 +- deps/lld/wasm/OutputSegment.h | 40 +- deps/lld/wasm/Relocations.cpp | 101 + deps/lld/wasm/Relocations.h | 22 + deps/lld/wasm/SymbolTable.cpp | 828 ++-- deps/lld/wasm/SymbolTable.h | 124 +- deps/lld/wasm/Symbols.cpp | 333 +- deps/lld/wasm/Symbols.h | 426 +- deps/lld/wasm/SyntheticSections.cpp | 547 +++ deps/lld/wasm/SyntheticSections.h | 339 ++ deps/lld/wasm/Writer.cpp | 1558 +++---- deps/lld/wasm/Writer.h | 9 +- deps/lld/wasm/WriterUtils.cpp | 209 +- deps/lld/wasm/WriterUtils.h | 55 +- 1552 files changed, 48820 insertions(+), 31303 deletions(-) create mode 100644 deps/lld/COFF/DebugTypes.cpp create mode 100644 deps/lld/COFF/DebugTypes.h create mode 100644 deps/lld/COFF/TypeMerger.h rename deps/lld/{ELF => Common}/Filesystem.cpp (68%) delete mode 100644 deps/lld/ELF/Bits.h delete mode 100644 deps/lld/ELF/Filesystem.h create mode 100644 deps/lld/docs/Partitions.rst create mode 100644 deps/lld/docs/partitions.dot create mode 100644 deps/lld/docs/partitions.svg create mode 100644 deps/lld/include/lld/Common/Filesystem.h create mode 100644 deps/lld/test/COFF/Inputs/delayimporttables-dll1.yaml create mode 100644 deps/lld/test/COFF/Inputs/delayimporttables-dll2.yaml create mode 100644 deps/lld/test/COFF/Inputs/eh_frame_terminator-crtend.s create mode 100644 deps/lld/test/COFF/Inputs/eh_frame_terminator-otherfunc.s create mode 100644 deps/lld/test/COFF/Inputs/failmismatch1.ll create mode 100644 deps/lld/test/COFF/Inputs/failmismatch2.ll create mode 100644 deps/lld/test/COFF/Inputs/id.res create mode 100644 deps/lld/test/COFF/Inputs/id.res.o create mode 100644 deps/lld/test/COFF/Inputs/no-ipi-stream-obj.obj.yaml create mode 100644 deps/lld/test/COFF/Inputs/no-ipi-stream-pdb.pdb.yaml create mode 100644 deps/lld/test/COFF/Inputs/pdb-global-constants-a.s create mode 100644 deps/lld/test/COFF/Inputs/pdb-global-constants-b.s create mode 100644 deps/lld/test/COFF/Inputs/pdb-type-server-invalid-path.yaml create mode 100644 deps/lld/test/COFF/Inputs/thinlto-empty.ll create mode 100644 deps/lld/test/COFF/Inputs/thinlto.ll create mode 100644 deps/lld/test/COFF/Inputs/tlssup.s create mode 100644 deps/lld/test/COFF/Inputs/undefined-symbol-lto-a.ll create mode 100644 deps/lld/test/COFF/Inputs/undefined-symbol-lto-b.ll create mode 100644 deps/lld/test/COFF/allow-unknown-debug-info.test create mode 100644 deps/lld/test/COFF/armnt-rel32.yaml create mode 100644 deps/lld/test/COFF/associative-comdat-empty.test create mode 100644 deps/lld/test/COFF/associative-comdat-mingw-i386.s create mode 100644 deps/lld/test/COFF/associative-comdat-order.test create mode 100644 deps/lld/test/COFF/color-diagnostics.test create mode 100644 deps/lld/test/COFF/comdat-selection-associative-largest.s create mode 100644 deps/lld/test/COFF/comdat-selection.s create mode 100644 deps/lld/test/COFF/delayimporttables.yaml create mode 100644 deps/lld/test/COFF/eh_frame_suffix_sorting.s create mode 100644 deps/lld/test/COFF/eh_frame_terminator.s create mode 100644 deps/lld/test/COFF/exclude-all.s create mode 100644 deps/lld/test/COFF/export-stdcall.s create mode 100644 deps/lld/test/COFF/export-weak-alias.s create mode 100644 deps/lld/test/COFF/filealign.test create mode 100644 deps/lld/test/COFF/force-multipleres.test create mode 100644 deps/lld/test/COFF/functionpadmin.test create mode 100644 deps/lld/test/COFF/guardcf-thunk.s create mode 100644 deps/lld/test/COFF/includeoptional.yaml create mode 100644 deps/lld/test/COFF/includeoptional2.yaml create mode 100644 deps/lld/test/COFF/lib-module-asm.ll create mode 100644 deps/lld/test/COFF/multiple-resource-objs.test create mode 100644 deps/lld/test/COFF/no-ipi-stream.test create mode 100644 deps/lld/test/COFF/pdb-global-constants.test create mode 100644 deps/lld/test/COFF/pdb-inlinees-extrafiles.s create mode 100644 deps/lld/test/COFF/pdb-inlinees.s create mode 100644 deps/lld/test/COFF/pdb-tpi-hash-size.test create mode 100644 deps/lld/test/COFF/pdb-unknown-subsection.s create mode 100644 deps/lld/test/COFF/resource-objs.test create mode 100644 deps/lld/test/COFF/safeseh-no.s create mode 100644 deps/lld/test/COFF/thinlto-archivecollision.ll create mode 100644 deps/lld/test/COFF/thinlto-emit-imports.ll create mode 100644 deps/lld/test/COFF/thinlto-index-only.ll create mode 100644 deps/lld/test/COFF/thinlto-object-suffix-replace.ll create mode 100644 deps/lld/test/COFF/thinlto-prefix-replace.ll create mode 100644 deps/lld/test/COFF/tls_suffix_sorting.s create mode 100644 deps/lld/test/COFF/undefined-symbol-lto.test create mode 100644 deps/lld/test/COFF/undefined-symbol-multi.s create mode 100644 deps/lld/test/COFF/used-lto.ll create mode 100644 deps/lld/test/ELF/Inputs/aarch64-addrifunc.s create mode 100644 deps/lld/test/ELF/Inputs/aarch64-bti1.s create mode 100644 deps/lld/test/ELF/Inputs/aarch64-btipac1.s create mode 100644 deps/lld/test/ELF/Inputs/aarch64-func2.s create mode 100644 deps/lld/test/ELF/Inputs/aarch64-func3-bti.s create mode 100644 deps/lld/test/ELF/Inputs/aarch64-func3-btipac.s create mode 100644 deps/lld/test/ELF/Inputs/aarch64-func3-pac.s create mode 100644 deps/lld/test/ELF/Inputs/aarch64-func3.s create mode 100644 deps/lld/test/ELF/Inputs/aarch64-nobti.s create mode 100644 deps/lld/test/ELF/Inputs/aarch64-nopac.s create mode 100644 deps/lld/test/ELF/Inputs/aarch64-pac1.s delete mode 100644 deps/lld/test/ELF/Inputs/bad-reloc-target.test create mode 100644 deps/lld/test/ELF/Inputs/deplibs-lib_bar.s create mode 100644 deps/lld/test/ELF/Inputs/deplibs-lib_foo.s delete mode 100644 deps/lld/test/ELF/Inputs/dtrace-r.o create mode 100644 deps/lld/test/ELF/Inputs/dummy-shared.s create mode 100644 deps/lld/test/ELF/Inputs/gnu-ifunc-canon-ro-abs.s create mode 100644 deps/lld/test/ELF/Inputs/gnu-ifunc-canon-ro-pcrel.s create mode 100644 deps/lld/test/ELF/Inputs/gnu-ifunc-canon-rw-addend.s create mode 100644 deps/lld/test/ELF/Inputs/i386-cet1.s create mode 100644 deps/lld/test/ELF/Inputs/i386-cet2.s create mode 100644 deps/lld/test/ELF/Inputs/i386-cet3.s create mode 100644 deps/lld/test/ELF/Inputs/i386-cet4.s delete mode 100644 deps/lld/test/ELF/Inputs/i386-reloc-16-error.s delete mode 100644 deps/lld/test/ELF/Inputs/i386-reloc-16.s delete mode 100644 deps/lld/test/ELF/Inputs/i386-reloc-8-error.s delete mode 100644 deps/lld/test/ELF/Inputs/i386-reloc-8.s create mode 100644 deps/lld/test/ELF/Inputs/i386-static-tls-model1.s create mode 100644 deps/lld/test/ELF/Inputs/i386-static-tls-model2.s create mode 100644 deps/lld/test/ELF/Inputs/i386-static-tls-model3.s create mode 100644 deps/lld/test/ELF/Inputs/i386-static-tls-model4.s create mode 100644 deps/lld/test/ELF/Inputs/ppc64-sort-small-cm-relocs-input2.s create mode 100644 deps/lld/test/ELF/Inputs/ppc64-sort-small-cm-relocs-input3.s create mode 100644 deps/lld/test/ELF/Inputs/ppc64-sort-small-cm-relocs-input4.s create mode 100644 deps/lld/test/ELF/Inputs/ppc64-toc-relax-shared.s create mode 100644 deps/lld/test/ELF/Inputs/ppc64-toc-relax.s create mode 100644 deps/lld/test/ELF/Inputs/vs-diagnostics-duplicate2.s create mode 100644 deps/lld/test/ELF/Inputs/vs-diagnostics-duplicate3.s create mode 100644 deps/lld/test/ELF/Inputs/x86-64-cet1.s create mode 100644 deps/lld/test/ELF/Inputs/x86-64-cet2.s create mode 100644 deps/lld/test/ELF/Inputs/x86-64-cet3.s create mode 100644 deps/lld/test/ELF/Inputs/x86-64-cet4.s create mode 100644 deps/lld/test/ELF/Inputs/x86-64-pcrel.s delete mode 100644 deps/lld/test/ELF/Inputs/x86-64-reloc-16-error.s delete mode 100644 deps/lld/test/ELF/Inputs/x86-64-reloc-16.s delete mode 100644 deps/lld/test/ELF/Inputs/x86-64-reloc-8-error.s delete mode 100644 deps/lld/test/ELF/Inputs/x86-64-reloc-8.s create mode 100644 deps/lld/test/ELF/aarch64-abs32-dyn.s create mode 100644 deps/lld/test/ELF/aarch64-bti-pac-cli-error.s create mode 100644 deps/lld/test/ELF/aarch64-feature-bti.s create mode 100644 deps/lld/test/ELF/aarch64-feature-btipac.s create mode 100644 deps/lld/test/ELF/aarch64-feature-pac.s delete mode 100644 deps/lld/test/ELF/aarch64-gnu-ifunc-address-pie.s create mode 100644 deps/lld/test/ELF/aarch64-gnu-ifunc-nonpreemptable.s delete mode 100644 deps/lld/test/ELF/aarch64-gnu-ifunc3.s delete mode 100644 deps/lld/test/ELF/aarch64-got-reloc.s create mode 100644 deps/lld/test/ELF/aarch64-got-weak-undef.s delete mode 100644 deps/lld/test/ELF/aarch64-got.s create mode 100644 deps/lld/test/ELF/aarch64-hi21-nc.s create mode 100644 deps/lld/test/ELF/aarch64-ifunc-bti.s rename deps/lld/test/ELF/{aarch64-copy2.s => aarch64-nopic-plt.s} (93%) create mode 100644 deps/lld/test/ELF/aarch64-property-relocatable.s delete mode 100644 deps/lld/test/ELF/aarch64-tls-pie.s create mode 100644 deps/lld/test/ELF/amdgpu-abi-version-err.s create mode 100644 deps/lld/test/ELF/amdgpu-abi-version.s create mode 100644 deps/lld/test/ELF/archive-no-index.s create mode 100644 deps/lld/test/ELF/archive-thin-missing-member.s create mode 100644 deps/lld/test/ELF/arm-exidx-add-missing.s create mode 100644 deps/lld/test/ELF/arm-exidx-emit-relocs.s create mode 100644 deps/lld/test/ELF/arm-exidx-synthetic-link.s create mode 100644 deps/lld/test/ELF/arm-thunk-multipass-plt.s delete mode 100644 deps/lld/test/ELF/bad-reloc-target.test rename deps/lld/test/ELF/{basic32.s => basic-i386.s} (98%) delete mode 100644 deps/lld/test/ELF/basic64be.s create mode 100644 deps/lld/test/ELF/cgprofile-print.s create mode 100644 deps/lld/test/ELF/cgprofile-reproduce.s create mode 100644 deps/lld/test/ELF/combreloc.s delete mode 100644 deps/lld/test/ELF/combrelocs.s create mode 100644 deps/lld/test/ELF/comdat-discarded-error.s create mode 100644 deps/lld/test/ELF/comdat-discarded-gdb-index.s create mode 100644 deps/lld/test/ELF/comdat-discarded-ppc64.s create mode 100644 deps/lld/test/ELF/common-page.s create mode 100644 deps/lld/test/ELF/compressed-input-alignment.test create mode 100644 deps/lld/test/ELF/debug-line-obj.s create mode 100644 deps/lld/test/ELF/deplibs-colon-prefix.s create mode 100644 deps/lld/test/ELF/deplibs-corrupt.s create mode 100644 deps/lld/test/ELF/deplibs.s delete mode 100644 deps/lld/test/ELF/dtrace-r.test create mode 100644 deps/lld/test/ELF/dynamic-list-preempt-replace-symbol.s create mode 100644 deps/lld/test/ELF/emit-relocs-mergeable2.s create mode 100644 deps/lld/test/ELF/emulation-riscv.s create mode 100644 deps/lld/test/ELF/exclude-discarded-error.s create mode 100644 deps/lld/test/ELF/exclude-discarded-error2.s create mode 100644 deps/lld/test/ELF/gdb-index-invalid-section-index.yaml create mode 100644 deps/lld/test/ELF/gdb-index-ranges-discarded.s create mode 100644 deps/lld/test/ELF/gnu-ifunc-canon.s create mode 100644 deps/lld/test/ELF/gnu-ifunc-noplt-i386.s create mode 100644 deps/lld/test/ELF/gnu-ifunc-noplt.s delete mode 100644 deps/lld/test/ELF/got-aarch64.s create mode 100644 deps/lld/test/ELF/i386-cet.s create mode 100644 deps/lld/test/ELF/i386-static-tls-model.s create mode 100644 deps/lld/test/ELF/i386-tls-ld-preemptable.s create mode 100644 deps/lld/test/ELF/i386-tls-le-align.s create mode 100644 deps/lld/test/ELF/i386-tls-le-undef.s create mode 100644 deps/lld/test/ELF/icf10.s delete mode 100644 deps/lld/test/ELF/icf10.test delete mode 100644 deps/lld/test/ELF/invalid-undef-section-symbol.test delete mode 100644 deps/lld/test/ELF/invalid/Inputs/binding.elf delete mode 100644 deps/lld/test/ELF/invalid/Inputs/broken-relaxation-x64.elf delete mode 100644 deps/lld/test/ELF/invalid/Inputs/common-symbol-alignment.elf delete mode 100644 deps/lld/test/ELF/invalid/Inputs/common-symbol-alignment2.elf delete mode 100644 deps/lld/test/ELF/invalid/Inputs/data-encoding.a delete mode 100644 deps/lld/test/ELF/invalid/Inputs/dynamic-section-sh_size.elf delete mode 100644 deps/lld/test/ELF/invalid/Inputs/file-class.a delete mode 100644 deps/lld/test/ELF/invalid/Inputs/invalid-e_shnum.elf delete mode 100644 deps/lld/test/ELF/invalid/Inputs/mips-invalid-options-descriptor.elf delete mode 100644 deps/lld/test/ELF/invalid/Inputs/multiple-eh-relocs.elf delete mode 100644 deps/lld/test/ELF/invalid/Inputs/section-alignment-notpow2.elf delete mode 100644 deps/lld/test/ELF/invalid/Inputs/section-index.elf delete mode 100644 deps/lld/test/ELF/invalid/Inputs/symbol-index.elf delete mode 100644 deps/lld/test/ELF/invalid/Inputs/symbol-name-offset.elf delete mode 100644 deps/lld/test/ELF/invalid/Inputs/symtab-sh_info.elf delete mode 100644 deps/lld/test/ELF/invalid/Inputs/symtab-sh_info2.elf delete mode 100644 deps/lld/test/ELF/invalid/Inputs/symtab-sh_info3.elf delete mode 100644 deps/lld/test/ELF/invalid/Inputs/tls-symbol.elf delete mode 100755 deps/lld/test/ELF/invalid/Inputs/undefined-local-symbol-in-dso.so create mode 100644 deps/lld/test/ELF/invalid/bad-arm-attributes.s create mode 100644 deps/lld/test/ELF/invalid/bad-arm-attributes2.s create mode 100644 deps/lld/test/ELF/invalid/bad-reloc-target.test delete mode 100644 deps/lld/test/ELF/invalid/common-symbol-alignment.s create mode 100644 deps/lld/test/ELF/invalid/common-symbol-alignment.test create mode 100644 deps/lld/test/ELF/invalid/data-encoding.test create mode 100644 deps/lld/test/ELF/invalid/dynamic-section-broken.test delete mode 100644 deps/lld/test/ELF/invalid/dynamic-section-size.s create mode 100644 deps/lld/test/ELF/invalid/invalid-binding.test delete mode 100644 deps/lld/test/ELF/invalid/invalid-e_shnum.s create mode 100644 deps/lld/test/ELF/invalid/invalid-e_shnum.test create mode 100644 deps/lld/test/ELF/invalid/invalid-file-class.test delete mode 100644 deps/lld/test/ELF/invalid/mips-invalid-options-descriptor.s create mode 100644 deps/lld/test/ELF/invalid/mips-invalid-options-descriptor.test create mode 100644 deps/lld/test/ELF/invalid/multiple-relocations-sections.test create mode 100644 deps/lld/test/ELF/invalid/section-index.test delete mode 100644 deps/lld/test/ELF/invalid/symbol-index.s delete mode 100644 deps/lld/test/ELF/invalid/symbol-name.s create mode 100644 deps/lld/test/ELF/invalid/symbol-name.test create mode 100644 deps/lld/test/ELF/invalid/x86-64-tlsdesc-gd.s create mode 100644 deps/lld/test/ELF/linkerscript/discard-phdr.s create mode 100644 deps/lld/test/ELF/linkerscript/eh-frame-merge.s create mode 100644 deps/lld/test/ELF/linkerscript/empty-relaplt-dyntags.test create mode 100644 deps/lld/test/ELF/linkerscript/empty-sections-expressions.test create mode 100644 deps/lld/test/ELF/linkerscript/nmagic-alignment.test create mode 100644 deps/lld/test/ELF/linkerscript/orphan-live-only.s create mode 100644 deps/lld/test/ELF/linkerscript/out-of-order-section-in-region.test create mode 100644 deps/lld/test/ELF/linkerscript/output-too-large-32bit.s create mode 100644 deps/lld/test/ELF/linkerscript/quoted-section-name.test create mode 100644 deps/lld/test/ELF/linkerscript/symbol-alias-relocation.s create mode 100644 deps/lld/test/ELF/linkerscript/symbol-only-align.test create mode 100644 deps/lld/test/ELF/linkerscript/symbol-pie.s create mode 100644 deps/lld/test/ELF/lto/Inputs/irmover-warning.ll create mode 100644 deps/lld/test/ELF/lto/Inputs/obj-path.ll create mode 100644 deps/lld/test/ELF/lto/common4.ll create mode 100644 deps/lld/test/ELF/lto/deplibs.s create mode 100644 deps/lld/test/ELF/lto/irmover-warning.ll create mode 100644 deps/lld/test/ELF/lto/obj-path.ll create mode 100644 deps/lld/test/ELF/lto/riscv32.ll create mode 100644 deps/lld/test/ELF/lto/riscv64.ll create mode 100644 deps/lld/test/ELF/magic-page-combo-warn.s create mode 100644 deps/lld/test/ELF/merge-align2.s create mode 100644 deps/lld/test/ELF/merge-entsize2.s delete mode 100644 deps/lld/test/ELF/merge-reloc-O0.s create mode 100644 deps/lld/test/ELF/merge-string-align2.s create mode 100644 deps/lld/test/ELF/mips-micro-bad-cross-calls.s create mode 100644 deps/lld/test/ELF/mips-micro-cross-calls.s rename deps/lld/test/ELF/{mips-26-n32-n64.s => mips-plt-n64.s} (90%) create mode 100644 deps/lld/test/ELF/note-alignment.s create mode 100644 deps/lld/test/ELF/partition-errors.s create mode 100644 deps/lld/test/ELF/partition-exidx.s create mode 100644 deps/lld/test/ELF/partition-icf.s create mode 100644 deps/lld/test/ELF/partition-move-to-main.s create mode 100644 deps/lld/test/ELF/partition-notes.s create mode 100644 deps/lld/test/ELF/partition-pack-dyn-relocs.s create mode 100644 deps/lld/test/ELF/partition-synthetic-sections.s create mode 100644 deps/lld/test/ELF/partition-thunk-reuse.s create mode 100644 deps/lld/test/ELF/partitions.s delete mode 100644 deps/lld/test/ELF/ppc-relocs.s create mode 100644 deps/lld/test/ELF/ppc32-abs-pic.s create mode 100644 deps/lld/test/ELF/ppc32-call-stub-nopic.s create mode 100644 deps/lld/test/ELF/ppc32-call-stub-pic.s create mode 100644 deps/lld/test/ELF/ppc32-gnu-ifunc-nonpreemptable.s create mode 100644 deps/lld/test/ELF/ppc32-gnu-ifunc.s create mode 100644 deps/lld/test/ELF/ppc32-local-branch.s create mode 100644 deps/lld/test/ELF/ppc32-reloc-addr.s create mode 100644 deps/lld/test/ELF/ppc32-reloc-got.s create mode 100644 deps/lld/test/ELF/ppc32-reloc-rel.s create mode 100644 deps/lld/test/ELF/ppc32-tls-gd.s create mode 100644 deps/lld/test/ELF/ppc32-tls-ie.s create mode 100644 deps/lld/test/ELF/ppc32-tls-ld.s create mode 100644 deps/lld/test/ELF/ppc32-tls-le.s create mode 100644 deps/lld/test/ELF/ppc32-weak-undef-call.s create mode 100644 deps/lld/test/ELF/ppc64-abs32-dyn.s create mode 100644 deps/lld/test/ELF/ppc64-abs64-dyn.s delete mode 100644 deps/lld/test/ELF/ppc64-addr16-error.s delete mode 100644 deps/lld/test/ELF/ppc64-dynamic-relocations.s delete mode 100644 deps/lld/test/ELF/ppc64-gd-to-ie.s delete mode 100644 deps/lld/test/ELF/ppc64-general-dynamic-tls.s delete mode 100644 deps/lld/test/ELF/ppc64-got-indirect.s delete mode 100644 deps/lld/test/ELF/ppc64-initial-exec-tls.s create mode 100644 deps/lld/test/ELF/ppc64-ld-got-dtprel.s create mode 100644 deps/lld/test/ELF/ppc64-local-entry.s create mode 100644 deps/lld/test/ELF/ppc64-long-branch-init.s create mode 100644 deps/lld/test/ELF/ppc64-long-branch-localentry-offset.s create mode 100644 deps/lld/test/ELF/ppc64-reloc-addr.s create mode 100644 deps/lld/test/ELF/ppc64-sort-small-cm-relocs.s delete mode 100644 deps/lld/test/ELF/ppc64-tls-gd-le-small.s delete mode 100644 deps/lld/test/ELF/ppc64-tls-gd-le.s create mode 100644 deps/lld/test/ELF/ppc64-tls-gd.s delete mode 100644 deps/lld/test/ELF/ppc64-tls-ie-le.s create mode 100644 deps/lld/test/ELF/ppc64-tls-ie.s create mode 100644 deps/lld/test/ELF/ppc64-tls-ld-preemptable.s create mode 100644 deps/lld/test/ELF/ppc64-toc-relax-constants.s create mode 100644 deps/lld/test/ELF/ppc64-toc-relax-jumptable.s create mode 100644 deps/lld/test/ELF/ppc64-toc-relax.s delete mode 100644 deps/lld/test/ELF/relative-dynamic-reloc-ppc64.s delete mode 100644 deps/lld/test/ELF/relocatable-eh-frame.s delete mode 100644 deps/lld/test/ELF/relocation-dtrace.test create mode 100644 deps/lld/test/ELF/relocation-none-aarch64.s delete mode 100644 deps/lld/test/ELF/relocation-none-aarch64.test create mode 100644 deps/lld/test/ELF/relocation-none-arm.s create mode 100644 deps/lld/test/ELF/relocation-none-i386.s delete mode 100644 deps/lld/test/ELF/relocation-none-i686.test create mode 100644 deps/lld/test/ELF/relocation-none-x86-64.s create mode 100644 deps/lld/test/ELF/relro-bss.s create mode 100644 deps/lld/test/ELF/riscv-branch.s delete mode 100644 deps/lld/test/ELF/riscv-branch.test create mode 100644 deps/lld/test/ELF/riscv-call.s delete mode 100644 deps/lld/test/ELF/riscv-call.test create mode 100644 deps/lld/test/ELF/riscv-gp-dummy-sdata.s create mode 100644 deps/lld/test/ELF/riscv-gp.s create mode 100644 deps/lld/test/ELF/riscv-hi20-lo12.s delete mode 100644 deps/lld/test/ELF/riscv-hi20-lo12.test delete mode 100644 deps/lld/test/ELF/riscv-jal-error.test create mode 100644 deps/lld/test/ELF/riscv-jal.s delete mode 100644 deps/lld/test/ELF/riscv-jal.test create mode 100644 deps/lld/test/ELF/riscv-pcrel-hilo-error.s create mode 100644 deps/lld/test/ELF/riscv-pcrel-hilo.s delete mode 100644 deps/lld/test/ELF/riscv-pcrel-hilo.test create mode 100644 deps/lld/test/ELF/riscv-plt.s create mode 100644 deps/lld/test/ELF/riscv-reloc-64-pic.s create mode 100644 deps/lld/test/ELF/riscv-reloc-add.s create mode 100644 deps/lld/test/ELF/riscv-reloc-copy.s create mode 100644 deps/lld/test/ELF/riscv-reloc-got.s create mode 100644 deps/lld/test/ELF/riscv-tls-gd.s create mode 100644 deps/lld/test/ELF/riscv-tls-ie.s create mode 100644 deps/lld/test/ELF/riscv-tls-ld.s create mode 100644 deps/lld/test/ELF/riscv-tls-le.s create mode 100644 deps/lld/test/ELF/riscv32-reloc-32-pic.s create mode 100644 deps/lld/test/ELF/riscv64-reloc-64-pic.s create mode 100644 deps/lld/test/ELF/stdout.s create mode 100644 deps/lld/test/ELF/symbol-ordering-file-cgprofile-conflicts.s delete mode 100644 deps/lld/test/ELF/tls-align.s create mode 100644 deps/lld/test/ELF/undef-multi.s create mode 100644 deps/lld/test/ELF/undefined-glob.s create mode 100644 deps/lld/test/ELF/version-script-reassign.s create mode 100644 deps/lld/test/ELF/vs-diagnostics-duplicate.s create mode 100644 deps/lld/test/ELF/vs-diagnostics-dynamic-relocation.s create mode 100644 deps/lld/test/ELF/vs-diagnostics-undefined-symbol-1.s create mode 100644 deps/lld/test/ELF/vs-diagnostics-undefined-symbol-2.s create mode 100644 deps/lld/test/ELF/vs-diagnostics-undefined-symbol-3.s create mode 100644 deps/lld/test/ELF/vs-diagnostics-versionscript.s create mode 100644 deps/lld/test/ELF/weak-undef-no-shared-libs.s create mode 100644 deps/lld/test/ELF/weak-undef-shared2.s create mode 100644 deps/lld/test/ELF/x86-64-cet.s create mode 100644 deps/lld/test/ELF/x86-64-dyn-rel-error5.s create mode 100644 deps/lld/test/ELF/x86-64-pcrel.s delete mode 100644 deps/lld/test/ELF/x86-64-reloc-16.s create mode 100644 deps/lld/test/ELF/x86-64-reloc-8-16.s delete mode 100644 deps/lld/test/ELF/x86-64-reloc-8.s create mode 100644 deps/lld/test/ELF/x86-64-static-tls-model.s create mode 100644 deps/lld/test/ELF/x86-64-tls-ld-preemptable.s create mode 100644 deps/lld/test/ELF/x86-64-tls-le-align.s create mode 100644 deps/lld/test/ELF/x86-64-tls-le-undef.s create mode 100644 deps/lld/test/ELF/x86-64-tlsdesc-gd.s create mode 100644 deps/lld/test/ELF/x86-64-tlsdesc-ld.s create mode 100644 deps/lld/test/ELF/x86-property-relocatable.s create mode 100644 deps/lld/test/mach-o/load-commands-size.yaml create mode 100644 deps/lld/test/wasm/Inputs/call-ret32.ll create mode 100644 deps/lld/test/wasm/Inputs/disallow-feature-foo.yaml create mode 100644 deps/lld/test/wasm/Inputs/explicit-section.ll create mode 100644 deps/lld/test/wasm/Inputs/no-feature-foo.yaml create mode 100644 deps/lld/test/wasm/Inputs/require-feature-foo.yaml create mode 100644 deps/lld/test/wasm/Inputs/use-feature-foo.yaml create mode 100644 deps/lld/test/wasm/archive-no-index.ll create mode 100644 deps/lld/test/wasm/archive-weak-undefined.ll create mode 100644 deps/lld/test/wasm/corrupted.wasm.test create mode 100644 deps/lld/test/wasm/data-segments.ll create mode 100644 deps/lld/test/wasm/emit-relocs-fpic.s create mode 100644 deps/lld/test/wasm/emit-relocs.ll create mode 100644 deps/lld/test/wasm/global-base.test create mode 100644 deps/lld/test/wasm/init-fini-gc.ll create mode 100644 deps/lld/test/wasm/large-memory.test create mode 100644 deps/lld/test/wasm/lto/comdat.ll create mode 100644 deps/lld/test/wasm/lto/relocatable.ll create mode 100644 deps/lld/test/wasm/lto/weak-undefined.ll create mode 100644 deps/lld/test/wasm/pie.ll create mode 100644 deps/lld/test/wasm/reproduce.ll create mode 100644 deps/lld/test/wasm/section-symbol-relocs.yaml create mode 100644 deps/lld/test/wasm/shared-memory-no-atomics.yaml create mode 100644 deps/lld/test/wasm/shared-memory.yaml create mode 100644 deps/lld/test/wasm/shared-needed.ll create mode 100644 deps/lld/test/wasm/signature-mismatch-export.ll create mode 100644 deps/lld/test/wasm/signature-mismatch-unknown.ll create mode 100644 deps/lld/test/wasm/startstop.ll create mode 100644 deps/lld/test/wasm/target-feature-disallowed.yaml create mode 100644 deps/lld/test/wasm/target-feature-none.yaml create mode 100644 deps/lld/test/wasm/target-feature-required.yaml create mode 100644 deps/lld/test/wasm/target-feature-used.yaml create mode 100644 deps/lld/test/wasm/tls.ll create mode 100644 deps/lld/test/wasm/trace-symbol.ll create mode 100644 deps/lld/test/wasm/trace.test create mode 100644 deps/lld/test/wasm/undefined-data.ll create mode 100644 deps/lld/test/wasm/wrap.ll create mode 100644 deps/lld/wasm/Relocations.cpp create mode 100644 deps/lld/wasm/Relocations.h create mode 100644 deps/lld/wasm/SyntheticSections.cpp create mode 100644 deps/lld/wasm/SyntheticSections.h diff --git a/CMakeLists.txt b/CMakeLists.txt index 998da172fccdd002da61350ad34314beffce18e3..56df04a0c233121057b02e50994d8202dfa62f26 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -88,6 +88,7 @@ else() set(EMBEDDED_LLD_LIB_SOURCES "${CMAKE_SOURCE_DIR}/deps/lld/Common/Args.cpp" "${CMAKE_SOURCE_DIR}/deps/lld/Common/ErrorHandler.cpp" + "${CMAKE_SOURCE_DIR}/deps/lld/Common/Filesystem.cpp" "${CMAKE_SOURCE_DIR}/deps/lld/Common/Memory.cpp" "${CMAKE_SOURCE_DIR}/deps/lld/Common/Reproduce.cpp" "${CMAKE_SOURCE_DIR}/deps/lld/Common/Strings.cpp" @@ -148,7 +149,6 @@ else() "${CMAKE_SOURCE_DIR}/deps/lld/ELF/Driver.cpp" "${CMAKE_SOURCE_DIR}/deps/lld/ELF/DriverUtils.cpp" "${CMAKE_SOURCE_DIR}/deps/lld/ELF/EhFrame.cpp" - "${CMAKE_SOURCE_DIR}/deps/lld/ELF/Filesystem.cpp" "${CMAKE_SOURCE_DIR}/deps/lld/ELF/ICF.cpp" "${CMAKE_SOURCE_DIR}/deps/lld/ELF/InputFiles.cpp" "${CMAKE_SOURCE_DIR}/deps/lld/ELF/InputSection.cpp" @@ -171,6 +171,7 @@ else() set(EMBEDDED_LLD_COFF_SOURCES "${CMAKE_SOURCE_DIR}/deps/lld/COFF/Chunks.cpp" "${CMAKE_SOURCE_DIR}/deps/lld/COFF/DLL.cpp" + "${CMAKE_SOURCE_DIR}/deps/lld/COFF/DebugTypes.cpp" "${CMAKE_SOURCE_DIR}/deps/lld/COFF/Driver.cpp" "${CMAKE_SOURCE_DIR}/deps/lld/COFF/DriverUtils.cpp" "${CMAKE_SOURCE_DIR}/deps/lld/COFF/ICF.cpp" @@ -194,8 +195,10 @@ else() "${CMAKE_SOURCE_DIR}/deps/lld/wasm/LTO.cpp" "${CMAKE_SOURCE_DIR}/deps/lld/wasm/MarkLive.cpp" "${CMAKE_SOURCE_DIR}/deps/lld/wasm/OutputSections.cpp" + "${CMAKE_SOURCE_DIR}/deps/lld/wasm/Relocations.cpp" "${CMAKE_SOURCE_DIR}/deps/lld/wasm/SymbolTable.cpp" "${CMAKE_SOURCE_DIR}/deps/lld/wasm/Symbols.cpp" + "${CMAKE_SOURCE_DIR}/deps/lld/wasm/SyntheticSections.cpp" "${CMAKE_SOURCE_DIR}/deps/lld/wasm/Writer.cpp" "${CMAKE_SOURCE_DIR}/deps/lld/wasm/WriterUtils.cpp" ) diff --git a/deps/lld-prebuilt/COFF/Options.inc b/deps/lld-prebuilt/COFF/Options.inc index 16044cce7399b7f80c7d3479f038f0f2662e897f..c468991d28d05a92193c0856c4580e97d7ff26fc 100644 --- a/deps/lld-prebuilt/COFF/Options.inc +++ b/deps/lld-prebuilt/COFF/Options.inc @@ -13,9 +13,8 @@ #define COMMA , PREFIX(prefix_0, {nullptr}) PREFIX(prefix_2, {"--" COMMA nullptr}) -PREFIX(prefix_3, {"/" COMMA "-" COMMA nullptr}) -PREFIX(prefix_1, {"/" COMMA "-" COMMA "-?" COMMA nullptr}) -PREFIX(prefix_4, {"/?" COMMA "-?" COMMA nullptr}) +PREFIX(prefix_1, {"/" COMMA "-" COMMA "/?" COMMA "-?" COMMA nullptr}) +PREFIX(prefix_3, {"/??" COMMA "-??" COMMA "/?" COMMA "-?" COMMA nullptr}) #undef COMMA #endif // PREFIX @@ -61,13 +60,17 @@ OPTION(prefix_1, "debugtype:", debugtype, Joined, INVALID, INVALID, nullptr, 0, "Debug Info Options", nullptr, nullptr) OPTION(prefix_1, "debug", debug, Flag, INVALID, INVALID, nullptr, 0, 0, "Embed a symbol table in the image", nullptr, nullptr) -OPTION(prefix_3, "def:", deffile, Joined, INVALID, INVALID, nullptr, 0, 0, +OPTION(prefix_1, "def:", deffile, Joined, INVALID, INVALID, nullptr, 0, 0, "Use module-definition file", nullptr, nullptr) OPTION(prefix_1, "defaultlib:", defaultlib, Joined, INVALID, INVALID, nullptr, 0, 0, "Add the library to the list of input files", nullptr, nullptr) OPTION(prefix_1, "delay:", delay, Joined, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) OPTION(prefix_1, "delayload:", delayload, Joined, INVALID, INVALID, nullptr, 0, 0, "Delay loaded DLL name", nullptr, nullptr) +OPTION(prefix_1, "demangle:no", demangle_no, Flag, INVALID, INVALID, nullptr, 0, 0, + "Do not demangle symbols in output", nullptr, nullptr) +OPTION(prefix_1, "demangle", demangle, Flag, INVALID, INVALID, nullptr, 0, 0, + "Demangle symbols in output (default)", nullptr, nullptr) OPTION(prefix_1, "disallowlib:", disallowlib, Joined, INVALID, nodefaultlib, nullptr, 0, 0, nullptr, nullptr, nullptr) OPTION(prefix_1, "dll", dll, Flag, INVALID, INVALID, nullptr, 0, 0, "Create a DLL", nullptr, nullptr) @@ -83,22 +86,29 @@ OPTION(prefix_1, "entry:", entry, Joined, INVALID, INVALID, nullptr, 0, 0, OPTION(prefix_1, "errorlimit:", errorlimit, Joined, INVALID, INVALID, nullptr, 0, 0, "Maximum number of errors to emit before stopping (0 = no limit)", nullptr, nullptr) OPTION(prefix_1, "errorreport:", errorreport, Joined, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) +OPTION(prefix_1, "exclude-all-symbols", exclude_all_symbols, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) OPTION(prefix_1, "export-all-symbols", export_all_symbols, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) OPTION(prefix_1, "export:", export, Joined, INVALID, INVALID, nullptr, 0, 0, "Export a function", nullptr, nullptr) OPTION(prefix_1, "failifmismatch:", failifmismatch, Joined, INVALID, INVALID, nullptr, 0, 0, "", nullptr, nullptr) OPTION(prefix_1, "fastfail", fastfail, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) +OPTION(prefix_1, "filealign:", filealign, Joined, INVALID, INVALID, nullptr, 0, 0, + "Section alignment in the output file", nullptr, nullptr) OPTION(prefix_1, "fixed:no", fixed_no, Flag, INVALID, INVALID, nullptr, 0, 0, "Enable base relocations (default)", nullptr, nullptr) OPTION(prefix_1, "fixed", fixed, Flag, INVALID, INVALID, nullptr, 0, 0, "Disable base relocations", nullptr, nullptr) +OPTION(prefix_1, "force:multipleres", force_multipleres, Flag, INVALID, INVALID, nullptr, 0, 0, + "Allow multiply defined resources when creating executables", nullptr, nullptr) OPTION(prefix_1, "force:multiple", force_multiple, Flag, INVALID, INVALID, nullptr, 0, 0, "Allow multiply defined symbols when creating executables", nullptr, nullptr) OPTION(prefix_1, "force:unresolved", force_unresolved, Flag, INVALID, INVALID, nullptr, 0, 0, "Allow undefined symbols when creating executables", nullptr, nullptr) OPTION(prefix_1, "force", force, Flag, INVALID, INVALID, nullptr, 0, 0, "Allow undefined and multiply defined symbols when creating executables", nullptr, nullptr) +OPTION(prefix_1, "functionpadmin:", functionpadmin_opt, Joined, INVALID, INVALID, nullptr, 0, 0, + "Prepares an image for hotpatching", nullptr, nullptr) OPTION(prefix_1, "functionpadmin", functionpadmin, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) OPTION(prefix_1, "guard:", guard, Joined, INVALID, INVALID, nullptr, 0, 0, "Control flow guard", nullptr, nullptr) @@ -116,8 +126,10 @@ OPTION(prefix_1, "ignore:", ignore, Joined, INVALID, INVALID, nullptr, 0, 0, OPTION(prefix_1, "ignoreidl", ignoreidl, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) OPTION(prefix_1, "implib:", implib, Joined, INVALID, INVALID, nullptr, 0, 0, "Import library name", nullptr, nullptr) -OPTION(prefix_3, "include:", incl, Joined, INVALID, INVALID, nullptr, 0, 0, +OPTION(prefix_1, "include:", incl, Joined, INVALID, INVALID, nullptr, 0, 0, "Force symbol to be added to symbol table as undefined one", nullptr, nullptr) +OPTION(prefix_1, "includeoptional:", include_optional, Joined, INVALID, INVALID, nullptr, 0, 0, + "Add symbol as undefined, but allow it to remain undefined", nullptr, nullptr) OPTION(prefix_1, "incremental:no", incremental_no, Flag, INVALID, INVALID, nullptr, 0, 0, "Overwrite import library even if contents are unchanged", nullptr, nullptr) OPTION(prefix_1, "incremental", incremental, Flag, INVALID, INVALID, nullptr, 0, 0, @@ -141,7 +153,7 @@ OPTION(prefix_1, "lldltocache:", lldltocache, Joined, INVALID, INVALID, nullptr, "Path to ThinLTO cached object file directory", nullptr, nullptr) OPTION(prefix_1, "lldltocachepolicy:", lldltocachepolicy, Joined, INVALID, INVALID, nullptr, 0, 0, "Pruning policy for the ThinLTO cache", nullptr, nullptr) -OPTION(prefix_3, "lldmap:", lldmap_file, Joined, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) +OPTION(prefix_1, "lldmap:", lldmap_file, Joined, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) OPTION(prefix_1, "lldmap", lldmap, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) OPTION(prefix_1, "lldmingw", lldmingw, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) OPTION(prefix_1, "lldsavetemps", lldsavetemps, Flag, INVALID, INVALID, nullptr, 0, 0, @@ -186,7 +198,7 @@ OPTION(prefix_1, "order:", order, Joined, INVALID, INVALID, nullptr, 0, 0, "Put functions in order", nullptr, nullptr) OPTION(prefix_1, "out:", out, Joined, INVALID, INVALID, nullptr, 0, 0, "Path to file to write output", nullptr, nullptr) -OPTION(prefix_3, "output-def:", output_def, Joined, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) +OPTION(prefix_1, "output-def:", output_def, Joined, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) OPTION(prefix_1, "pdb:", pdb, Joined, INVALID, INVALID, nullptr, 0, 0, "PDB file path", nullptr, nullptr) OPTION(prefix_1, "pdbaltpath:", pdbaltpath, Joined, INVALID, INVALID, nullptr, 0, 0, @@ -208,8 +220,27 @@ OPTION(prefix_1, "stub:", stub, Joined, INVALID, INVALID, nullptr, 0, 0, "Specify DOS stub file", nullptr, nullptr) OPTION(prefix_1, "subsystem:", subsystem, Joined, INVALID, INVALID, nullptr, 0, 0, "Specify subsystem", nullptr, nullptr) -OPTION(prefix_1, "swaprun:cd", swaprun_cd, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) -OPTION(prefix_1, "swaprun:net", swaprun_net, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) +OPTION(prefix_1, "summary", summary, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) +OPTION(prefix_1, "swaprun:cd", swaprun_cd, Flag, INVALID, swaprun, "cd\0", 0, 0, + "Make loader run output binary from swap instead of from CD", nullptr, nullptr) +OPTION(prefix_1, "swaprun:net", swaprun_net, Flag, INVALID, swaprun, "net\0", 0, 0, + "Make loader run output binary from swap instead of from network", nullptr, nullptr) +OPTION(prefix_1, "swaprun:", swaprun, Joined, INVALID, INVALID, nullptr, 0, 0, + "Comma-separated list of 'cd' or 'net'", nullptr, nullptr) +OPTION(prefix_1, "thinlto-emit-imports-files", thinlto_emit_imports_files, Flag, INVALID, INVALID, nullptr, 0, 0, + "Emit .imports files with -thinlto-index-only", nullptr, nullptr) +OPTION(prefix_1, "thinlto-index-only:", thinlto_index_only_arg, Joined, INVALID, INVALID, nullptr, 0, 0, + "-thinlto-index-only and also write native module names to file", nullptr, nullptr) +OPTION(prefix_1, "thinlto-index-only", thinlto_index_only, Flag, INVALID, INVALID, nullptr, 0, 0, + "Instead of linking, emit ThinLTO index files", nullptr, nullptr) +OPTION(prefix_1, "thinlto-object-suffix-replace:", thinlto_object_suffix_replace, Joined, INVALID, INVALID, nullptr, 0, 0, + "'old;new' replace old suffix with new suffix in ThinLTO index", nullptr, nullptr) +OPTION(prefix_1, "thinlto-prefix-replace:", thinlto_prefix_replace, Joined, INVALID, INVALID, nullptr, 0, 0, + "'old;new' replace old prefix with new prefix in ThinLTO outputs", nullptr, nullptr) +OPTION(prefix_1, "threads:no", threads_no, Flag, INVALID, INVALID, nullptr, 0, 0, + "Do not run the linker multi-threaded", nullptr, nullptr) +OPTION(prefix_1, "threads", threads, Flag, INVALID, INVALID, nullptr, 0, 0, + "Run the linker multi-threaded (default)", nullptr, nullptr) OPTION(prefix_1, "throwingnew", throwingnew, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) OPTION(prefix_1, "timestamp:", timestamp, Joined, INVALID, INVALID, nullptr, 0, 0, "Specify the PE header timestamp", nullptr, nullptr) @@ -233,7 +264,7 @@ OPTION(prefix_1, "WX:no", WX_no, Flag, INVALID, INVALID, nullptr, 0, 0, "Don't treat warnings as errors", nullptr, nullptr) OPTION(prefix_1, "WX", WX, Flag, INVALID, INVALID, nullptr, 0, 0, "Treat warnings as errors", nullptr, nullptr) -OPTION(prefix_4, "", help_q, Flag, INVALID, help, nullptr, 0, 0, nullptr, nullptr, nullptr) +OPTION(prefix_3, "", help_q, Flag, INVALID, help, nullptr, 0, 0, nullptr, nullptr, nullptr) #endif // OPTION #ifdef OPTTABLE_ARG_INIT diff --git a/deps/lld-prebuilt/ELF/Options.inc b/deps/lld-prebuilt/ELF/Options.inc index 0c331248ccc0d255883ac11bb06ad9b2501c0e68..5407eb7a18442a52b9f5c219a5563b9d56efe346 100644 --- a/deps/lld-prebuilt/ELF/Options.inc +++ b/deps/lld-prebuilt/ELF/Options.inc @@ -29,13 +29,14 @@ PREFIX(prefix_2, {"--" COMMA "-" COMMA nullptr}) OPTION(prefix_0, "", INPUT, Input, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) OPTION(prefix_0, "", UNKNOWN, Unknown, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) -OPTION(prefix_1, "(", anonymous_30, Flag, INVALID, start_group, nullptr, 0, 0, +OPTION(prefix_1, "(", anonymous_31, Flag, INVALID, start_group, nullptr, 0, 0, "Alias for --start-group", nullptr, nullptr) OPTION(prefix_1, ")", anonymous_12, Flag, INVALID, end_group, nullptr, 0, 0, "Alias for --end-group", nullptr, nullptr) OPTION(prefix_2, "allow-multiple-definition", allow_multiple_definition, Flag, INVALID, INVALID, nullptr, 0, 0, "Allow multiple definitions", nullptr, nullptr) -OPTION(prefix_2, "allow-shlib-undefined", anonymous_47, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) +OPTION(prefix_2, "allow-shlib-undefined", allow_shlib_undefined, Flag, INVALID, INVALID, nullptr, 0, 0, + "Allow unresolved references in shared libraries (default when linking a shared library)", nullptr, nullptr) OPTION(prefix_2, "apply-dynamic-relocs", apply_dynamic_relocs, Flag, INVALID, INVALID, nullptr, 0, 0, "Apply link-time values for dynamic relocations", nullptr, nullptr) OPTION(prefix_2, "as-needed", as_needed, Flag, INVALID, INVALID, nullptr, 0, 0, @@ -45,7 +46,7 @@ OPTION(prefix_2, "auxiliary=", auxiliary_eq, Joined, INVALID, auxiliary, nullptr OPTION(prefix_2, "auxiliary", auxiliary, Separate, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) OPTION(prefix_2, "Bdynamic", Bdynamic, Flag, INVALID, INVALID, nullptr, 0, 0, "Link against shared libraries (default)", nullptr, nullptr) -OPTION(prefix_2, "Bshareable", anonymous_28, Flag, INVALID, shared, nullptr, 0, 0, +OPTION(prefix_2, "Bshareable", anonymous_29, Flag, INVALID, shared, nullptr, 0, 0, "Alias for --shared", nullptr, nullptr) OPTION(prefix_2, "Bstatic", Bstatic, Flag, INVALID, INVALID, nullptr, 0, 0, "Do not link against shared libraries", nullptr, nullptr) @@ -87,7 +88,9 @@ OPTION(prefix_2, "defsym=", defsym_eq, Joined, INVALID, defsym, nullptr, 0, 0, OPTION(prefix_2, "defsym", defsym, Separate, INVALID, INVALID, nullptr, 0, 0, nullptr, "=", nullptr) OPTION(prefix_2, "demangle", demangle, Flag, INVALID, INVALID, nullptr, 0, 0, "Demangle symbol names (default)", nullptr, nullptr) -OPTION(prefix_2, "detect-odr-violations", anonymous_48, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) +OPTION(prefix_2, "dependent-libraries", dependent_libraries, Flag, INVALID, INVALID, nullptr, 0, 0, + "Process dependent library specifiers from input files (default)", nullptr, nullptr) +OPTION(prefix_2, "detect-odr-violations", anonymous_50, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) OPTION(prefix_2, "disable-new-dtags", disable_new_dtags, Flag, INVALID, INVALID, nullptr, 0, 0, "Disable new dynamic tags", nullptr, nullptr) OPTION(prefix_2, "disable-verify", disable_verify, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) @@ -111,10 +114,10 @@ OPTION(prefix_2, "dy", anonymous_2, Flag, INVALID, Bdynamic, nullptr, 0, 0, "Alias for --Bdynamic", nullptr, nullptr) OPTION(prefix_1, "d", anonymous_6, Flag, INVALID, define_common, nullptr, 0, 0, "Alias for --define-common", nullptr, nullptr) -OPTION(prefix_2, "EB", anonymous_65, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) +OPTION(prefix_2, "EB", anonymous_69, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) OPTION(prefix_2, "eh-frame-hdr", eh_frame_hdr, Flag, INVALID, INVALID, nullptr, 0, 0, "Request creation of .eh_frame_hdr section and PT_GNU_EH_FRAME segment header", nullptr, nullptr) -OPTION(prefix_2, "EL", anonymous_66, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) +OPTION(prefix_2, "EL", anonymous_70, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) OPTION(prefix_2, "emit-relocs", emit_relocs, Flag, INVALID, INVALID, nullptr, 0, 0, "Generate relocations in output", nullptr, nullptr) OPTION(prefix_2, "enable-new-dtags", enable_new_dtags, Flag, INVALID, INVALID, nullptr, 0, 0, @@ -155,6 +158,8 @@ OPTION(prefix_2, "fini=", fini_eq, Joined, INVALID, fini, nullptr, 0, 0, OPTION(prefix_2, "fini", fini, Separate, INVALID, INVALID, nullptr, 0, 0, nullptr, "", nullptr) OPTION(prefix_2, "fix-cortex-a53-843419", fix_cortex_a53_843419, Flag, INVALID, INVALID, nullptr, 0, 0, "Apply fixes for AArch64 Cortex-A53 erratum 843419", nullptr, nullptr) +OPTION(prefix_2, "force-bti", force_bti, Flag, INVALID, INVALID, nullptr, 0, 0, + "Force enable AArch64 BTI in PLT, warn if Input ELF file does not have GNU_PROPERTY_AARCH64_FEATURE_1_BTI property", nullptr, nullptr) OPTION(prefix_2, "format=", format_eq, Joined, INVALID, format, nullptr, 0, 0, "Change the input format of the inputs following this option", "[default,elf,binary]", nullptr) OPTION(prefix_2, "format", format, Separate, INVALID, INVALID, nullptr, 0, 0, nullptr, "[default,elf,binary]", nullptr) @@ -168,14 +173,14 @@ OPTION(prefix_2, "gdb-index", gdb_index, Flag, INVALID, INVALID, nullptr, 0, 0, "Generate .gdb_index section", nullptr, nullptr) OPTION(prefix_2, "gnu-unique", gnu_unique, Flag, INVALID, INVALID, nullptr, 0, 0, "Enable STB_GNU_UNIQUE symbol binding (default)", nullptr, nullptr) -OPTION(prefix_1, "G", anonymous_67, JoinedOrSeparate, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) -OPTION(prefix_1, "g", anonymous_49, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) +OPTION(prefix_1, "G", anonymous_71, JoinedOrSeparate, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) +OPTION(prefix_1, "g", anonymous_51, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) OPTION(prefix_2, "hash-style=", hash_style_eq, Joined, INVALID, hash_style, nullptr, 0, 0, "Specify hash style (sysv, gnu or both)", nullptr, nullptr) OPTION(prefix_2, "hash-style", hash_style, Separate, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) OPTION(prefix_2, "help", help, Flag, INVALID, INVALID, nullptr, 0, 0, "Print option help", nullptr, nullptr) -OPTION(prefix_1, "h", anonymous_29, JoinedOrSeparate, INVALID, soname, nullptr, 0, 0, +OPTION(prefix_1, "h", anonymous_30, JoinedOrSeparate, INVALID, soname, nullptr, 0, 0, "Alias for --soname", nullptr, nullptr) OPTION(prefix_2, "icf=all", icf_all, Flag, INVALID, INVALID, nullptr, 0, 0, "Enable identical code folding", nullptr, nullptr) @@ -205,9 +210,13 @@ OPTION(prefix_2, "library-path", library_path, Separate, INVALID, INVALID, nullp OPTION(prefix_2, "library=", library_eq, Joined, INVALID, library, nullptr, 0, 0, "Root name of library to use", "", nullptr) OPTION(prefix_2, "library", library, Separate, INVALID, INVALID, nullptr, 0, 0, nullptr, "", nullptr) -OPTION(prefix_2, "long-plt", anonymous_50, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) +OPTION(prefix_2, "long-plt", anonymous_52, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) OPTION(prefix_2, "lto-aa-pipeline=", lto_aa_pipeline, Joined, INVALID, INVALID, nullptr, 0, 0, "AA pipeline to run during LTO. Used in conjunction with -lto-newpm-passes", nullptr, nullptr) +OPTION(prefix_2, "lto-cs-profile-file=", lto_cs_profile_file, Joined, INVALID, INVALID, nullptr, 0, 0, + "Context sensitive profile file path", nullptr, nullptr) +OPTION(prefix_2, "lto-cs-profile-generate", lto_cs_profile_generate, Flag, INVALID, INVALID, nullptr, 0, 0, + "Perform context senstive PGO instrumentation", nullptr, nullptr) OPTION(prefix_2, "lto-debug-pass-manager", lto_debug_pass_manager, Flag, INVALID, INVALID, nullptr, 0, 0, "Debug new pass manager", nullptr, nullptr) OPTION(prefix_2, "lto-new-pass-manager", lto_new_pass_manager, Flag, INVALID, INVALID, nullptr, 0, 0, @@ -235,14 +244,17 @@ OPTION(prefix_2, "mips-got-size", mips_got_size, Separate, INVALID, INVALID, nul OPTION(prefix_2, "mllvm=", mllvm_eq, Joined, INVALID, mllvm, nullptr, 0, 0, "Additional arguments to forward to LLVM's option processing", nullptr, nullptr) OPTION(prefix_2, "mllvm", mllvm, Separate, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) -OPTION(prefix_1, "M", anonymous_24, Flag, INVALID, print_map, nullptr, 0, 0, +OPTION(prefix_1, "M", anonymous_25, Flag, INVALID, print_map, nullptr, 0, 0, "Alias for --print-map", nullptr, nullptr) OPTION(prefix_1, "m", m, JoinedOrSeparate, INVALID, INVALID, nullptr, 0, 0, "Set target emulation", nullptr, nullptr) -OPTION(prefix_2, "no-add-needed", anonymous_51, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) +OPTION(prefix_2, "nmagic", nmagic, Flag, INVALID, INVALID, nullptr, 0, 0, + "Do not page align sections, link against static libraries.", "", nullptr) +OPTION(prefix_2, "no-add-needed", anonymous_53, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) OPTION(prefix_2, "no-allow-multiple-definition", no_allow_multiple_definition, Flag, INVALID, INVALID, nullptr, 0, 0, "Do not allow multiple definitions (default)", nullptr, nullptr) -OPTION(prefix_2, "no-allow-shlib-undefined", anonymous_52, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) +OPTION(prefix_2, "no-allow-shlib-undefined", no_allow_shlib_undefined, Flag, INVALID, INVALID, nullptr, 0, 0, + "Do not allow unresolved references in shared libraries (default when linking an executable)", nullptr, nullptr) OPTION(prefix_2, "no-apply-dynamic-relocs", no_apply_dynamic_relocs, Flag, INVALID, INVALID, nullptr, 0, 0, "Do not apply link-time values for dynamic relocations (default)", nullptr, nullptr) OPTION(prefix_2, "no-as-needed", no_as_needed, Flag, INVALID, INVALID, nullptr, 0, 0, @@ -253,14 +265,16 @@ OPTION(prefix_2, "no-check-sections", no_check_sections, Flag, INVALID, INVALID, "Do not check section addresses for overlaps", nullptr, nullptr) OPTION(prefix_2, "no-color-diagnostics", no_color_diagnostics, Flag, INVALID, INVALID, nullptr, 0, 0, "Do not use colors in diagnostics", nullptr, nullptr) -OPTION(prefix_2, "no-copy-dt-needed-entries", anonymous_53, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) +OPTION(prefix_2, "no-copy-dt-needed-entries", anonymous_54, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) OPTION(prefix_2, "no-cref", no_cref, Flag, INVALID, INVALID, nullptr, 0, 0, "Do not output cross reference table", nullptr, nullptr) -OPTION(prefix_2, "no-ctors-in-init-array", anonymous_54, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) +OPTION(prefix_2, "no-ctors-in-init-array", anonymous_55, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) OPTION(prefix_2, "no-define-common", no_define_common, Flag, INVALID, INVALID, nullptr, 0, 0, "Do not assign space to common symbols", nullptr, nullptr) OPTION(prefix_2, "no-demangle", no_demangle, Flag, INVALID, INVALID, nullptr, 0, 0, "Do not demangle symbol names", nullptr, nullptr) +OPTION(prefix_2, "no-dependent-libraries", no_dependent_libraries, Flag, INVALID, INVALID, nullptr, 0, 0, + "Ignore dependent library specifiers from input files", nullptr, nullptr) OPTION(prefix_2, "no-dynamic-linker", no_dynamic_linker, Flag, INVALID, INVALID, nullptr, 0, 0, "Inhibit output of .interp section", nullptr, nullptr) OPTION(prefix_2, "no-eh-frame-hdr", no_eh_frame_hdr, Flag, INVALID, INVALID, nullptr, 0, 0, @@ -277,16 +291,19 @@ OPTION(prefix_2, "no-gdb-index", no_gdb_index, Flag, INVALID, INVALID, nullptr, "Do not generate .gdb_index section (default)", nullptr, nullptr) OPTION(prefix_2, "no-gnu-unique", no_gnu_unique, Flag, INVALID, INVALID, nullptr, 0, 0, "Disable STB_GNU_UNIQUE symbol binding", nullptr, nullptr) -OPTION(prefix_2, "no-keep-memory", anonymous_55, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) +OPTION(prefix_2, "no-keep-memory", anonymous_56, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) OPTION(prefix_2, "no-merge-exidx-entries", no_merge_exidx_entries, Flag, INVALID, INVALID, nullptr, 0, 0, "Disable merging .ARM.exidx entries", nullptr, nullptr) -OPTION(prefix_2, "no-mmap-output-file", anonymous_56, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) +OPTION(prefix_2, "no-mmap-output-file", anonymous_57, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) +OPTION(prefix_2, "no-nmagic", no_nmagic, Flag, INVALID, INVALID, nullptr, 0, 0, + "Page align sections (default)", "", nullptr) OPTION(prefix_2, "no-omagic", no_omagic, Flag, INVALID, INVALID, nullptr, 0, 0, - "Do not set the text data sections to be writable", "", nullptr) + "Do not set the text data sections to be writable, page align sections (default)", "", nullptr) OPTION(prefix_2, "no-pic-executable", anonymous_19, Flag, INVALID, no_pie, nullptr, 0, 0, "Alias for --no-pie", nullptr, nullptr) OPTION(prefix_2, "no-pie", no_pie, Flag, INVALID, INVALID, nullptr, 0, 0, "Do not create a position independent executable (default)", nullptr, nullptr) +OPTION(prefix_2, "no-pipeline-knowledge", anonymous_58, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) OPTION(prefix_2, "no-print-gc-sections", no_print_gc_sections, Flag, INVALID, INVALID, nullptr, 0, 0, "Do not list removed unused sections (default)", nullptr, nullptr) OPTION(prefix_2, "no-print-icf-sections", no_print_icf_sections, Flag, INVALID, INVALID, nullptr, 0, 0, @@ -309,7 +326,7 @@ OPTION(prefix_2, "no-warn-common", no_warn_common, Flag, INVALID, INVALID, nullp "Do not warn about duplicate common symbols (default)", nullptr, nullptr) OPTION(prefix_2, "no-warn-ifunc-textrel", no_warn_ifunc_textrel, Flag, INVALID, INVALID, nullptr, 0, 0, "Do not warn about using ifunc symbols with text relocations (default)", nullptr, nullptr) -OPTION(prefix_2, "no-warn-mismatch", anonymous_57, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) +OPTION(prefix_2, "no-warn-mismatch", anonymous_59, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) OPTION(prefix_2, "no-warn-symbol-ordering", no_warn_symbol_ordering, Flag, INVALID, INVALID, nullptr, 0, 0, "Do not warn about problems with the symbol ordering file", nullptr, nullptr) OPTION(prefix_2, "no-whole-archive", no_whole_archive, Flag, INVALID, INVALID, nullptr, 0, 0, @@ -320,31 +337,39 @@ OPTION(prefix_2, "non_shared", anonymous_4, Flag, INVALID, Bstatic, nullptr, 0, "Alias for --Bstatic", nullptr, nullptr) OPTION(prefix_2, "nostdlib", nostdlib, Flag, INVALID, INVALID, nullptr, 0, 0, "Only search directories specified on the command line", nullptr, nullptr) -OPTION(prefix_1, "N", anonymous_20, Flag, INVALID, omagic, nullptr, 0, 0, +OPTION(prefix_1, "N", anonymous_21, Flag, INVALID, omagic, nullptr, 0, 0, "Alias for --omagic", nullptr, nullptr) +OPTION(prefix_1, "n", anonymous_20, Flag, INVALID, nmagic, nullptr, 0, 0, + "Alias for --nmagic", nullptr, nullptr) OPTION(prefix_3, "oformat", oformat, Separate, INVALID, INVALID, nullptr, 0, 0, "Specify the binary format for the output object file", "", nullptr) OPTION(prefix_3, "omagic", omagic, Flag, INVALID, INVALID, nullptr, 0, 0, - "Set the text and data sections to be readable and writable", "", nullptr) + "Set the text and data sections to be readable and writable, do not page align sections, link against static libraries", "", nullptr) OPTION(prefix_3, "opt-remarks-filename", opt_remarks_filename, Separate, INVALID, INVALID, nullptr, 0, 0, "YAML output file for optimization remarks", nullptr, nullptr) +OPTION(prefix_3, "opt-remarks-format", opt_remarks_format, Separate, INVALID, INVALID, nullptr, 0, 0, + "The format used for serializing remarks (default: YAML)", nullptr, nullptr) +OPTION(prefix_3, "opt-remarks-passes", opt_remarks_passes, Separate, INVALID, INVALID, nullptr, 0, 0, + "Regex for the passes that need to be serialized to the output file", nullptr, nullptr) OPTION(prefix_3, "opt-remarks-with-hotness", opt_remarks_with_hotness, Flag, INVALID, INVALID, nullptr, 0, 0, "Include hotness information in the optimization remarks file", nullptr, nullptr) OPTION(prefix_2, "orphan-handling=", orphan_handling_eq, Joined, INVALID, orphan_handling, nullptr, 0, 0, "Control how orphan sections are handled when linker script used", nullptr, nullptr) OPTION(prefix_2, "orphan-handling", orphan_handling, Separate, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) -OPTION(prefix_3, "output=", anonymous_21, Joined, INVALID, o, nullptr, 0, 0, +OPTION(prefix_3, "output=", anonymous_22, Joined, INVALID, o, nullptr, 0, 0, "Alias for -o", nullptr, nullptr) -OPTION(prefix_3, "output", anonymous_22, Separate, INVALID, o, nullptr, 0, 0, +OPTION(prefix_3, "output", anonymous_23, Separate, INVALID, o, nullptr, 0, 0, "Alias for -o", nullptr, nullptr) OPTION(prefix_1, "O", O, JoinedOrSeparate, INVALID, INVALID, nullptr, 0, 0, "Optimize output file size", nullptr, nullptr) OPTION(prefix_1, "o", o, JoinedOrSeparate, INVALID, INVALID, nullptr, 0, 0, "Path to file to write output", "", nullptr) +OPTION(prefix_2, "pac-plt", pac_plt, Flag, INVALID, INVALID, nullptr, 0, 0, + "AArch64 only, use pointer authentication in PLT", nullptr, nullptr) OPTION(prefix_2, "pack-dyn-relocs=", pack_dyn_relocs_eq, Joined, INVALID, pack_dyn_relocs, nullptr, 0, 0, "Pack dynamic relocations in the given format", "[none,android,relr,android+relr]", nullptr) OPTION(prefix_2, "pack-dyn-relocs", pack_dyn_relocs, Separate, INVALID, INVALID, nullptr, 0, 0, nullptr, "[none,android,relr,android+relr]", nullptr) -OPTION(prefix_2, "pic-executable", anonymous_23, Flag, INVALID, pie, nullptr, 0, 0, +OPTION(prefix_2, "pic-executable", anonymous_24, Flag, INVALID, pie, nullptr, 0, 0, "Alias for --pie", nullptr, nullptr) OPTION(prefix_2, "pic-veneer", pic_veneer, Flag, INVALID, INVALID, nullptr, 0, 0, "Always generate position independent thunks (veneers)", nullptr, nullptr) @@ -353,26 +378,30 @@ OPTION(prefix_2, "pie", pie, Flag, INVALID, INVALID, nullptr, 0, 0, OPTION(prefix_2, "plugin-opt=-fresolution=", plugin_opt_fresolution_eq, Joined, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) OPTION(prefix_2, "plugin-opt=-pass-through=", plugin_opt_pass_through_eq, Joined, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) OPTION(prefix_2, "plugin-opt=/", plugin_opt_slash, Joined, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) -OPTION(prefix_2, "plugin-opt=debug-pass-manager", anonymous_40, Flag, INVALID, lto_debug_pass_manager, nullptr, 0, 0, +OPTION(prefix_2, "plugin-opt=cs-profile-generate", anonymous_46, Flag, INVALID, lto_cs_profile_generate, nullptr, 0, 0, + "Alias for -lto-cs-profile-generate", nullptr, nullptr) +OPTION(prefix_2, "plugin-opt=cs-profile-path=", anonymous_47, Joined, INVALID, lto_cs_profile_file, nullptr, 0, 0, + "Alias for -lto-cs-profile-file", nullptr, nullptr) +OPTION(prefix_2, "plugin-opt=debug-pass-manager", anonymous_41, Flag, INVALID, lto_debug_pass_manager, nullptr, 0, 0, "Alias for -lto-debug-pass-manager", nullptr, nullptr) -OPTION(prefix_2, "plugin-opt=disable-verify", anonymous_41, Flag, INVALID, disable_verify, nullptr, 0, 0, +OPTION(prefix_2, "plugin-opt=disable-verify", anonymous_42, Flag, INVALID, disable_verify, nullptr, 0, 0, "Alias for -disable-verify", nullptr, nullptr) OPTION(prefix_2, "plugin-opt=dwo_dir=", plugin_opt_dwo_dir_eq, Joined, INVALID, INVALID, nullptr, 0, 0, "Directory to store .dwo files when LTO and debug fission are used", nullptr, nullptr) OPTION(prefix_2, "plugin-opt=emit-llvm", plugin_opt_emit_llvm, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) -OPTION(prefix_2, "plugin-opt=jobs=", anonymous_42, Joined, INVALID, thinlto_jobs, nullptr, 0, 0, +OPTION(prefix_2, "plugin-opt=jobs=", anonymous_43, Joined, INVALID, thinlto_jobs, nullptr, 0, 0, "Alias for -thinlto-jobs", nullptr, nullptr) -OPTION(prefix_2, "plugin-opt=lto-partitions=", anonymous_43, Joined, INVALID, lto_partitions, nullptr, 0, 0, +OPTION(prefix_2, "plugin-opt=lto-partitions=", anonymous_44, Joined, INVALID, lto_partitions, nullptr, 0, 0, "Alias for -lto-partitions", nullptr, nullptr) OPTION(prefix_2, "plugin-opt=mcpu=", plugin_opt_mcpu_eq, Joined, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) -OPTION(prefix_2, "plugin-opt=new-pass-manager", anonymous_44, Flag, INVALID, lto_new_pass_manager, nullptr, 0, 0, +OPTION(prefix_2, "plugin-opt=new-pass-manager", anonymous_45, Flag, INVALID, lto_new_pass_manager, nullptr, 0, 0, "Alias for -lto-new-pass-manager", nullptr, nullptr) OPTION(prefix_2, "plugin-opt=obj-path=", plugin_opt_obj_path_eq, Joined, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) -OPTION(prefix_2, "plugin-opt=O", anonymous_39, Joined, INVALID, lto_O, nullptr, 0, 0, +OPTION(prefix_2, "plugin-opt=O", anonymous_40, Joined, INVALID, lto_O, nullptr, 0, 0, "Alias for -lto-O", nullptr, nullptr) -OPTION(prefix_2, "plugin-opt=sample-profile=", anonymous_45, Joined, INVALID, lto_sample_profile, nullptr, 0, 0, +OPTION(prefix_2, "plugin-opt=sample-profile=", anonymous_48, Joined, INVALID, lto_sample_profile, nullptr, 0, 0, "Alias for -lto-sample-profile", nullptr, nullptr) -OPTION(prefix_2, "plugin-opt=save-temps", anonymous_46, Flag, INVALID, save_temps, nullptr, 0, 0, +OPTION(prefix_2, "plugin-opt=save-temps", anonymous_49, Flag, INVALID, save_temps, nullptr, 0, 0, "Alias for -save-temps", nullptr, nullptr) OPTION(prefix_2, "plugin-opt=thinlto-emit-imports-files", plugin_opt_thinlto_emit_imports_files, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) OPTION(prefix_2, "plugin-opt=thinlto-index-only=", plugin_opt_thinlto_index_only_eq, Joined, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) @@ -394,9 +423,13 @@ OPTION(prefix_2, "print-icf-sections", print_icf_sections, Flag, INVALID, INVALI "List identical folded sections", nullptr, nullptr) OPTION(prefix_2, "print-map", print_map, Flag, INVALID, INVALID, nullptr, 0, 0, "Print a link map to the standard output", nullptr, nullptr) +OPTION(prefix_2, "print-symbol-order=", print_symbol_order_eq, Joined, INVALID, print_symbol_order, nullptr, 0, 0, + "Print a symbol order specified by --call-graph-ordering-file into the speficied file", nullptr, nullptr) +OPTION(prefix_2, "print-symbol-order", print_symbol_order, Separate, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) OPTION(prefix_2, "push-state", push_state, Flag, INVALID, INVALID, nullptr, 0, 0, "Save the current state of -as-needed, -static and -whole-archive", nullptr, nullptr) -OPTION(prefix_2, "Qy", anonymous_68, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) +OPTION(prefix_1, "p", anonymous_60, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) +OPTION(prefix_2, "Qy", anonymous_72, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) OPTION(prefix_1, "q", anonymous_11, Flag, INVALID, emit_relocs, nullptr, 0, 0, "Alias for --emit-relocs", nullptr, nullptr) OPTION(prefix_2, "relocatable", relocatable, Flag, INVALID, INVALID, nullptr, 0, 0, @@ -404,20 +437,21 @@ OPTION(prefix_2, "relocatable", relocatable, Flag, INVALID, INVALID, nullptr, 0, OPTION(prefix_2, "reproduce=", reproduce_eq, Joined, INVALID, reproduce, nullptr, 0, 0, "Dump linker invocation and input files for debugging", nullptr, nullptr) OPTION(prefix_2, "reproduce", reproduce, Separate, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) +OPTION(prefix_2, "require-cet", require_cet, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) OPTION(prefix_2, "retain-symbols-file=", retain_symbols_file_eq, Joined, INVALID, retain_symbols_file, nullptr, 0, 0, "Retain only the symbols listed in the file", "", nullptr) OPTION(prefix_2, "retain-symbols-file", retain_symbols_file, Separate, INVALID, INVALID, nullptr, 0, 0, nullptr, "", nullptr) -OPTION(prefix_2, "rpath-link=", anonymous_59, Joined, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) -OPTION(prefix_2, "rpath-link", anonymous_58, Separate, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) +OPTION(prefix_2, "rpath-link=", anonymous_62, Joined, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) +OPTION(prefix_2, "rpath-link", anonymous_61, Separate, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) OPTION(prefix_2, "rpath=", rpath_eq, Joined, INVALID, rpath, nullptr, 0, 0, "Add a DT_RUNPATH to the output", nullptr, nullptr) OPTION(prefix_2, "rpath", rpath, Separate, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) OPTION(prefix_2, "rsp-quoting=", rsp_quoting_eq, Joined, INVALID, rsp_quoting, nullptr, 0, 0, "Quoting style for response files", "[posix,windows]", nullptr) OPTION(prefix_2, "rsp-quoting", rsp_quoting, Separate, INVALID, INVALID, nullptr, 0, 0, nullptr, "[posix,windows]", nullptr) -OPTION(prefix_1, "R", anonymous_26, JoinedOrSeparate, INVALID, rpath, nullptr, 0, 0, +OPTION(prefix_1, "R", anonymous_27, JoinedOrSeparate, INVALID, rpath, nullptr, 0, 0, "Alias for --rpath", nullptr, nullptr) -OPTION(prefix_1, "r", anonymous_25, Flag, INVALID, relocatable, nullptr, 0, 0, +OPTION(prefix_1, "r", anonymous_26, Flag, INVALID, relocatable, nullptr, 0, 0, "Alias for --relocatable", nullptr, nullptr) OPTION(prefix_2, "save-temps", save_temps, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) OPTION(prefix_2, "script=", script_eq, Joined, INVALID, script, nullptr, 0, 0, @@ -426,12 +460,13 @@ OPTION(prefix_2, "script", script, Separate, INVALID, INVALID, nullptr, 0, 0, nu OPTION(prefix_2, "section-start=", section_start_eq, Joined, INVALID, section_start, nullptr, 0, 0, "Set address of section", "
", nullptr) OPTION(prefix_2, "section-start", section_start, Separate, INVALID, INVALID, nullptr, 0, 0, nullptr, "
", nullptr) +OPTION(prefix_2, "secure-plt", anonymous_63, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) OPTION(prefix_2, "shared", shared, Flag, INVALID, INVALID, nullptr, 0, 0, "Build a shared object", nullptr, nullptr) OPTION(prefix_2, "soname=", soname_eq, Joined, INVALID, soname, nullptr, 0, 0, "Set DT_SONAME", nullptr, nullptr) OPTION(prefix_2, "soname", soname, Separate, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) -OPTION(prefix_2, "sort-common", anonymous_60, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) +OPTION(prefix_2, "sort-common", anonymous_64, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) OPTION(prefix_2, "sort-section=", sort_section_eq, Joined, INVALID, sort_section, nullptr, 0, 0, "Specifies sections sorting rule when linkerscript is used", nullptr, nullptr) OPTION(prefix_2, "sort-section", sort_section, Separate, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) @@ -444,7 +479,7 @@ OPTION(prefix_2, "start-lib", start_lib, Flag, INVALID, INVALID, nullptr, 0, 0, "Start a grouping of objects that should be treated as if they were together in an archive", nullptr, nullptr) OPTION(prefix_2, "static", anonymous_5, Flag, INVALID, Bstatic, nullptr, 0, 0, "Alias for --Bstatic", nullptr, nullptr) -OPTION(prefix_2, "stats", anonymous_61, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) +OPTION(prefix_2, "stats", anonymous_65, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) OPTION(prefix_2, "strip-all", strip_all, Flag, INVALID, INVALID, nullptr, 0, 0, "Strip all symbols", nullptr, nullptr) OPTION(prefix_2, "strip-debug", strip_debug, Flag, INVALID, INVALID, nullptr, 0, 0, @@ -455,9 +490,9 @@ OPTION(prefix_2, "symbol-ordering-file", symbol_ordering_file, Separate, INVALID OPTION(prefix_2, "sysroot=", sysroot_eq, Joined, INVALID, sysroot, nullptr, 0, 0, "Set the system root", nullptr, nullptr) OPTION(prefix_2, "sysroot", sysroot, Separate, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) -OPTION(prefix_1, "S", anonymous_32, Flag, INVALID, strip_debug, nullptr, 0, 0, +OPTION(prefix_1, "S", anonymous_33, Flag, INVALID, strip_debug, nullptr, 0, 0, "Alias for --strip-debug", nullptr, nullptr) -OPTION(prefix_1, "s", anonymous_31, Flag, INVALID, strip_all, nullptr, 0, 0, +OPTION(prefix_1, "s", anonymous_32, Flag, INVALID, strip_all, nullptr, 0, 0, "Alias for --strip-all", nullptr, nullptr) OPTION(prefix_2, "target1-abs", target1_abs, Flag, INVALID, INVALID, nullptr, 0, 0, "Interpret R_ARM_TARGET1 as R_ARM_ABS32 (default)", nullptr, nullptr) @@ -488,17 +523,20 @@ OPTION(prefix_2, "trace-symbol=", trace_symbol_eq, Joined, INVALID, trace_symbol OPTION(prefix_2, "trace-symbol", trace_symbol, Separate, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) OPTION(prefix_2, "trace", trace, Flag, INVALID, INVALID, nullptr, 0, 0, "Print the names of the input files", nullptr, nullptr) -OPTION(prefix_4, "Ttext-segment=", anonymous_36, Joined, INVALID, Ttext, nullptr, 0, 0, +OPTION(prefix_4, "Ttext-segment=", anonymous_37, Joined, INVALID, Ttext, nullptr, 0, 0, "Alias for --Ttext", nullptr, nullptr) -OPTION(prefix_4, "Ttext-segment", anonymous_35, Separate, INVALID, Ttext, nullptr, 0, 0, +OPTION(prefix_4, "Ttext-segment", anonymous_36, Separate, INVALID, Ttext, nullptr, 0, 0, "Alias for --Ttext", nullptr, nullptr) OPTION(prefix_2, "Ttext=", Ttext_eq, Joined, INVALID, Ttext, nullptr, 0, 0, "Same as --section-start with .text as the sectionname", nullptr, nullptr) OPTION(prefix_2, "Ttext", Ttext, Separate, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) -OPTION(prefix_1, "T", anonymous_27, JoinedOrSeparate, INVALID, script, nullptr, 0, 0, +OPTION(prefix_1, "T", anonymous_28, JoinedOrSeparate, INVALID, script, nullptr, 0, 0, "Alias for --script", nullptr, nullptr) -OPTION(prefix_1, "t", anonymous_33, Flag, INVALID, trace, nullptr, 0, 0, +OPTION(prefix_1, "t", anonymous_34, Flag, INVALID, trace, nullptr, 0, 0, "Alias for --trace", nullptr, nullptr) +OPTION(prefix_2, "undefined-glob=", undefined_glob_eq, Joined, INVALID, undefined_glob, nullptr, 0, 0, + "Force undefined symbol during linking", "", nullptr) +OPTION(prefix_2, "undefined-glob", undefined_glob, Separate, INVALID, INVALID, nullptr, 0, 0, nullptr, "", nullptr) OPTION(prefix_2, "undefined-version", undefined_version, Flag, INVALID, INVALID, nullptr, 0, 0, "Allow unused version in version script (default)", nullptr, nullptr) OPTION(prefix_2, "undefined=", undefined_eq, Joined, INVALID, undefined, nullptr, 0, 0, @@ -509,7 +547,7 @@ OPTION(prefix_2, "unresolved-symbols=", unresolved_symbols_eq, Joined, INVALID, OPTION(prefix_2, "unresolved-symbols", unresolved_symbols, Separate, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) OPTION(prefix_2, "use-android-relr-tags", use_android_relr_tags, Flag, INVALID, INVALID, nullptr, 0, 0, "Use SHT_ANDROID_RELR / DT_ANDROID_RELR* tags instead of SHT_RELR / DT_RELR*", nullptr, nullptr) -OPTION(prefix_1, "u", anonymous_37, JoinedOrSeparate, INVALID, undefined, nullptr, 0, 0, +OPTION(prefix_1, "u", anonymous_38, JoinedOrSeparate, INVALID, undefined, nullptr, 0, 0, "Alias for --undefined", nullptr, nullptr) OPTION(prefix_2, "verbose", verbose, Flag, INVALID, INVALID, nullptr, 0, 0, "Verbose mode", nullptr, nullptr) @@ -518,7 +556,9 @@ OPTION(prefix_2, "version-script=", version_script_eq, Joined, INVALID, version_ OPTION(prefix_2, "version-script", version_script, Separate, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) OPTION(prefix_2, "version", version, Flag, INVALID, INVALID, nullptr, 0, 0, "Display the version number and exit", nullptr, nullptr) -OPTION(prefix_1, "V", anonymous_38, Flag, INVALID, version, nullptr, 0, 0, +OPTION(prefix_2, "vs-diagnostics", visual_studio_diagnostics_format, Flag, INVALID, INVALID, nullptr, 0, 0, + "Format diagnostics for Visual Studio compatiblity", nullptr, nullptr) +OPTION(prefix_1, "V", anonymous_39, Flag, INVALID, version, nullptr, 0, 0, "Alias for --version", nullptr, nullptr) OPTION(prefix_1, "v", v, Flag, INVALID, INVALID, nullptr, 0, 0, "Display the version number", nullptr, nullptr) @@ -526,11 +566,11 @@ OPTION(prefix_2, "warn-backrefs", warn_backrefs, Flag, INVALID, INVALID, nullptr "Warn about backward symbol references to fetch archive members", nullptr, nullptr) OPTION(prefix_2, "warn-common", warn_common, Flag, INVALID, INVALID, nullptr, 0, 0, "Warn about duplicate common symbols", nullptr, nullptr) -OPTION(prefix_2, "warn-execstack", anonymous_62, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) +OPTION(prefix_2, "warn-execstack", anonymous_66, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) OPTION(prefix_2, "warn-ifunc-textrel", warn_ifunc_textrel, Flag, INVALID, INVALID, nullptr, 0, 0, "Warn about using ifunc symbols with text relocations", nullptr, nullptr) -OPTION(prefix_2, "warn-once", anonymous_63, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) -OPTION(prefix_2, "warn-shared-textrel", anonymous_64, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) +OPTION(prefix_2, "warn-once", anonymous_67, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) +OPTION(prefix_2, "warn-shared-textrel", anonymous_68, Flag, INVALID, INVALID, nullptr, 0, 0, nullptr, nullptr, nullptr) OPTION(prefix_2, "warn-symbol-ordering", warn_symbol_ordering, Flag, INVALID, INVALID, nullptr, 0, 0, "Warn about problems with the symbol ordering file (default)", nullptr, nullptr) OPTION(prefix_2, "warn-unresolved-symbols", warn_unresolved_symbols, Flag, INVALID, INVALID, nullptr, 0, 0, @@ -544,7 +584,7 @@ OPTION(prefix_1, "X", anonymous_10, Flag, INVALID, discard_locals, nullptr, 0, 0 "Alias for --discard-locals", nullptr, nullptr) OPTION(prefix_1, "x", anonymous_9, Flag, INVALID, discard_all, nullptr, 0, 0, "Alias for --discard-all", nullptr, nullptr) -OPTION(prefix_1, "y", anonymous_34, JoinedOrSeparate, INVALID, trace_symbol, nullptr, 0, 0, +OPTION(prefix_1, "y", anonymous_35, JoinedOrSeparate, INVALID, trace_symbol, nullptr, 0, 0, "Alias for --trace-symbol", nullptr, nullptr) OPTION(prefix_1, "z", z, JoinedOrSeparate, INVALID, INVALID, nullptr, 0, 0, "Linker option extensions", "