├── .bumpversion.cfg ├── README.md ├── fuzzle ├── __init__.py ├── docs │ └── format │ │ └── uzl_format.h ├── duzzle │ ├── __init__.py │ ├── __main__.py │ ├── archs │ │ ├── __init__.py │ │ └── x86_64.py │ ├── core │ │ ├── __init__.py │ │ ├── context.py │ │ ├── listener.py │ │ └── utils.py │ └── tests │ │ └── test_context.py ├── lld │ ├── .arcconfig │ ├── .clang-format │ ├── .gitignore │ ├── CMakeLists.txt │ ├── CODE_OWNERS.TXT │ ├── COFF │ │ ├── CMakeLists.txt │ │ ├── Chunks.cpp │ │ ├── Chunks.h │ │ ├── Config.h │ │ ├── DLL.cpp │ │ ├── DLL.h │ │ ├── Driver.cpp │ │ ├── Driver.h │ │ ├── DriverUtils.cpp │ │ ├── ICF.cpp │ │ ├── ICF.h │ │ ├── InputFiles.cpp │ │ ├── InputFiles.h │ │ ├── LTO.cpp │ │ ├── LTO.h │ │ ├── MapFile.cpp │ │ ├── MapFile.h │ │ ├── MarkLive.cpp │ │ ├── MarkLive.h │ │ ├── MinGW.cpp │ │ ├── MinGW.h │ │ ├── Options.td │ │ ├── PDB.cpp │ │ ├── PDB.h │ │ ├── README.md │ │ ├── SymbolTable.cpp │ │ ├── SymbolTable.h │ │ ├── Symbols.cpp │ │ ├── Symbols.h │ │ ├── Writer.cpp │ │ └── Writer.h │ ├── Common │ │ ├── Args.cpp │ │ ├── CMakeLists.txt │ │ ├── ErrorHandler.cpp │ │ ├── Memory.cpp │ │ ├── Reproduce.cpp │ │ ├── Strings.cpp │ │ ├── TargetOptionsCommandFlags.cpp │ │ ├── Threads.cpp │ │ ├── Timer.cpp │ │ └── Version.cpp │ ├── ELF │ │ ├── AArch64ErrataFix.cpp │ │ ├── AArch64ErrataFix.h │ │ ├── Arch │ │ │ ├── AArch64.cpp │ │ │ ├── AMDGPU.cpp │ │ │ ├── ARM.cpp │ │ │ ├── AVR.cpp │ │ │ ├── Hexagon.cpp │ │ │ ├── Mips.cpp │ │ │ ├── MipsArchTree.cpp │ │ │ ├── PPC.cpp │ │ │ ├── PPC64.cpp │ │ │ ├── RISCV.cpp │ │ │ ├── SPARCV9.cpp │ │ │ ├── X86.cpp │ │ │ └── X86_64.cpp │ │ ├── Bits.h │ │ ├── CMakeLists.txt │ │ ├── CallGraphSort.cpp │ │ ├── CallGraphSort.h │ │ ├── Config.h │ │ ├── DWARF.cpp │ │ ├── DWARF.h │ │ ├── Driver.cpp │ │ ├── Driver.h │ │ ├── DriverUtils.cpp │ │ ├── EhFrame.cpp │ │ ├── EhFrame.h │ │ ├── Filesystem.cpp │ │ ├── Filesystem.h │ │ ├── ICF.cpp │ │ ├── ICF.h │ │ ├── InputFiles.cpp │ │ ├── InputFiles.h │ │ ├── InputSection.cpp │ │ ├── InputSection.h │ │ ├── LTO.cpp │ │ ├── LTO.h │ │ ├── LinkerScript.cpp │ │ ├── LinkerScript.h │ │ ├── MapFile.cpp │ │ ├── MapFile.h │ │ ├── MarkLive.cpp │ │ ├── MarkLive.h │ │ ├── Options.td │ │ ├── OutputSections.cpp │ │ ├── OutputSections.h │ │ ├── README.md │ │ ├── Relocations.cpp │ │ ├── Relocations.h │ │ ├── ScriptLexer.cpp │ │ ├── ScriptLexer.h │ │ ├── ScriptParser.cpp │ │ ├── ScriptParser.h │ │ ├── SymbolTable.cpp │ │ ├── SymbolTable.h │ │ ├── Symbols.cpp │ │ ├── Symbols.h │ │ ├── SyntheticSections.cpp │ │ ├── SyntheticSections.h │ │ ├── Target.cpp │ │ ├── Target.h │ │ ├── Thunks.cpp │ │ ├── Thunks.h │ │ ├── Writer.cpp │ │ └── Writer.h │ ├── LICENSE.TXT │ ├── MinGW │ │ ├── CMakeLists.txt │ │ ├── Driver.cpp │ │ └── Options.td │ ├── README.md │ ├── cmake │ │ └── modules │ │ │ ├── AddLLD.cmake │ │ │ └── FindVTune.cmake │ ├── docs │ │ ├── AtomLLD.rst │ │ ├── CMakeLists.txt │ │ ├── Driver.rst │ │ ├── NewLLD.rst │ │ ├── README.txt │ │ ├── Readers.rst │ │ ├── ReleaseNotes.rst │ │ ├── WebAssembly.rst │ │ ├── _static │ │ │ └── favicon.ico │ │ ├── _templates │ │ │ ├── indexsidebar.html │ │ │ └── layout.html │ │ ├── conf.py │ │ ├── design.rst │ │ ├── development.rst │ │ ├── getting_started.rst │ │ ├── hello.png │ │ ├── index.rst │ │ ├── ld.lld.1 │ │ ├── llvm-theme │ │ │ ├── layout.html │ │ │ ├── static │ │ │ │ ├── contents.png │ │ │ │ ├── llvm.css │ │ │ │ ├── logo.png │ │ │ │ └── navigation.png │ │ │ └── theme.conf │ │ ├── make.bat │ │ ├── open_projects.rst │ │ ├── sphinx_intro.rst │ │ └── windows_support.rst │ ├── include │ │ └── lld │ │ │ ├── Common │ │ │ ├── Args.h │ │ │ ├── Driver.h │ │ │ ├── ErrorHandler.h │ │ │ ├── LLVM.h │ │ │ ├── Memory.h │ │ │ ├── Reproduce.h │ │ │ ├── Strings.h │ │ │ ├── TargetOptionsCommandFlags.h │ │ │ ├── Threads.h │ │ │ ├── Timer.h │ │ │ ├── Version.h │ │ │ └── Version.inc.in │ │ │ ├── Core │ │ │ ├── AbsoluteAtom.h │ │ │ ├── ArchiveLibraryFile.h │ │ │ ├── Atom.h │ │ │ ├── DefinedAtom.h │ │ │ ├── Error.h │ │ │ ├── File.h │ │ │ ├── Instrumentation.h │ │ │ ├── LinkingContext.h │ │ │ ├── Node.h │ │ │ ├── Pass.h │ │ │ ├── PassManager.h │ │ │ ├── Reader.h │ │ │ ├── Reference.h │ │ │ ├── Resolver.h │ │ │ ├── SharedLibraryAtom.h │ │ │ ├── SharedLibraryFile.h │ │ │ ├── Simple.h │ │ │ ├── SymbolTable.h │ │ │ ├── TODO.txt │ │ │ ├── UndefinedAtom.h │ │ │ └── Writer.h │ │ │ └── ReaderWriter │ │ │ ├── MachOLinkingContext.h │ │ │ └── YamlContext.h │ ├── lib │ │ ├── CMakeLists.txt │ │ ├── Core │ │ │ ├── CMakeLists.txt │ │ │ ├── DefinedAtom.cpp │ │ │ ├── Error.cpp │ │ │ ├── File.cpp │ │ │ ├── LinkingContext.cpp │ │ │ ├── Reader.cpp │ │ │ ├── Resolver.cpp │ │ │ ├── SymbolTable.cpp │ │ │ └── Writer.cpp │ │ ├── Driver │ │ │ ├── CMakeLists.txt │ │ │ ├── DarwinLdDriver.cpp │ │ │ └── DarwinLdOptions.td │ │ └── ReaderWriter │ │ │ ├── CMakeLists.txt │ │ │ ├── FileArchive.cpp │ │ │ ├── MachO │ │ │ ├── ArchHandler.cpp │ │ │ ├── ArchHandler.h │ │ │ ├── ArchHandler_arm.cpp │ │ │ ├── ArchHandler_arm64.cpp │ │ │ ├── ArchHandler_x86.cpp │ │ │ ├── ArchHandler_x86_64.cpp │ │ │ ├── Atoms.h │ │ │ ├── CMakeLists.txt │ │ │ ├── CompactUnwindPass.cpp │ │ │ ├── DebugInfo.h │ │ │ ├── ExecutableAtoms.h │ │ │ ├── File.h │ │ │ ├── FlatNamespaceFile.h │ │ │ ├── GOTPass.cpp │ │ │ ├── LayoutPass.cpp │ │ │ ├── LayoutPass.h │ │ │ ├── MachOLinkingContext.cpp │ │ │ ├── MachONormalizedFile.h │ │ │ ├── MachONormalizedFileBinaryReader.cpp │ │ │ ├── MachONormalizedFileBinaryUtils.h │ │ │ ├── MachONormalizedFileBinaryWriter.cpp │ │ │ ├── MachONormalizedFileFromAtoms.cpp │ │ │ ├── MachONormalizedFileToAtoms.cpp │ │ │ ├── MachONormalizedFileYAML.cpp │ │ │ ├── MachOPasses.h │ │ │ ├── ObjCPass.cpp │ │ │ ├── SectCreateFile.h │ │ │ ├── ShimPass.cpp │ │ │ ├── StubsPass.cpp │ │ │ ├── TLVPass.cpp │ │ │ └── WriterMachO.cpp │ │ │ └── YAML │ │ │ ├── CMakeLists.txt │ │ │ └── ReaderWriterYAML.cpp │ ├── test │ │ ├── CMakeLists.txt │ │ ├── COFF │ │ │ ├── Inputs │ │ │ │ ├── alpha.ll │ │ │ │ ├── armnt-executable.obj.yaml │ │ │ │ ├── armnt-executable.s │ │ │ │ ├── associative-comdat-2.s │ │ │ │ ├── associative-comdat-mingw-2.s │ │ │ │ ├── bad-block-size.pdb │ │ │ │ ├── bar.ll │ │ │ │ ├── beta.ll │ │ │ │ ├── cl-gl.obj │ │ │ │ ├── combined-resources-2.rc │ │ │ │ ├── combined-resources-2.res │ │ │ │ ├── combined-resources-cursor.bmp │ │ │ │ ├── combined-resources-okay.bmp │ │ │ │ ├── combined-resources.rc │ │ │ │ ├── combined-resources.res │ │ │ │ ├── comdat-jumptable2.s │ │ │ │ ├── common-replacement.s │ │ │ │ ├── conflict.ll │ │ │ │ ├── constant-export.ll │ │ │ │ ├── constant-import.s │ │ │ │ ├── crt-dyn-initializer-order_1.yaml │ │ │ │ ├── crt-dyn-initializer-order_2.yaml │ │ │ │ ├── default.def │ │ │ │ ├── delayimports-error.yaml │ │ │ │ ├── empty.yaml │ │ │ │ ├── entry-mangled.ll │ │ │ │ ├── except_handler3.lib │ │ │ │ ├── export.ll │ │ │ │ ├── export.yaml │ │ │ │ ├── export2.yaml │ │ │ │ ├── extension.def │ │ │ │ ├── far-arm64-abs.s │ │ │ │ ├── gamma.ll │ │ │ │ ├── generic.yaml │ │ │ │ ├── globals-dia-func-collision3.obj │ │ │ │ ├── globals-dia-vfunc-collision.obj │ │ │ │ ├── globals-dia-vfunc-collision2.obj │ │ │ │ ├── globals-dia-vfunc-simple.obj │ │ │ │ ├── gnu-implib-data.s │ │ │ │ ├── gnu-implib-func.s │ │ │ │ ├── gnu-implib-head.s │ │ │ │ ├── gnu-implib-tail.s │ │ │ │ ├── gnu-weak.o │ │ │ │ ├── gnu-weak2.o │ │ │ │ ├── guardcf-align-foobar.yaml │ │ │ │ ├── hello32.yaml │ │ │ │ ├── hello64.asm │ │ │ │ ├── hello64.obj │ │ │ │ ├── icf-safe.s │ │ │ │ ├── import.yaml │ │ │ │ ├── imports-mangle.lib │ │ │ │ ├── include1a.yaml │ │ │ │ ├── include1b.yaml │ │ │ │ ├── include1c.yaml │ │ │ │ ├── inline-weak.o │ │ │ │ ├── inline-weak2.o │ │ │ │ ├── library-arm64.lib │ │ │ │ ├── library.def │ │ │ │ ├── library.lib │ │ │ │ ├── library2-arm64.lib │ │ │ │ ├── library2.def │ │ │ │ ├── loadconfig-cfg-x64.s │ │ │ │ ├── locally-imported-def.s │ │ │ │ ├── locally-imported-imp.s │ │ │ │ ├── lto-cache.ll │ │ │ │ ├── lto-chkstk-chkstk.s │ │ │ │ ├── lto-chkstk-foo.s │ │ │ │ ├── lto-comdat1.ll │ │ │ │ ├── lto-comdat2.ll │ │ │ │ ├── lto-dep.ll │ │ │ │ ├── lto-lazy-reference-dummy.ll │ │ │ │ ├── lto-lazy-reference-quadruple.ll │ │ │ │ ├── machine-x64.yaml │ │ │ │ ├── machine-x86.yaml │ │ │ │ ├── manifestinput.test │ │ │ │ ├── msvclto-order-a.ll │ │ │ │ ├── msvclto-order-b.ll │ │ │ │ ├── msvclto.s │ │ │ │ ├── named.def │ │ │ │ ├── natvis-1.natvis │ │ │ │ ├── natvis-2.natvis │ │ │ │ ├── natvis-3.natvis │ │ │ │ ├── object.s │ │ │ │ ├── oldname.yaml │ │ │ │ ├── order.yaml │ │ │ │ ├── otherFunc.s │ │ │ │ ├── pdb-diff-cl.pdb │ │ │ │ ├── pdb-diff.cpp │ │ │ │ ├── pdb-diff.obj │ │ │ │ ├── pdb-file-statics-a.yaml │ │ │ │ ├── pdb-file-statics-b.yaml │ │ │ │ ├── pdb-global-gc.s │ │ │ │ ├── pdb-globals.yaml │ │ │ │ ├── pdb-hashes-1.yaml │ │ │ │ ├── pdb-hashes-2-missing.yaml │ │ │ │ ├── pdb-hashes-2.yaml │ │ │ │ ├── pdb-import-gc.lib │ │ │ │ ├── pdb-scopes-a.yaml │ │ │ │ ├── pdb-scopes-b.yaml │ │ │ │ ├── pdb-type-server-missing-2.yaml │ │ │ │ ├── pdb-type-server-simple-a.yaml │ │ │ │ ├── pdb-type-server-simple-b.yaml │ │ │ │ ├── pdb-type-server-simple-ts.yaml │ │ │ │ ├── pdb-type-server-valid-signature.yaml │ │ │ │ ├── pdb1.yaml │ │ │ │ ├── pdb2.yaml │ │ │ │ ├── pdb_comdat_bar.yaml │ │ │ │ ├── pdb_comdat_main.yaml │ │ │ │ ├── pdb_lines_1.yaml │ │ │ │ ├── pdb_lines_1_relative.yaml │ │ │ │ ├── pdb_lines_2.yaml │ │ │ │ ├── pdb_lines_2_relative.yaml │ │ │ │ ├── precomp-a.obj │ │ │ │ ├── precomp-b.obj │ │ │ │ ├── precomp-invalid.obj │ │ │ │ ├── precomp.obj │ │ │ │ ├── resource.res │ │ │ │ ├── ret42.lib │ │ │ │ ├── ret42.obj │ │ │ │ ├── ret42.yaml │ │ │ │ ├── std32.lib │ │ │ │ ├── std64.lib │ │ │ │ ├── thinlto-mangled-qux.ll │ │ │ │ ├── weak-external.ll │ │ │ │ ├── weak-external2.ll │ │ │ │ └── weak-external3.ll │ │ │ ├── alternatename.test │ │ │ ├── ar-comdat.test │ │ │ ├── arm-thumb-branch20-error.s │ │ │ ├── arm-thumb-thunks-multipass.s │ │ │ ├── arm-thumb-thunks.s │ │ │ ├── arm64-branch-range.test │ │ │ ├── arm64-delayimport.yaml │ │ │ ├── arm64-dynamicbase.s │ │ │ ├── arm64-import2.test │ │ │ ├── arm64-localimport-align.s │ │ │ ├── arm64-magic.yaml │ │ │ ├── arm64-relocs-imports.test │ │ │ ├── armnt-blx23t.test │ │ │ ├── armnt-branch24t.test │ │ │ ├── armnt-dynamicbase.test │ │ │ ├── armnt-entry-point.test │ │ │ ├── armnt-imports.test │ │ │ ├── armnt-mov32t-exec.test │ │ │ ├── armnt-movt32t.test │ │ │ ├── associative-comdat-mingw.s │ │ │ ├── associative-comdat.s │ │ │ ├── autoimport-arm-code.s │ │ │ ├── autoimport-arm-data.s │ │ │ ├── autoimport-arm64-code.s │ │ │ ├── autoimport-arm64-data.s │ │ │ ├── autoimport-gnu-implib.s │ │ │ ├── autoimport-list-ptrs.s │ │ │ ├── autoimport-refptr.s │ │ │ ├── autoimport-x86.s │ │ │ ├── base.test │ │ │ ├── baserel.test │ │ │ ├── broken-arm-reloc.yaml │ │ │ ├── cl-gl.test │ │ │ ├── combined-resources.test │ │ │ ├── comdat-jumptable.s │ │ │ ├── comdat-weak.test │ │ │ ├── common-alignment.test │ │ │ ├── common-replacement.s │ │ │ ├── common.test │ │ │ ├── conflict-mangled.test │ │ │ ├── conflict.test │ │ │ ├── constant-export.test │ │ │ ├── constant.test │ │ │ ├── could-not-open.test │ │ │ ├── crt-chars.test │ │ │ ├── crt-dyn-initializer-order.test │ │ │ ├── ctors_dtors_priority.s │ │ │ ├── debug-dwarf.test │ │ │ ├── debug-fastlink.test │ │ │ ├── debug-reloc.s │ │ │ ├── debug.test │ │ │ ├── def-export-stdcall.s │ │ │ ├── def-name.test │ │ │ ├── default-alignment.test │ │ │ ├── defparser.test │ │ │ ├── delayimports-armnt.yaml │ │ │ ├── delayimports-error.test │ │ │ ├── delayimports.test │ │ │ ├── delayimports32.test │ │ │ ├── directives.s │ │ │ ├── dll.test │ │ │ ├── dllexport-mingw.s │ │ │ ├── dllexport.s │ │ │ ├── dllimport-gc.test │ │ │ ├── driver-windows.test │ │ │ ├── driver.test │ │ │ ├── duplicate-imp-func.s │ │ │ ├── duplicate.test │ │ │ ├── entry-drectve.test │ │ │ ├── entry-inference-mingw.s │ │ │ ├── entry-inference.test │ │ │ ├── entry-inference2.test │ │ │ ├── entry-inference3.test │ │ │ ├── entry-inference32.test │ │ │ ├── entry-inference332.test │ │ │ ├── entry-inference4.test │ │ │ ├── entry-mangled.test │ │ │ ├── entrylib.ll │ │ │ ├── error-limit.test │ │ │ ├── export-all.s │ │ │ ├── export-arm64.yaml │ │ │ ├── export-armnt.yaml │ │ │ ├── export-exe.test │ │ │ ├── export.test │ │ │ ├── export32.test │ │ │ ├── failifmismatch.test │ │ │ ├── filename-casing.s │ │ │ ├── filetype.test │ │ │ ├── fixed.test │ │ │ ├── force-multiple.test │ │ │ ├── force.test │ │ │ ├── gfids-corrupt.s │ │ │ ├── gfids-fallback.s │ │ │ ├── gfids-gc.s │ │ │ ├── gfids-icf.s │ │ │ ├── gfids-relocations32.s │ │ │ ├── gfids-relocations64.s │ │ │ ├── gnu-weak.test │ │ │ ├── guard-longjmp.s │ │ │ ├── guardcf-align.s │ │ │ ├── guardcf-lto.ll │ │ │ ├── guardcf.test │ │ │ ├── heap.test │ │ │ ├── hello32.test │ │ │ ├── help.test │ │ │ ├── icf-associative.test │ │ │ ├── icf-circular.test │ │ │ ├── icf-circular2.test │ │ │ ├── icf-data.test │ │ │ ├── icf-different-align.test │ │ │ ├── icf-executable.s │ │ │ ├── icf-local.test │ │ │ ├── icf-pdata.s │ │ │ ├── icf-safe.s │ │ │ ├── icf-simple.test │ │ │ ├── icf-vtables.s │ │ │ ├── icf-xdata.s │ │ │ ├── ignore4217.yaml │ │ │ ├── implib-name.test │ │ │ ├── imports-gnu-autoexport.s │ │ │ ├── imports-gnu-only.s │ │ │ ├── imports-gnu.test │ │ │ ├── imports-mangle.test │ │ │ ├── imports.test │ │ │ ├── include-lto.ll │ │ │ ├── include.test │ │ │ ├── include2.test │ │ │ ├── incremental.test │ │ │ ├── internal.test │ │ │ ├── invalid-debug-type.test │ │ │ ├── invalid-debug.test │ │ │ ├── invalid-obj.test │ │ │ ├── invalid-section-number.test │ │ │ ├── largeaddressaware.test │ │ │ ├── lib.test │ │ │ ├── libname-mingw.test │ │ │ ├── libpath.test │ │ │ ├── linkenv.test │ │ │ ├── linkrepro-manifest.test │ │ │ ├── linkrepro-pdb.test │ │ │ ├── linkrepro-res.test │ │ │ ├── linkrepro.test │ │ │ ├── lldmap.test │ │ │ ├── loadcfg.ll │ │ │ ├── loadcfg.test │ │ │ ├── loadcfg32.test │ │ │ ├── locally-imported-arm64.test │ │ │ ├── locally-imported-warn-multiple.s │ │ │ ├── locally-imported.test │ │ │ ├── locally-imported32.test │ │ │ ├── long-section-name.test │ │ │ ├── lto-cache.ll │ │ │ ├── lto-chkstk.ll │ │ │ ├── lto-comdat.ll │ │ │ ├── lto-debug-pass-arguments.ll │ │ │ ├── lto-icf.ll │ │ │ ├── lto-lazy-reference.ll │ │ │ ├── lto-linker-opts.ll │ │ │ ├── lto-new-symbol.ll │ │ │ ├── lto-opt-level.ll │ │ │ ├── lto-parallel.ll │ │ │ ├── lto-reloc-model.ll │ │ │ ├── lto.ll │ │ │ ├── machine.test │ │ │ ├── manifest.test │ │ │ ├── manifestinput-error.test │ │ │ ├── manifestinput-nowarning.test │ │ │ ├── manifestinput.test │ │ │ ├── merge.test │ │ │ ├── no-idata.s │ │ │ ├── nodefaultlib.test │ │ │ ├── noentry.test │ │ │ ├── opt.test │ │ │ ├── options.test │ │ │ ├── order-i386.test │ │ │ ├── order.test │ │ │ ├── out.test │ │ │ ├── output-chars.test │ │ │ ├── pdata-arm64.yaml │ │ │ ├── pdb-comdat.test │ │ │ ├── pdb-debug-f.s │ │ │ ├── pdb-exe-path-dots.test │ │ │ ├── pdb-file-static.test │ │ │ ├── pdb-framedata.yaml │ │ │ ├── pdb-global-gc.yaml │ │ │ ├── pdb-global-hashes.test │ │ │ ├── pdb-globals-dia-func-collision3.test │ │ │ ├── pdb-globals-dia-vfunc-collision.test │ │ │ ├── pdb-globals-dia-vfunc-collision2.test │ │ │ ├── pdb-globals-dia-vfunc-simple.test │ │ │ ├── pdb-globals.test │ │ │ ├── pdb-heapsite.yaml │ │ │ ├── pdb-import-gc.yaml │ │ │ ├── pdb-invalid-func-type.yaml │ │ │ ├── pdb-lib.s │ │ │ ├── pdb-linker-module.test │ │ │ ├── pdb-natvis.test │ │ │ ├── pdb-none.test │ │ │ ├── pdb-options.test │ │ │ ├── pdb-procid-remapping.test │ │ │ ├── pdb-publics-import.test │ │ │ ├── pdb-relative-source-lines.test │ │ │ ├── pdb-safeseh.yaml │ │ │ ├── pdb-same-name.test │ │ │ ├── pdb-scopes.test │ │ │ ├── pdb-secrel-absolute.yaml │ │ │ ├── pdb-source-lines.test │ │ │ ├── pdb-symbol-types.yaml │ │ │ ├── pdb-thunk.yaml │ │ │ ├── pdb-type-server-invalid-signature.yaml │ │ │ ├── pdb-type-server-missing.yaml │ │ │ ├── pdb-type-server-native-errors.yaml │ │ │ ├── pdb-type-server-simple.test │ │ │ ├── pdb.test │ │ │ ├── pdbaltpath.test │ │ │ ├── pending-comdat.s │ │ │ ├── precomp-link.test │ │ │ ├── reloc-arm.test │ │ │ ├── reloc-discarded-dwarf.s │ │ │ ├── reloc-discarded-early.s │ │ │ ├── reloc-discarded-early2.s │ │ │ ├── reloc-discarded.s │ │ │ ├── reloc-oob.yaml │ │ │ ├── reloc-x64.test │ │ │ ├── reloc-x86.test │ │ │ ├── resource.test │ │ │ ├── responsefile.test │ │ │ ├── rsds.test │ │ │ ├── safeseh-diag-feat.test │ │ │ ├── safeseh-md.s │ │ │ ├── safeseh-notable.s │ │ │ ├── safeseh.s │ │ │ ├── savetemps.ll │ │ │ ├── secidx-absolute.s │ │ │ ├── secrel-absolute.s │ │ │ ├── secrel-common.s │ │ │ ├── section-order.test │ │ │ ├── section-size.s │ │ │ ├── section.test │ │ │ ├── seh-comdat.test │ │ │ ├── seh.test │ │ │ ├── sort-debug.test │ │ │ ├── stack.test │ │ │ ├── string-tail-merge.s │ │ │ ├── strtab-size.s │ │ │ ├── subsystem-drectve.test │ │ │ ├── subsystem-inference-mingw.s │ │ │ ├── subsystem-inference.test │ │ │ ├── subsystem-inference2.test │ │ │ ├── subsystem-inference32.test │ │ │ ├── subsystem.test │ │ │ ├── symtab-gc.s │ │ │ ├── symtab.test │ │ │ ├── thinlto-archives.ll │ │ │ ├── thinlto-mangled.ll │ │ │ ├── thinlto.ll │ │ │ ├── thunk-replace.s │ │ │ ├── timestamp.test │ │ │ ├── tls.test │ │ │ ├── tls32.test │ │ │ ├── undefined-symbol-cv.s │ │ │ ├── undefined-symbol.s │ │ │ ├── unwind.test │ │ │ ├── version.test │ │ │ ├── weak-external.test │ │ │ ├── weak-external2.test │ │ │ ├── weak-external3.test │ │ │ ├── wholearchive.s │ │ │ └── wx.s │ │ ├── Driver │ │ │ └── Inputs │ │ │ │ ├── libtest.a │ │ │ │ └── usr │ │ │ │ └── lib │ │ │ │ ├── i386 │ │ │ │ └── libtest.a │ │ │ │ └── libtest.a │ │ ├── ELF │ │ │ ├── Inputs │ │ │ │ ├── aarch64-condb-reloc.s │ │ │ │ ├── aarch64-copy2.s │ │ │ │ ├── aarch64-tls-gdie.s │ │ │ │ ├── aarch64-tls-ie.s │ │ │ │ ├── aarch64-tstbr14-reloc.s │ │ │ │ ├── abs-hidden.s │ │ │ │ ├── abs.s │ │ │ │ ├── abs255.s │ │ │ │ ├── abs256.s │ │ │ │ ├── abs257.s │ │ │ │ ├── allow-multiple-definition.s │ │ │ │ ├── allow-shlib-undefined.s │ │ │ │ ├── amdgpu-kernel-0.s │ │ │ │ ├── amdgpu-kernel-1.s │ │ │ │ ├── archive.s │ │ │ │ ├── archive2.s │ │ │ │ ├── archive3.s │ │ │ │ ├── archive4.s │ │ │ │ ├── arm-attributes1.s │ │ │ │ ├── arm-exidx-cantunwind.s │ │ │ │ ├── arm-long-thunk-converge.lds │ │ │ │ ├── arm-plt-reloc.s │ │ │ │ ├── arm-shared.s │ │ │ │ ├── arm-thumb-blx-targets.s │ │ │ │ ├── arm-thumb-narrow-branch.o │ │ │ │ ├── arm-thumb-narrow-branch.s │ │ │ │ ├── arm-tls-get-addr.s │ │ │ │ ├── arm-vfp-arg-base.s │ │ │ │ ├── arm-vfp-arg-compat.s │ │ │ │ ├── arm-vfp-arg-toolchain.s │ │ │ │ ├── arm-vfp-arg-vfp.s │ │ │ │ ├── as-needed-lazy.s │ │ │ │ ├── bad-archive.a │ │ │ │ ├── comdat-discarded-reloc.s │ │ │ │ ├── comdat.s │ │ │ │ ├── comment-gc.s │ │ │ │ ├── common.s │ │ │ │ ├── compress-debug.s │ │ │ │ ├── conflict-debug.s │ │ │ │ ├── conflict.s │ │ │ │ ├── copy-in-shared.s │ │ │ │ ├── copy-rel-abs.s │ │ │ │ ├── copy-rel-corrupted.s │ │ │ │ ├── copy-rel-large.s │ │ │ │ ├── copy-rel-pie.s │ │ │ │ ├── copy-rel-tls.s │ │ │ │ ├── copy-rel-version.s │ │ │ │ ├── copy-relocation-zero-abs-addr.s │ │ │ │ ├── copy-relocation-zero-nonabs-addr.s │ │ │ │ ├── copy-relocation-zero-nonabs-addr.script │ │ │ │ ├── corrupt-version-reference.so │ │ │ │ ├── ctors_dtors_priority1.s │ │ │ │ ├── ctors_dtors_priority2.s │ │ │ │ ├── ctors_dtors_priority3.s │ │ │ │ ├── discard-merge-unnamed.o │ │ │ │ ├── dso-undef-size.s │ │ │ │ ├── dtrace-r.o │ │ │ │ ├── duplicated-plt-entry.s │ │ │ │ ├── dynamic-list-weak-archive.s │ │ │ │ ├── dynamic-reloc-weak.s │ │ │ │ ├── dynamic-reloc.s │ │ │ │ ├── eh-frame-end.s │ │ │ │ ├── eh-frame-pcrel-overflow.s │ │ │ │ ├── eh-frame.s │ │ │ │ ├── ehframe-relocation.s │ │ │ │ ├── empty-ver.ver │ │ │ │ ├── exclude-libs.ll │ │ │ │ ├── exclude-libs.s │ │ │ │ ├── far-arm-abs.s │ │ │ │ ├── far-arm-thumb-abs.s │ │ │ │ ├── far-long-arm-abs.s │ │ │ │ ├── gc-sections-shared.s │ │ │ │ ├── gc-sections-shared2.s │ │ │ │ ├── gc-sections-weak.s │ │ │ │ ├── gdb-index-multiple-cu-2.s │ │ │ │ ├── gdb-index.s │ │ │ │ ├── gnu-ifunc-dso.s │ │ │ │ ├── gnu-ifunc-gotpcrel.s │ │ │ │ ├── gotpc-relax-und-dso.s │ │ │ │ ├── hexagon-shared.s │ │ │ │ ├── hexagon.s │ │ │ │ ├── hidden-shared-err.s │ │ │ │ ├── hidden-shared-err2.s │ │ │ │ ├── i386-got32x-baseless.elf │ │ │ │ ├── i386-linkonce.s │ │ │ │ ├── i386-pic-plt.s │ │ │ │ ├── i386-reloc-16-error.s │ │ │ │ ├── i386-reloc-16.s │ │ │ │ ├── i386-reloc-8-error.s │ │ │ │ ├── i386-reloc-8.s │ │ │ │ ├── i386-tls-got.s │ │ │ │ ├── icf-absolute.s │ │ │ │ ├── icf-absolute2.s │ │ │ │ ├── icf-merge-sec.s │ │ │ │ ├── icf-merge.s │ │ │ │ ├── icf-merge2.s │ │ │ │ ├── icf-merge3.s │ │ │ │ ├── icf-non-mergeable.s │ │ │ │ ├── icf-safe.s │ │ │ │ ├── icf2.s │ │ │ │ ├── libsearch-dyn.s │ │ │ │ ├── libsearch-st.s │ │ │ │ ├── llvm33-rela-outside-group.o │ │ │ │ ├── local-symbol-in-dso.so │ │ │ │ ├── map-file2.s │ │ │ │ ├── map-file3.s │ │ │ │ ├── map-file4.s │ │ │ │ ├── map-file5.s │ │ │ │ ├── merge.s │ │ │ │ ├── mips-64-got-load.s │ │ │ │ ├── mips-align-err.s │ │ │ │ ├── mips-concatenated-abiflags.o │ │ │ │ ├── mips-dynamic.s │ │ │ │ ├── mips-fnpic.s │ │ │ │ ├── mips-fpic.s │ │ │ │ ├── mips-gp-dips-corrupt-ver.s │ │ │ │ ├── mips-gp-dips-corrupt-ver.so │ │ │ │ ├── mips-gp-disp.so │ │ │ │ ├── mips-gp0-non-zero.o │ │ │ │ ├── mips-mgot-1.s │ │ │ │ ├── mips-mgot-2.s │ │ │ │ ├── mips-micro-gp0-non-zero.o │ │ │ │ ├── mips-micro.s │ │ │ │ ├── mips-n64-gp0-non-zero.o │ │ │ │ ├── mips-nonalloc.s │ │ │ │ ├── mips-options.o │ │ │ │ ├── mips-pic.s │ │ │ │ ├── mips-tls.s │ │ │ │ ├── multiple-cu.s │ │ │ │ ├── no-symtab.o │ │ │ │ ├── plt-aarch64.s │ │ │ │ ├── ppc64-addr16-error.s │ │ │ │ ├── ppc64-bsymbolic-local-def.s │ │ │ │ ├── ppc64-func-global-entry.s │ │ │ │ ├── ppc64-func-local-entry.s │ │ │ │ ├── ppc64-func.s │ │ │ │ ├── ppc64-no-split-stack.s │ │ │ │ ├── ppc64-tls-ie-le.s │ │ │ │ ├── ppc64-tls.s │ │ │ │ ├── ppc64le-quadword-ldst.o │ │ │ │ ├── print-icf.s │ │ │ │ ├── progname-ver.s │ │ │ │ ├── protected-data-access.s │ │ │ │ ├── protected-function-access.s │ │ │ │ ├── protected-shared.s │ │ │ │ ├── relocatable-comdat-multiple.s │ │ │ │ ├── relocatable-ehframe.s │ │ │ │ ├── relocatable-non-alloc.s │ │ │ │ ├── relocatable-tls.s │ │ │ │ ├── relocatable.s │ │ │ │ ├── relocatable2.s │ │ │ │ ├── relocation-copy-alias.s │ │ │ │ ├── relocation-copy-align-common.s │ │ │ │ ├── relocation-copy-align.s │ │ │ │ ├── relocation-copy-arm.s │ │ │ │ ├── relocation-copy-relro.s │ │ │ │ ├── relocation-copy.s │ │ │ │ ├── relocation-relative-absolute.s │ │ │ │ ├── relocation-size-shared.s │ │ │ │ ├── resolution-end.s │ │ │ │ ├── resolution-shared.s │ │ │ │ ├── resolution.s │ │ │ │ ├── rodynamic.s │ │ │ │ ├── shared-ppc64.s │ │ │ │ ├── shared.s │ │ │ │ ├── shared2-x86-64.s │ │ │ │ ├── shared2.s │ │ │ │ ├── shared3.s │ │ │ │ ├── shf-info-link.test │ │ │ │ ├── shlib-undefined-ref.s │ │ │ │ ├── sht-group-gold-r.elf │ │ │ │ ├── sht-group-gold-r.s │ │ │ │ ├── start-lib-comdat.s │ │ │ │ ├── start-lib1.s │ │ │ │ ├── start-lib2.s │ │ │ │ ├── startstop-shared2.s │ │ │ │ ├── symbol-ordering-file-warnings1.s │ │ │ │ ├── symbol-ordering-file-warnings2.s │ │ │ │ ├── symbol-override.s │ │ │ │ ├── symver-archive1.s │ │ │ │ ├── symver-archive2.s │ │ │ │ ├── tls-got-entry.s │ │ │ │ ├── tls-got.s │ │ │ │ ├── tls-in-archive.s │ │ │ │ ├── tls-mismatch.s │ │ │ │ ├── tls-opt-gdie.s │ │ │ │ ├── tls-opt-gdiele-i686.s │ │ │ │ ├── tls-opt-iele-i686-nopic.s │ │ │ │ ├── trace-ar1.s │ │ │ │ ├── trace-ar2.s │ │ │ │ ├── trace-symbols-foo-strong.s │ │ │ │ ├── trace-symbols-foo-weak.s │ │ │ │ ├── uabs_label.s │ │ │ │ ├── undef-bad-debug.s │ │ │ │ ├── undef-debug.s │ │ │ │ ├── undef-shared2.s │ │ │ │ ├── undef-with-plt-addr.s │ │ │ │ ├── undef.s │ │ │ │ ├── undefined-error.s │ │ │ │ ├── unknown-reloc.s │ │ │ │ ├── unresolved-symbols.s │ │ │ │ ├── use-bar.s │ │ │ │ ├── verdef-defaultver.s │ │ │ │ ├── verdef.s │ │ │ │ ├── verneed1.s │ │ │ │ ├── verneed2.s │ │ │ │ ├── version-script-err.script │ │ │ │ ├── version-script-no-warn2.s │ │ │ │ ├── version-script-weak.s │ │ │ │ ├── version-undef-sym.so │ │ │ │ ├── version-use.script │ │ │ │ ├── version-use.so │ │ │ │ ├── versiondef.s │ │ │ │ ├── visibility.s │ │ │ │ ├── warn-common.s │ │ │ │ ├── warn-common2.s │ │ │ │ ├── weak-undef-lazy.s │ │ │ │ ├── whole-archive.s │ │ │ │ ├── wrap-dynamic-undef.s │ │ │ │ ├── wrap-no-real.s │ │ │ │ ├── wrap-no-real2.s │ │ │ │ ├── wrap.s │ │ │ │ ├── writable-sec-plt-reloc.s │ │ │ │ ├── x86-64-relax-offset.s │ │ │ │ ├── x86-64-reloc-16-error.s │ │ │ │ ├── x86-64-reloc-16.s │ │ │ │ ├── x86-64-reloc-8-error.s │ │ │ │ ├── x86-64-reloc-8.s │ │ │ │ ├── x86-64-reloc-error.s │ │ │ │ ├── x86-64-split-stack-extra.s │ │ │ │ ├── x86-64-split-stack-main.s │ │ │ │ ├── x86-64-tls-gd-got.s │ │ │ │ ├── znotext-copy-relocations.s │ │ │ │ ├── znotext-plt-relocations-protected.s │ │ │ │ ├── znotext-plt-relocations.s │ │ │ │ └── ztext.s │ │ │ ├── aarch64-abs16.s │ │ │ ├── aarch64-abs32.s │ │ │ ├── aarch64-abs64-dyn.s │ │ │ ├── aarch64-call26-thunk.s │ │ │ ├── aarch64-condb-reloc.s │ │ │ ├── aarch64-copy.s │ │ │ ├── aarch64-copy2.s │ │ │ ├── aarch64-cortex-a53-843419-abs-mapsyms.s │ │ │ ├── aarch64-cortex-a53-843419-address.s │ │ │ ├── aarch64-cortex-a53-843419-cli.s │ │ │ ├── aarch64-cortex-a53-843419-large.s │ │ │ ├── aarch64-cortex-a53-843419-nopatch.s │ │ │ ├── aarch64-cortex-a53-843419-recognize.s │ │ │ ├── aarch64-cortex-a53-843419-thunk.s │ │ │ ├── aarch64-data-relocs.s │ │ │ ├── aarch64-fpic-abs16.s │ │ │ ├── aarch64-fpic-add_abs_lo12_nc.s │ │ │ ├── aarch64-fpic-adr_prel_lo21.s │ │ │ ├── aarch64-fpic-adr_prel_pg_hi21.s │ │ │ ├── aarch64-fpic-got.s │ │ │ ├── aarch64-fpic-ldst32_abs_lo12_nc.s │ │ │ ├── aarch64-fpic-ldst64_abs_lo12_nc.s │ │ │ ├── aarch64-fpic-ldst8_abs_lo12_nc.s │ │ │ ├── aarch64-fpic-prel16.s │ │ │ ├── aarch64-fpic-prel32.s │ │ │ ├── aarch64-fpic-prel64.s │ │ │ ├── aarch64-gnu-ifunc-nosym.s │ │ │ ├── aarch64-gnu-ifunc-plt.s │ │ │ ├── aarch64-gnu-ifunc.s │ │ │ ├── aarch64-got-reloc.s │ │ │ ├── aarch64-got-relocations.s │ │ │ ├── aarch64-got.s │ │ │ ├── aarch64-hi21-error.s │ │ │ ├── aarch64-jump26-thunk.s │ │ │ ├── aarch64-ldprel-lo19-invalid.s │ │ │ ├── aarch64-lo12-alignment.s │ │ │ ├── aarch64-lo21-error.s │ │ │ ├── aarch64-load-alignment.s │ │ │ ├── aarch64-prel16.s │ │ │ ├── aarch64-prel32.s │ │ │ ├── aarch64-relative.s │ │ │ ├── aarch64-relocs.s │ │ │ ├── aarch64-relro.s │ │ │ ├── aarch64-thunk-pi.s │ │ │ ├── aarch64-thunk-script.s │ │ │ ├── aarch64-thunk-section-location.s │ │ │ ├── aarch64-tls-gdie.s │ │ │ ├── aarch64-tls-gdle.s │ │ │ ├── aarch64-tls-ie.s │ │ │ ├── aarch64-tls-iele.s │ │ │ ├── aarch64-tls-le.s │ │ │ ├── aarch64-tls-pie.s │ │ │ ├── aarch64-tls-static.s │ │ │ ├── aarch64-tlsdesc.s │ │ │ ├── aarch64-tlsld-ldst.s │ │ │ ├── aarch64-tstbr14-reloc.s │ │ │ ├── aarch64-undefined-weak.s │ │ │ ├── abs-conflict.s │ │ │ ├── abs-hidden.s │ │ │ ├── allow-multiple-definition.s │ │ │ ├── allow-shlib-undefined.s │ │ │ ├── amdgpu-elf-flags-err.s │ │ │ ├── amdgpu-elf-flags.s │ │ │ ├── amdgpu-globals.s │ │ │ ├── amdgpu-kernels.s │ │ │ ├── amdgpu-relocs.s │ │ │ ├── archive-fetch.s │ │ │ ├── archive.s │ │ │ ├── arm-abs32-dyn.s │ │ │ ├── arm-attributes.s │ │ │ ├── arm-bl-v6-inrange.s │ │ │ ├── arm-bl-v6.s │ │ │ ├── arm-blx-v4t.s │ │ │ ├── arm-blx.s │ │ │ ├── arm-branch-rangethunk.s │ │ │ ├── arm-branch-undef-weak-plt-thunk.s │ │ │ ├── arm-branch.s │ │ │ ├── arm-copy.s │ │ │ ├── arm-data-prel.s │ │ │ ├── arm-data-relocs.s │ │ │ ├── arm-eabi-version.s │ │ │ ├── arm-execute-only.s │ │ │ ├── arm-exidx-canunwind.s │ │ │ ├── arm-exidx-dedup-and-sentinel.s │ │ │ ├── arm-exidx-dedup.s │ │ │ ├── arm-exidx-discard.s │ │ │ ├── arm-exidx-gc.s │ │ │ ├── arm-exidx-link.s │ │ │ ├── arm-exidx-order.s │ │ │ ├── arm-exidx-output.s │ │ │ ├── arm-exidx-relocatable.s │ │ │ ├── arm-exidx-sentinel-norelocatable.s │ │ │ ├── arm-exidx-sentinel-orphan.s │ │ │ ├── arm-exidx-shared.s │ │ │ ├── arm-fpic-got.s │ │ │ ├── arm-gnu-ifunc-nosym.s │ │ │ ├── arm-gnu-ifunc-plt.s │ │ │ ├── arm-gnu-ifunc.s │ │ │ ├── arm-got-relative.s │ │ │ ├── arm-gotoff.s │ │ │ ├── arm-icf-exidx.s │ │ │ ├── arm-long-thunk-converge.s │ │ │ ├── arm-mov-relocs.s │ │ │ ├── arm-pie-relative.s │ │ │ ├── arm-plt-reloc.s │ │ │ ├── arm-sbrel32.s │ │ │ ├── arm-static-defines.s │ │ │ ├── arm-symbol-ordering-file.s │ │ │ ├── arm-tag-vfp-args-errs.s │ │ │ ├── arm-tag-vfp-args-illegal.s │ │ │ ├── arm-tag-vfp-args.s │ │ │ ├── arm-target1.s │ │ │ ├── arm-target2.s │ │ │ ├── arm-thumb-blx.s │ │ │ ├── arm-thumb-branch-rangethunk.s │ │ │ ├── arm-thumb-branch.s │ │ │ ├── arm-thumb-condbranch-thunk.s │ │ │ ├── arm-thumb-interwork-shared.s │ │ │ ├── arm-thumb-interwork-thunk-range.s │ │ │ ├── arm-thumb-interwork-thunk-v5.s │ │ │ ├── arm-thumb-interwork-thunk.s │ │ │ ├── arm-thumb-mix-range-thunk-os.s │ │ │ ├── arm-thumb-narrow-branch-check.s │ │ │ ├── arm-thumb-no-undefined-thunk.s │ │ │ ├── arm-thumb-nov6thunk.s │ │ │ ├── arm-thumb-plt-range-thunk-os.s │ │ │ ├── arm-thumb-plt-reloc.s │ │ │ ├── arm-thumb-range-thunk-os.s │ │ │ ├── arm-thumb-thunk-empty-pass.s │ │ │ ├── arm-thumb-thunk-symbols.s │ │ │ ├── arm-thumb-undefined-weak-narrow.test │ │ │ ├── arm-thumb-undefined-weak.s │ │ │ ├── arm-thunk-edgecase.s │ │ │ ├── arm-thunk-largesection.s │ │ │ ├── arm-thunk-linkerscript-dotexpr.s │ │ │ ├── arm-thunk-linkerscript-large.s │ │ │ ├── arm-thunk-linkerscript-orphan.s │ │ │ ├── arm-thunk-linkerscript-sort.s │ │ │ ├── arm-thunk-linkerscript.s │ │ │ ├── arm-thunk-multipass.s │ │ │ ├── arm-thunk-nosuitable.s │ │ │ ├── arm-thunk-re-add.s │ │ │ ├── arm-thunk-section-too-large.s │ │ │ ├── arm-thunk-toolargesection.s │ │ │ ├── arm-tls-gd-nonpreemptible.s │ │ │ ├── arm-tls-gd32.s │ │ │ ├── arm-tls-ie32.s │ │ │ ├── arm-tls-ldm32.s │ │ │ ├── arm-tls-le32.s │ │ │ ├── arm-tls-norelax-gd-ie.s │ │ │ ├── arm-tls-norelax-gd-le.s │ │ │ ├── arm-tls-norelax-ie-le.s │ │ │ ├── arm-tls-norelax-ld-le.s │ │ │ ├── arm-undefined-weak.s │ │ │ ├── arm-use-r-output.s │ │ │ ├── arm-v5-reloc-error.s │ │ │ ├── as-needed-lazy.s │ │ │ ├── as-needed-no-reloc.s │ │ │ ├── as-needed-weak.s │ │ │ ├── as-needed.s │ │ │ ├── assignment-archive.s │ │ │ ├── auxiliary.s │ │ │ ├── avoid-empty-program-headers.s │ │ │ ├── bad-archive.s │ │ │ ├── basic-aarch64.s │ │ │ ├── basic-avr.s │ │ │ ├── basic-freebsd.s │ │ │ ├── basic-mips.s │ │ │ ├── basic-ppc.s │ │ │ ├── basic-ppc64.s │ │ │ ├── basic-sparcv9.s │ │ │ ├── basic.s │ │ │ ├── basic32.s │ │ │ ├── basic64be.s │ │ │ ├── bss-start-common.s │ │ │ ├── bss.s │ │ │ ├── bsymbolic-undef.s │ │ │ ├── bsymbolic.s │ │ │ ├── build-id.s │ │ │ ├── cgprofile-bad-clusters.s │ │ │ ├── cgprofile-err.s │ │ │ ├── cgprofile-icf.s │ │ │ ├── cgprofile-obj.s │ │ │ ├── cgprofile-shared-warn.s │ │ │ ├── cgprofile-txt.s │ │ │ ├── cgprofile-txt2.s │ │ │ ├── cgprofile-warn.s │ │ │ ├── chroot.s │ │ │ ├── color-diagnostics.test │ │ │ ├── combrelocs.s │ │ │ ├── comdat-discarded-reloc.s │ │ │ ├── comdat-linkonce.s │ │ │ ├── comdat.s │ │ │ ├── comment-gc.s │ │ │ ├── common-gc.s │ │ │ ├── common-gc2.s │ │ │ ├── common-gc3.s │ │ │ ├── common.s │ │ │ ├── compatible-section-types.s │ │ │ ├── compress-debug-sections-reloc.s │ │ │ ├── compress-debug-sections.s │ │ │ ├── compressed-debug-conflict.s │ │ │ ├── compressed-debug-input-err.s │ │ │ ├── compressed-debug-input.s │ │ │ ├── conflict-debug-variable-file-index.s │ │ │ ├── conflict-debug-variable.s │ │ │ ├── conflict-debug-variable2.s │ │ │ ├── conflict-variable-linkage-name.s │ │ │ ├── conflict.s │ │ │ ├── copy-errors.s │ │ │ ├── copy-in-shared.s │ │ │ ├── copy-rel-abs.s │ │ │ ├── copy-rel-corrupted.s │ │ │ ├── copy-rel-large.s │ │ │ ├── copy-rel-pie-error.s │ │ │ ├── copy-rel-pie.s │ │ │ ├── copy-rel-tls.s │ │ │ ├── copy-rel-version.s │ │ │ ├── copy-relocation-zero-abs-addr.s │ │ │ ├── copy-relocation-zero-nonabs-addr.s │ │ │ ├── corrupted-version-reference.s │ │ │ ├── cref.s │ │ │ ├── ctors_dtors_priority.s │ │ │ ├── debug-gc.s │ │ │ ├── debug-gnu-pubnames.s │ │ │ ├── debug-line-str.s │ │ │ ├── debug-relocation-none.test │ │ │ ├── default-fill.s │ │ │ ├── default-output.s │ │ │ ├── defined-tls_get_addr.s │ │ │ ├── defsym-dynamic.s │ │ │ ├── defsym-reserved-syms.s │ │ │ ├── defsym.s │ │ │ ├── discard-locals.s │ │ │ ├── discard-merge-locals.s │ │ │ ├── discard-merge-unnamed.s │ │ │ ├── discard-none.s │ │ │ ├── dont-export-hidden.s │ │ │ ├── driver-access.test │ │ │ ├── driver.test │ │ │ ├── dso-undef-size.s │ │ │ ├── dso_handle.s │ │ │ ├── dt_flags.s │ │ │ ├── dt_tags.s │ │ │ ├── dtrace-r.test │ │ │ ├── duplicated-plt-entry.s │ │ │ ├── duplicated-synthetic-sym.s │ │ │ ├── dynamic-got-rela.s │ │ │ ├── dynamic-got.s │ │ │ ├── dynamic-linker.s │ │ │ ├── dynamic-list-archive.s │ │ │ ├── dynamic-list-empty.s │ │ │ ├── dynamic-list-extern.s │ │ │ ├── dynamic-list-locals.s │ │ │ ├── dynamic-list-preempt.s │ │ │ ├── dynamic-list-unexpected-end.s │ │ │ ├── dynamic-list-weak-archive.s │ │ │ ├── dynamic-list-wildcard.s │ │ │ ├── dynamic-list.s │ │ │ ├── dynamic-no-rosegment.s │ │ │ ├── dynamic-reloc-in-ro.s │ │ │ ├── dynamic-reloc-index.s │ │ │ ├── dynamic-reloc-weak.s │ │ │ ├── dynamic-reloc.s │ │ │ ├── dynamic.s │ │ │ ├── dynstr-no-rosegment.s │ │ │ ├── dynsym-no-rosegment.s │ │ │ ├── dynsym-pie.s │ │ │ ├── early-exit-for-bad-paths.s │ │ │ ├── edata-etext.s │ │ │ ├── edata-no-bss.s │ │ │ ├── eh-align-cie.s │ │ │ ├── eh-frame-begin-end.s │ │ │ ├── eh-frame-dyn-rel.s │ │ │ ├── eh-frame-gc.s │ │ │ ├── eh-frame-gc2.s │ │ │ ├── eh-frame-hdr-abs-fde.s │ │ │ ├── eh-frame-hdr-augmentation.s │ │ │ ├── eh-frame-hdr-icf-fde.s │ │ │ ├── eh-frame-hdr-icf.s │ │ │ ├── eh-frame-hdr-no-out2.s │ │ │ ├── eh-frame-hdr.s │ │ │ ├── eh-frame-marker.s │ │ │ ├── eh-frame-merge.s │ │ │ ├── eh-frame-multilpe-cie.s │ │ │ ├── eh-frame-negative-pcrel-sdata2.s │ │ │ ├── eh-frame-negative-pcrel-sdata4.s │ │ │ ├── eh-frame-negative-pcrel-sdata8.s │ │ │ ├── eh-frame-padding-no-rosegment.s │ │ │ ├── eh-frame-pcrel-overflow.s │ │ │ ├── eh-frame-plt.s │ │ │ ├── eh-frame-rel.s │ │ │ ├── eh-frame-type.test │ │ │ ├── eh-frame-value-format1.s │ │ │ ├── eh-frame-value-format2.s │ │ │ ├── eh-frame-value-format3.s │ │ │ ├── eh-frame-value-format4.s │ │ │ ├── eh-frame-value-format5.s │ │ │ ├── eh-frame-value-format6.s │ │ │ ├── eh-frame-value-format7.s │ │ │ ├── eh-frame-value-format8.s │ │ │ ├── eh-frame-value-format9.s │ │ │ ├── eh-frame.s │ │ │ ├── ehdr_start.s │ │ │ ├── ehframe-relocation.s │ │ │ ├── elf-header.s │ │ │ ├── emit-relocs-eh-frame.s │ │ │ ├── emit-relocs-gc.s │ │ │ ├── emit-relocs-icf.s │ │ │ ├── emit-relocs-icf1.s │ │ │ ├── emit-relocs-icf2.s │ │ │ ├── emit-relocs-merge.s │ │ │ ├── emit-relocs-mergeable-i386.s │ │ │ ├── emit-relocs-mergeable.s │ │ │ ├── emit-relocs-shared.s │ │ │ ├── emit-relocs.s │ │ │ ├── empty-archive.s │ │ │ ├── empty-pack-dyn-relocs.s │ │ │ ├── empty-pt-load.s │ │ │ ├── empty-ver.s │ │ │ ├── empty-ver2.s │ │ │ ├── emulation-aarch64.s │ │ │ ├── emulation-arm.s │ │ │ ├── emulation-mips.s │ │ │ ├── emulation-ppc.s │ │ │ ├── emulation-x86.s │ │ │ ├── end-abs.s │ │ │ ├── end-preserve.s │ │ │ ├── end-update.s │ │ │ ├── end.s │ │ │ ├── entry.s │ │ │ ├── error-limit.test │ │ │ ├── exclude-libs.s │ │ │ ├── exclude.s │ │ │ ├── executable-undefined-ignoreall.s │ │ │ ├── executable-undefined-protected-ignoreall.s │ │ │ ├── execute-only-mixed-data.s │ │ │ ├── execute-only.s │ │ │ ├── export-dynamic-symbol.s │ │ │ ├── fatal-warnings.s │ │ │ ├── file-access.s │ │ │ ├── fill-trap-ppc.s │ │ │ ├── fill-trap.s │ │ │ ├── filter.s │ │ │ ├── format-binary-non-ascii.s │ │ │ ├── format-binary.test │ │ │ ├── gc-absolute.s │ │ │ ├── gc-collect-undefined.s │ │ │ ├── gc-debuginfo-tls.s │ │ │ ├── gc-merge-local-sym.s │ │ │ ├── gc-sections-alloc.s │ │ │ ├── gc-sections-eh.s │ │ │ ├── gc-sections-implicit-addend.s │ │ │ ├── gc-sections-keep-shared-start.s │ │ │ ├── gc-sections-linker-defined-symbol.s │ │ │ ├── gc-sections-local-sym.s │ │ │ ├── gc-sections-lsda.s │ │ │ ├── gc-sections-merge-addend.s │ │ │ ├── gc-sections-merge-implicit-addend.s │ │ │ ├── gc-sections-merge.s │ │ │ ├── gc-sections-metadata-startstop.s │ │ │ ├── gc-sections-metadata.s │ │ │ ├── gc-sections-metadata2.s │ │ │ ├── gc-sections-no-undef-error.s │ │ │ ├── gc-sections-non-alloc-to-merge.s │ │ │ ├── gc-sections-print.s │ │ │ ├── gc-sections-protected.s │ │ │ ├── gc-sections-shared.s │ │ │ ├── gc-sections-synthetic.s │ │ │ ├── gc-sections-undefined.s │ │ │ ├── gc-sections-weak.s │ │ │ ├── gc-sections.s │ │ │ ├── gdb-index-base-addr.s │ │ │ ├── gdb-index-empty.s │ │ │ ├── gdb-index-gc-sections.s │ │ │ ├── gdb-index-multiple-cu-2.s │ │ │ ├── gdb-index-multiple-cu.s │ │ │ ├── gdb-index-no-debug.s │ │ │ ├── gdb-index-noranges.s │ │ │ ├── gdb-index-ranges.s │ │ │ ├── gdb-index-tls.s │ │ │ ├── gdb-index.s │ │ │ ├── global-offset-table-position-aarch64.s │ │ │ ├── global-offset-table-position-arm.s │ │ │ ├── global-offset-table-position-i386.s │ │ │ ├── global-offset-table-position-mips.s │ │ │ ├── global-offset-table-position.s │ │ │ ├── global_offset_table.s │ │ │ ├── global_offset_table_shared.s │ │ │ ├── gnu-hash-table-copy.s │ │ │ ├── gnu-hash-table-many.s │ │ │ ├── gnu-hash-table-rwsegment.s │ │ │ ├── gnu-hash-table.s │ │ │ ├── gnu-ifunc-dso.s │ │ │ ├── gnu-ifunc-dynsym.s │ │ │ ├── gnu-ifunc-dyntags.s │ │ │ ├── gnu-ifunc-gotpcrel.s │ │ │ ├── gnu-ifunc-i386.s │ │ │ ├── gnu-ifunc-nosym-i386.s │ │ │ ├── gnu-ifunc-nosym.s │ │ │ ├── gnu-ifunc-plt-i386.s │ │ │ ├── gnu-ifunc-plt.s │ │ │ ├── gnu-ifunc-relative.s │ │ │ ├── gnu-ifunc-shared.s │ │ │ ├── gnu-ifunc.s │ │ │ ├── gnu-unique.s │ │ │ ├── gnustack.s │ │ │ ├── got-aarch64.s │ │ │ ├── got-i386.s │ │ │ ├── got-plt-header.s │ │ │ ├── got.s │ │ │ ├── got32-i386-pie-rw.s │ │ │ ├── got32-i386.s │ │ │ ├── got32x-i386.s │ │ │ ├── gotpc-relax-nopic.s │ │ │ ├── gotpc-relax-und-dso.s │ │ │ ├── gotpc-relax.s │ │ │ ├── gotpcrelx.s │ │ │ ├── help.s │ │ │ ├── hexagon-eflag.s │ │ │ ├── hexagon-shared.s │ │ │ ├── hexagon.s │ │ │ ├── hidden-shared-err.s │ │ │ ├── hidden-vis-shared.s │ │ │ ├── i386-debug-noabs.test │ │ │ ├── i386-got-and-copy.s │ │ │ ├── i386-got-value.s │ │ │ ├── i386-gotoff-shared.s │ │ │ ├── i386-gotpc-dynamic.s │ │ │ ├── i386-gotpc.s │ │ │ ├── i386-linkonce.s │ │ │ ├── i386-merge.s │ │ │ ├── i386-pc16.test │ │ │ ├── i386-pc8-pc16-addend.s │ │ │ ├── i386-pc8.s │ │ │ ├── i386-pic-plt.s │ │ │ ├── i386-relative.s │ │ │ ├── i386-relax-reloc.s │ │ │ ├── i386-reloc-16-large-addend.s │ │ │ ├── i386-reloc-16.s │ │ │ ├── i386-reloc-8-large-addend.s │ │ │ ├── i386-reloc-8.s │ │ │ ├── i386-reloc-large-addend.s │ │ │ ├── i386-reloc-range.s │ │ │ ├── i386-reloc8-reloc16-addend.s │ │ │ ├── i386-retpoline-nopic-linkerscript.s │ │ │ ├── i386-retpoline-nopic.s │ │ │ ├── i386-retpoline-pic-linkerscript.s │ │ │ ├── i386-retpoline-pic.s │ │ │ ├── i386-tls-got.s │ │ │ ├── i386-tls-ie-shared.s │ │ │ ├── i386-tls-initial-exec-local.s │ │ │ ├── icf-absolute.s │ │ │ ├── icf-absolute2.s │ │ │ ├── icf-c-identifier.s │ │ │ ├── icf-comdat.s │ │ │ ├── icf-different-output-sections.s │ │ │ ├── icf-i386.s │ │ │ ├── icf-keep-unique.s │ │ │ ├── icf-link-order.s │ │ │ ├── icf-many-sections.s │ │ │ ├── icf-merge-sec.s │ │ │ ├── icf-merge.s │ │ │ ├── icf-merge2.s │ │ │ ├── icf-merged-sections.s │ │ │ ├── icf-non-mergeable.s │ │ │ ├── icf-none.s │ │ │ ├── icf-relro.s │ │ │ ├── icf-safe.s │ │ │ ├── icf-symbol-type.s │ │ │ ├── icf1.s │ │ │ ├── icf10.test │ │ │ ├── icf11.test │ │ │ ├── icf12.s │ │ │ ├── icf13.s │ │ │ ├── icf14.s │ │ │ ├── icf15.s │ │ │ ├── icf16.s │ │ │ ├── icf17.s │ │ │ ├── icf2.s │ │ │ ├── icf3.s │ │ │ ├── icf4.s │ │ │ ├── icf5.s │ │ │ ├── icf6.s │ │ │ ├── icf7.s │ │ │ ├── icf8.s │ │ │ ├── icf9.s │ │ │ ├── ignore-plugin.test │ │ │ ├── image-base.s │ │ │ ├── incompatible-ar-first.s │ │ │ ├── incompatible-section-flags.s │ │ │ ├── incompatible-section-types2.s │ │ │ ├── incompatible.s │ │ │ ├── init-fini-progbits.s │ │ │ ├── init-fini.s │ │ │ ├── init_fini_priority.s │ │ │ ├── invalid-cie-length.s │ │ │ ├── invalid-cie-length2.s │ │ │ ├── invalid-cie-length3.s │ │ │ ├── invalid-cie-length4.s │ │ │ ├── invalid-cie-length5.s │ │ │ ├── invalid-cie-reference.s │ │ │ ├── invalid-dynamic-list.test │ │ │ ├── invalid-eh-frame.s │ │ │ ├── invalid-eh-frame2.s │ │ │ ├── invalid-eh-frame3.s │ │ │ ├── invalid-eh-frame4.s │ │ │ ├── invalid-eh-frame5.s │ │ │ ├── invalid-eh-frame6.s │ │ │ ├── invalid-eh-frame7.s │ │ │ ├── invalid-eh-frame8.s │ │ │ ├── invalid-eh-frame9.s │ │ │ ├── invalid-fde-rel.s │ │ │ ├── invalid-linkerscript.test │ │ │ ├── invalid-local-symbol-in-dso.s │ │ │ ├── invalid-relocations.test │ │ │ ├── invalid-undef-section-symbol.test │ │ │ ├── invalid │ │ │ │ ├── Inputs │ │ │ │ │ ├── binding.elf │ │ │ │ │ ├── broken-relaxation-x64.elf │ │ │ │ │ ├── common-symbol-alignment.elf │ │ │ │ │ ├── common-symbol-alignment2.elf │ │ │ │ │ ├── data-encoding.a │ │ │ │ │ ├── dynamic-section-sh_size.elf │ │ │ │ │ ├── file-class.a │ │ │ │ │ ├── invalid-e_shnum.elf │ │ │ │ │ ├── mips-invalid-options-descriptor.elf │ │ │ │ │ ├── multiple-eh-relocs.elf │ │ │ │ │ ├── section-alignment-notpow2.elf │ │ │ │ │ ├── section-index.elf │ │ │ │ │ ├── symbol-index.elf │ │ │ │ │ ├── symbol-name-offset.elf │ │ │ │ │ ├── symtab-sh_info.elf │ │ │ │ │ ├── symtab-sh_info2.elf │ │ │ │ │ ├── symtab-sh_info3.elf │ │ │ │ │ ├── tls-symbol.elf │ │ │ │ │ └── undefined-local-symbol-in-dso.so │ │ │ │ ├── broken-relaxation-x64.test │ │ │ │ ├── comdat-broken.test │ │ │ │ ├── common-symbol-alignment.s │ │ │ │ ├── dynamic-section-size.s │ │ │ │ ├── eh-frame-hdr-no-out.s │ │ │ │ ├── ehframe-broken-relocation.test │ │ │ │ ├── executable.s │ │ │ │ ├── invalid-debug-relocations.test │ │ │ │ ├── invalid-e_shnum.s │ │ │ │ ├── invalid-elf.test │ │ │ │ ├── invalid-relocation-x64.test │ │ │ │ ├── invalid-soname.test │ │ │ │ ├── linkorder-invalid-sec.test │ │ │ │ ├── linkorder-invalid-sec2.test │ │ │ │ ├── merge-invalid-size.s │ │ │ │ ├── merge-zero-size.test │ │ │ │ ├── mips-invalid-options-descriptor.s │ │ │ │ ├── non-terminated-string.test │ │ │ │ ├── reloc-section-reordered.test │ │ │ │ ├── section-alignment.test │ │ │ │ ├── section-alignment2.s │ │ │ │ ├── sht-group-wrong-section.test │ │ │ │ ├── sht-group.test │ │ │ │ ├── symbol-index.s │ │ │ │ ├── symbol-name.s │ │ │ │ ├── symtab-sh-info.s │ │ │ │ ├── symtab-symbols.test │ │ │ │ ├── tls-symbol.s │ │ │ │ ├── undefined-local-symbol-in-dso.test │ │ │ │ └── verdef-no-symtab.test │ │ │ ├── just-symbols-cref.s │ │ │ ├── just-symbols.s │ │ │ ├── lazy-arch-conflict.s │ │ │ ├── libsearch.s │ │ │ ├── linkerscript │ │ │ │ ├── Inputs │ │ │ │ │ ├── addr.s │ │ │ │ │ ├── align.s │ │ │ │ │ ├── alignof.s │ │ │ │ │ ├── at2.s │ │ │ │ │ ├── at3.s │ │ │ │ │ ├── at6.s │ │ │ │ │ ├── at7.s │ │ │ │ │ ├── at8.s │ │ │ │ │ ├── comdat-gc.s │ │ │ │ │ ├── common-filespec1.s │ │ │ │ │ ├── common-filespec2.s │ │ │ │ │ ├── compress-debug-sections.s │ │ │ │ │ ├── copy-rel-symbol-value.s │ │ │ │ │ ├── data-commands.s │ │ │ │ │ ├── data-segment-relro.s │ │ │ │ │ ├── define.s │ │ │ │ │ ├── eh-frame-reloc-out-of-range.s │ │ │ │ │ ├── exclude-multiple1.s │ │ │ │ │ ├── exclude-multiple2.s │ │ │ │ │ ├── extend-pt-load.s │ │ │ │ │ ├── filename-spec.s │ │ │ │ │ ├── fill.s │ │ │ │ │ ├── include.s │ │ │ │ │ ├── insert-after.s │ │ │ │ │ ├── insert-after.script │ │ │ │ │ ├── keep.s │ │ │ │ │ ├── lazy-symbols.s │ │ │ │ │ ├── libsearch-dyn.s │ │ │ │ │ ├── libsearch-st.s │ │ │ │ │ ├── map-file2.s │ │ │ │ │ ├── merge-sections-reloc.s │ │ │ │ │ ├── notinclude.s │ │ │ │ │ ├── provide-shared.s │ │ │ │ │ ├── provide-shared2.s │ │ │ │ │ ├── sections-va-overflow.s │ │ │ │ │ ├── segment-start.script │ │ │ │ │ ├── shared.s │ │ │ │ │ ├── sort-nested.s │ │ │ │ │ ├── sort.s │ │ │ │ │ ├── symbol-reserved.script │ │ │ │ │ └── synthetic-symbols.s │ │ │ │ ├── absolute-expr.test │ │ │ │ ├── absolute.s │ │ │ │ ├── absolute2.s │ │ │ │ ├── addr-zero.test │ │ │ │ ├── addr.test │ │ │ │ ├── address-expr-symbols.s │ │ │ │ ├── align-empty.test │ │ │ │ ├── align-r.test │ │ │ │ ├── align-section-offset.test │ │ │ │ ├── align-section.test │ │ │ │ ├── align1.test │ │ │ │ ├── align2.test │ │ │ │ ├── align3.test │ │ │ │ ├── align4.test │ │ │ │ ├── align5.test │ │ │ │ ├── alignof.test │ │ │ │ ├── alternate-sections.s │ │ │ │ ├── arm-exidx-order.test │ │ │ │ ├── arm-exidx-phdrs.test │ │ │ │ ├── arm-exidx-sentinel-and-assignment.s │ │ │ │ ├── arm-lscript.test │ │ │ │ ├── assert.s │ │ │ │ ├── at-addr.s │ │ │ │ ├── at-self-reference.s │ │ │ │ ├── at.s │ │ │ │ ├── at2.test │ │ │ │ ├── at3.test │ │ │ │ ├── at4.s │ │ │ │ ├── at5.test │ │ │ │ ├── at6.test │ │ │ │ ├── at7.test │ │ │ │ ├── at8.test │ │ │ │ ├── broken-memory-declaration.s │ │ │ │ ├── bss-fill.test │ │ │ │ ├── comdat-gc.s │ │ │ │ ├── common-assign.s │ │ │ │ ├── common-exclude.s │ │ │ │ ├── common-filespec.test │ │ │ │ ├── common.s │ │ │ │ ├── compress-debug-sections-custom.s │ │ │ │ ├── compress-debug-sections.s │ │ │ │ ├── constructor.test │ │ │ │ ├── copy-rel-symbol-value-err.s │ │ │ │ ├── copy-rel-symbol-value.s │ │ │ │ ├── data-commands-gc.s │ │ │ │ ├── data-commands1.test │ │ │ │ ├── data-commands2.test │ │ │ │ ├── data-segment-relro.test │ │ │ │ ├── define.test │ │ │ │ ├── defsym.s │ │ │ │ ├── diag1.test │ │ │ │ ├── diag2.test │ │ │ │ ├── diag3.test │ │ │ │ ├── diag4.test │ │ │ │ ├── diag5.test │ │ │ │ ├── diag6.test │ │ │ │ ├── discard-gnu-hash.s │ │ │ │ ├── discard-interp.test │ │ │ │ ├── discard-print-gc.s │ │ │ │ ├── discard-section-err.s │ │ │ │ ├── discard-section-metadata.s │ │ │ │ ├── discard-section.s │ │ │ │ ├── dot-is-not-abs.s │ │ │ │ ├── double-bss.test │ │ │ │ ├── dynamic-sym.s │ │ │ │ ├── dynamic.s │ │ │ │ ├── early-assign-symbol.s │ │ │ │ ├── edata-etext.s │ │ │ │ ├── eh-frame-emit-relocs.s │ │ │ │ ├── eh-frame-hdr.s │ │ │ │ ├── eh-frame-reloc-out-of-range.test │ │ │ │ ├── eh-frame.s │ │ │ │ ├── ehdr_start.s │ │ │ │ ├── emit-reloc-section-names.s │ │ │ │ ├── emit-reloc.s │ │ │ │ ├── emit-relocs-discard.s │ │ │ │ ├── emit-relocs-ehframe-discard.s │ │ │ │ ├── emit-relocs-multiple.s │ │ │ │ ├── empty-link-order.test │ │ │ │ ├── empty-load.s │ │ │ │ ├── empty-section-size.test │ │ │ │ ├── empty-sections-expressions.s │ │ │ │ ├── empty-synthetic-removed-flags.s │ │ │ │ ├── empty-tls.test │ │ │ │ ├── entry.s │ │ │ │ ├── exclude-multiple.s │ │ │ │ ├── excludefile.s │ │ │ │ ├── exidx-crash.test │ │ │ │ ├── expr-invalid-sec.test │ │ │ │ ├── expr-sections.test │ │ │ │ ├── extend-pt-load1.test │ │ │ │ ├── extend-pt-load2.test │ │ │ │ ├── extend-pt-load3.test │ │ │ │ ├── filename-spec.s │ │ │ │ ├── fill-exec-sections.s │ │ │ │ ├── fill.test │ │ │ │ ├── got-write-offset.s │ │ │ │ ├── group.s │ │ │ │ ├── header-addr.test │ │ │ │ ├── header-phdr.test │ │ │ │ ├── header-phdr2.s │ │ │ │ ├── huge-temporary-file.s │ │ │ │ ├── i386-sections-max-va-overflow.s │ │ │ │ ├── icf.s │ │ │ │ ├── image-base.s │ │ │ │ ├── implicit-program-header.test │ │ │ │ ├── include-cycle.s │ │ │ │ ├── info-section-type.s │ │ │ │ ├── input-order.s │ │ │ │ ├── input-sec-dup.s │ │ │ │ ├── insert-after.test │ │ │ │ ├── insert-before.test │ │ │ │ ├── insert-broken.test │ │ │ │ ├── lazy-symbols.test │ │ │ │ ├── linker-script-in-search-path.s │ │ │ │ ├── linkerscript.s │ │ │ │ ├── lma-overflow.test │ │ │ │ ├── loadaddr.s │ │ │ │ ├── locationcountererr.test │ │ │ │ ├── locationcountererr2.s │ │ │ │ ├── map-file.test │ │ │ │ ├── map-file2.test │ │ │ │ ├── memory-at.test │ │ │ │ ├── memory-data-commands.test │ │ │ │ ├── memory-err.s │ │ │ │ ├── memory-include.test │ │ │ │ ├── memory-loc-counter.test │ │ │ │ ├── memory-region-alignment.test │ │ │ │ ├── memory.s │ │ │ │ ├── memory2.s │ │ │ │ ├── memory3.s │ │ │ │ ├── memory4.test │ │ │ │ ├── memory5.test │ │ │ │ ├── merge-header-load.s │ │ │ │ ├── merge-sections-reloc.s │ │ │ │ ├── merge-sections-syms.s │ │ │ │ ├── merge-sections.s │ │ │ │ ├── multi-sections-constraint.s │ │ │ │ ├── multiple-tbss.s │ │ │ │ ├── no-pt-load.test │ │ │ │ ├── no-space.s │ │ │ │ ├── nobits-offset.s │ │ │ │ ├── noload.s │ │ │ │ ├── non-absolute.s │ │ │ │ ├── non-absolute2.test │ │ │ │ ├── non-alloc-segment.s │ │ │ │ ├── non-alloc.s │ │ │ │ ├── numbers.s │ │ │ │ ├── obj-symbol-value.s │ │ │ │ ├── openbsd-bootdata.test │ │ │ │ ├── openbsd-randomize.s │ │ │ │ ├── openbsd-wxneeded.test │ │ │ │ ├── operators.test │ │ │ │ ├── orphan-align.s │ │ │ │ ├── orphan-discard.s │ │ │ │ ├── orphan-end.s │ │ │ │ ├── orphan-first-cmd.test │ │ │ │ ├── orphan-phdrs.s │ │ │ │ ├── orphan-report.s │ │ │ │ ├── orphan.s │ │ │ │ ├── orphans.s │ │ │ │ ├── out-of-order.s │ │ │ │ ├── output-section-include.test │ │ │ │ ├── output-too-large.s │ │ │ │ ├── outputarch.test │ │ │ │ ├── outsections-addr.s │ │ │ │ ├── overlapping-sections.s │ │ │ │ ├── overlay-reject.test │ │ │ │ ├── overlay-reject2.test │ │ │ │ ├── overlay.test │ │ │ │ ├── page-size-align.test │ │ │ │ ├── page-size.s │ │ │ │ ├── parse-section-in-addr.test │ │ │ │ ├── phdr-check.s │ │ │ │ ├── phdrs-flags.s │ │ │ │ ├── phdrs.s │ │ │ │ ├── provide-empty-section.s │ │ │ │ ├── provide-shared.s │ │ │ │ ├── provide-shared2.s │ │ │ │ ├── pt-interp.test │ │ │ │ ├── pt_gnu_eh_frame.s │ │ │ │ ├── region-alias.s │ │ │ │ ├── relocatable-discard.s │ │ │ │ ├── repsection-symbol.s │ │ │ │ ├── repsection-va.s │ │ │ │ ├── rosegment.test │ │ │ │ ├── searchdir.s │ │ │ │ ├── section-align.s │ │ │ │ ├── section-include.test │ │ │ │ ├── section-metadata.s │ │ │ │ ├── section-metadata2.s │ │ │ │ ├── sections-constraint.s │ │ │ │ ├── sections-constraint2.s │ │ │ │ ├── sections-constraint3.s │ │ │ │ ├── sections-constraint4.s │ │ │ │ ├── sections-constraint5.s │ │ │ │ ├── sections-gc.s │ │ │ │ ├── sections-gc2.s │ │ │ │ ├── sections-keep.s │ │ │ │ ├── sections-max-va-overflow.s │ │ │ │ ├── sections-padding.s │ │ │ │ ├── sections-sort.s │ │ │ │ ├── sections-va-overflow.test │ │ │ │ ├── sections.s │ │ │ │ ├── segment-headers.s │ │ │ │ ├── segment-none.s │ │ │ │ ├── segment-start.s │ │ │ │ ├── sizeof.s │ │ │ │ ├── sizeofheaders.s │ │ │ │ ├── sort-constructors.test │ │ │ │ ├── sort-init.s │ │ │ │ ├── sort-nested.s │ │ │ │ ├── sort-non-script.s │ │ │ │ ├── sort.s │ │ │ │ ├── sort2.s │ │ │ │ ├── start-end.test │ │ │ │ ├── subalign.s │ │ │ │ ├── symbol-assignexpr.s │ │ │ │ ├── symbol-conflict.s │ │ │ │ ├── symbol-memoryexpr.s │ │ │ │ ├── symbol-only-flags.test │ │ │ │ ├── symbol-only.test │ │ │ │ ├── symbol-ordering-file.s │ │ │ │ ├── symbol-ordering-file2.s │ │ │ │ ├── symbol-reserved.s │ │ │ │ ├── symbolreferenced.s │ │ │ │ ├── symbols-non-alloc.test │ │ │ │ ├── symbols.s │ │ │ │ ├── synthetic-relsec-layout.s │ │ │ │ ├── synthetic-symbols1.test │ │ │ │ ├── synthetic-symbols2.test │ │ │ │ ├── synthetic-symbols3.test │ │ │ │ ├── synthetic-symbols4.test │ │ │ │ ├── target.s │ │ │ │ ├── tbss.s │ │ │ │ ├── thunk-gen-mips.s │ │ │ │ ├── ttext-script.s │ │ │ │ ├── undef.s │ │ │ │ ├── unused-synthetic.s │ │ │ │ ├── unused-synthetic2.test │ │ │ │ ├── va.s │ │ │ │ ├── version-linker-symbol.s │ │ │ │ ├── version-script.s │ │ │ │ ├── visibility.s │ │ │ │ ├── wildcards.s │ │ │ │ └── wildcards2.s │ │ │ ├── lit.local.cfg │ │ │ ├── llvm33-rela-outside-group.s │ │ │ ├── local-dynamic.s │ │ │ ├── local-got-pie.s │ │ │ ├── local-got-shared.s │ │ │ ├── local-got.s │ │ │ ├── local-symbols-order.s │ │ │ ├── local-undefined-symbol.s │ │ │ ├── local-ver-preemptible.s │ │ │ ├── local.s │ │ │ ├── lto-plugin-ignore.s │ │ │ ├── lto │ │ │ │ ├── Inputs │ │ │ │ │ ├── absolute.s │ │ │ │ │ ├── archive-2.ll │ │ │ │ │ ├── archive-3.ll │ │ │ │ │ ├── archive.ll │ │ │ │ │ ├── asmundef.ll │ │ │ │ │ ├── available-externally.ll │ │ │ │ │ ├── cache.ll │ │ │ │ │ ├── comdat.s │ │ │ │ │ ├── common.s │ │ │ │ │ ├── common3.ll │ │ │ │ │ ├── data-ordering-lto.ll │ │ │ │ │ ├── defsym-bar.ll │ │ │ │ │ ├── drop-debug-info.bc │ │ │ │ │ ├── drop-linkage.ll │ │ │ │ │ ├── duplicated-name.ll │ │ │ │ │ ├── dynsym.s │ │ │ │ │ ├── i386-empty.ll │ │ │ │ │ ├── internalize-exportdyn.ll │ │ │ │ │ ├── internalize-undef.ll │ │ │ │ │ ├── irmover-error.ll │ │ │ │ │ ├── lazy-internal.ll │ │ │ │ │ ├── libcall-archive.ll │ │ │ │ │ ├── libcall-archive.s │ │ │ │ │ ├── linker-script-symbols-ipo.ll │ │ │ │ │ ├── linkonce-odr.ll │ │ │ │ │ ├── linkonce.ll │ │ │ │ │ ├── relocation-model-pic.ll │ │ │ │ │ ├── resolution.s │ │ │ │ │ ├── sample-profile.prof │ │ │ │ │ ├── save-temps.ll │ │ │ │ │ ├── shared.s │ │ │ │ │ ├── start-lib1.ll │ │ │ │ │ ├── start-lib2.ll │ │ │ │ │ ├── symbol-ordering-lto.ll │ │ │ │ │ ├── thin1.ll │ │ │ │ │ ├── thin2.ll │ │ │ │ │ ├── thinlto.ll │ │ │ │ │ ├── thinlto_empty.ll │ │ │ │ │ ├── tls-mixed.s │ │ │ │ │ ├── type-merge.ll │ │ │ │ │ ├── type-merge2.ll │ │ │ │ │ ├── undef-mixed.s │ │ │ │ │ ├── unnamed-addr-drop.ll │ │ │ │ │ ├── unnamed-addr-lib.s │ │ │ │ │ ├── visibility.s │ │ │ │ │ ├── weakodr-visibility.ll │ │ │ │ │ └── wrap-bar.ll │ │ │ │ ├── abs-resol.ll │ │ │ │ ├── amdgcn.ll │ │ │ │ ├── archive-2.ll │ │ │ │ ├── archive-3.ll │ │ │ │ ├── archive-no-index.ll │ │ │ │ ├── archive.ll │ │ │ │ ├── asmundef.ll │ │ │ │ ├── available-externally.ll │ │ │ │ ├── bitcode-nodatalayout.ll │ │ │ │ ├── cache.ll │ │ │ │ ├── codemodel.ll │ │ │ │ ├── combined-lto-object-name.ll │ │ │ │ ├── comdat.ll │ │ │ │ ├── comdat2.ll │ │ │ │ ├── common.ll │ │ │ │ ├── common2.ll │ │ │ │ ├── common3.ll │ │ │ │ ├── cpu-string.ll │ │ │ │ ├── ctors.ll │ │ │ │ ├── data-ordering-lto.s │ │ │ │ ├── debugger-tune.ll │ │ │ │ ├── defsym.ll │ │ │ │ ├── discard-value-names.ll │ │ │ │ ├── drop-debug-info.ll │ │ │ │ ├── drop-linkage.ll │ │ │ │ ├── duplicated-name.ll │ │ │ │ ├── duplicated.ll │ │ │ │ ├── dynamic-list.ll │ │ │ │ ├── dynsym.ll │ │ │ │ ├── inline-asm.ll │ │ │ │ ├── internalize-basic.ll │ │ │ │ ├── internalize-exportdyn.ll │ │ │ │ ├── internalize-llvmused.ll │ │ │ │ ├── internalize-undef.ll │ │ │ │ ├── internalize-version-script.ll │ │ │ │ ├── irmover-error.ll │ │ │ │ ├── keep-undefined.ll │ │ │ │ ├── lazy-internal.ll │ │ │ │ ├── libcall-archive.ll │ │ │ │ ├── linkage.ll │ │ │ │ ├── linker-script-symbols-assign.ll │ │ │ │ ├── linker-script-symbols-ipo.ll │ │ │ │ ├── linker-script-symbols.ll │ │ │ │ ├── linkonce-odr.ll │ │ │ │ ├── linkonce.ll │ │ │ │ ├── lto-start.ll │ │ │ │ ├── ltopasses-basic.ll │ │ │ │ ├── ltopasses-custom.ll │ │ │ │ ├── metadata.ll │ │ │ │ ├── mix-platforms.ll │ │ │ │ ├── mix-platforms2.ll │ │ │ │ ├── module-asm.ll │ │ │ │ ├── new-pass-manager.ll │ │ │ │ ├── opt-level.ll │ │ │ │ ├── opt-remarks.ll │ │ │ │ ├── parallel-internalize.ll │ │ │ │ ├── parallel.ll │ │ │ │ ├── pic.ll │ │ │ │ ├── ppc64le.ll │ │ │ │ ├── r600.ll │ │ │ │ ├── relax-relocs.ll │ │ │ │ ├── relocatable.ll │ │ │ │ ├── relocation-model.ll │ │ │ │ ├── resolution.ll │ │ │ │ ├── sample-profile.ll │ │ │ │ ├── save-temps.ll │ │ │ │ ├── section-name.ll │ │ │ │ ├── setting-dso-local.ll │ │ │ │ ├── shlib-undefined.ll │ │ │ │ ├── start-lib.ll │ │ │ │ ├── symbol-ordering-lto.s │ │ │ │ ├── thin-archivecollision.ll │ │ │ │ ├── thinlto-cant-write-index.ll │ │ │ │ ├── thinlto-debug-fission.ll │ │ │ │ ├── thinlto-emit-imports.ll │ │ │ │ ├── thinlto-index-file.ll │ │ │ │ ├── thinlto-index-only.ll │ │ │ │ ├── thinlto-no-index.ll │ │ │ │ ├── thinlto-obj-path.ll │ │ │ │ ├── thinlto-object-suffix-replace.ll │ │ │ │ ├── thinlto-prefix-replace.ll │ │ │ │ ├── thinlto.ll │ │ │ │ ├── timepasses.ll │ │ │ │ ├── tls-mixed.ll │ │ │ │ ├── tls-preserve.ll │ │ │ │ ├── type-merge.ll │ │ │ │ ├── type-merge2.ll │ │ │ │ ├── undef-mixed.ll │ │ │ │ ├── undef-weak.ll │ │ │ │ ├── undef.ll │ │ │ │ ├── undefined-puts.ll │ │ │ │ ├── unnamed-addr-comdat.ll │ │ │ │ ├── unnamed-addr-drop.ll │ │ │ │ ├── unnamed-addr-lib.ll │ │ │ │ ├── unnamed-addr.ll │ │ │ │ ├── verify-invalid.ll │ │ │ │ ├── version-script.ll │ │ │ │ ├── version-script2.ll │ │ │ │ ├── visibility.ll │ │ │ │ ├── weak.ll │ │ │ │ ├── weakodr-visibility.ll │ │ │ │ ├── wrap-1.ll │ │ │ │ └── wrap-2.ll │ │ │ ├── many-alloc-sections.s │ │ │ ├── many-sections.s │ │ │ ├── map-file-i686.s │ │ │ ├── map-file.s │ │ │ ├── map-gc-sections.s │ │ │ ├── merge-align.s │ │ │ ├── merge-entsize.s │ │ │ ├── merge-gc-piece.s │ │ │ ├── merge-gc-piece2.s │ │ │ ├── merge-reloc-O0.s │ │ │ ├── merge-reloc.s │ │ │ ├── merge-section-types.s │ │ │ ├── merge-shared-str.s │ │ │ ├── merge-shared.s │ │ │ ├── merge-string-align.s │ │ │ ├── merge-string-empty.s │ │ │ ├── merge-string-error.s │ │ │ ├── merge-string-no-null.s │ │ │ ├── merge-string.s │ │ │ ├── merge-sym.s │ │ │ ├── merge-to-non-alloc.s │ │ │ ├── merge.s │ │ │ ├── mips-26-mask.s │ │ │ ├── mips-26-n32-n64.s │ │ │ ├── mips-26.s │ │ │ ├── mips-32.s │ │ │ ├── mips-64-disp.s │ │ │ ├── mips-64-got-overflow.s │ │ │ ├── mips-64-got.s │ │ │ ├── mips-64-gprel-so.s │ │ │ ├── mips-64-rels.s │ │ │ ├── mips-64.s │ │ │ ├── mips-abs-got.s │ │ │ ├── mips-align-err.s │ │ │ ├── mips-call-hilo.s │ │ │ ├── mips-call16.s │ │ │ ├── mips-dynamic.s │ │ │ ├── mips-dynsym-sort.s │ │ │ ├── mips-elf-abi.s │ │ │ ├── mips-elf-flags-err.s │ │ │ ├── mips-elf-flags-err.test │ │ │ ├── mips-elf-flags.s │ │ │ ├── mips-fp-flags-err.test │ │ │ ├── mips-gnu-hash.s │ │ │ ├── mips-got-and-copy.s │ │ │ ├── mips-got-extsym.s │ │ │ ├── mips-got-hilo.s │ │ │ ├── mips-got-page-script.s │ │ │ ├── mips-got-page.s │ │ │ ├── mips-got-redundant.s │ │ │ ├── mips-got-relocs.s │ │ │ ├── mips-got-script.s │ │ │ ├── mips-got-string.s │ │ │ ├── mips-got-weak.s │ │ │ ├── mips-got16-relocatable.s │ │ │ ├── mips-got16.s │ │ │ ├── mips-gp-disp-ver.s │ │ │ ├── mips-gp-disp.s │ │ │ ├── mips-gp-ext.s │ │ │ ├── mips-gp-local.s │ │ │ ├── mips-gp-lowest.s │ │ │ ├── mips-gprel-sec.s │ │ │ ├── mips-gprel32-relocs-gp0.s │ │ │ ├── mips-gprel32-relocs.s │ │ │ ├── mips-higher-highest.s │ │ │ ├── mips-hilo-gp-disp.s │ │ │ ├── mips-hilo-hi-only.s │ │ │ ├── mips-hilo.s │ │ │ ├── mips-jalr.test │ │ │ ├── mips-lo16-not-relative.s │ │ │ ├── mips-merge-abiflags.s │ │ │ ├── mips-mgot.s │ │ │ ├── mips-micro-got.s │ │ │ ├── mips-micro-jal.s │ │ │ ├── mips-micro-plt.s │ │ │ ├── mips-micro-relocs.s │ │ │ ├── mips-micro-thunks.s │ │ │ ├── mips-micror6-relocs.s │ │ │ ├── mips-n32-emul.s │ │ │ ├── mips-n32-rels.s │ │ │ ├── mips-no-objects.s │ │ │ ├── mips-non-zero-gp0.s │ │ │ ├── mips-nonalloc.s │ │ │ ├── mips-npic-call-pic-os.s │ │ │ ├── mips-npic-call-pic-script.s │ │ │ ├── mips-npic-call-pic.s │ │ │ ├── mips-options-r.test │ │ │ ├── mips-options.s │ │ │ ├── mips-out-of-bounds-call16-reloc.s │ │ │ ├── mips-pc-relocs.s │ │ │ ├── mips-plt-copy.s │ │ │ ├── mips-plt-n32.s │ │ │ ├── mips-plt-r6.s │ │ │ ├── mips-reginfo.s │ │ │ ├── mips-relocatable.s │ │ │ ├── mips-sto-pic-flag.s │ │ │ ├── mips-sto-plt.s │ │ │ ├── mips-tls-64-pic-local-variable.s │ │ │ ├── mips-tls-64.s │ │ │ ├── mips-tls-hilo.s │ │ │ ├── mips-tls-static-64.s │ │ │ ├── mips-tls-static.s │ │ │ ├── mips-tls.s │ │ │ ├── mips-xgot-order.s │ │ │ ├── mips64-eh-abs-reloc.s │ │ │ ├── multiple-cu.s │ │ │ ├── new-dtags.test │ │ │ ├── no-augmentation.s │ │ │ ├── no-inhibit-exec.s │ │ │ ├── no-line-parser-errors-if-empty-section.s │ │ │ ├── no-line-parser-errors-if-no-section.s │ │ │ ├── no-merge.s │ │ │ ├── no-obj.s │ │ │ ├── no-plt-shared.s │ │ │ ├── no-soname.s │ │ │ ├── no-symtab.s │ │ │ ├── no-undefined.s │ │ │ ├── non-abs-reloc.s │ │ │ ├── non-alloc-link-order-gc.s │ │ │ ├── noplt-pie.s │ │ │ ├── note-contiguous.s │ │ │ ├── note-loadaddr.s │ │ │ ├── note-multiple.s │ │ │ ├── note-noalloc.s │ │ │ ├── note-noalloc2.s │ │ │ ├── note.s │ │ │ ├── oformat-binary-ttext.s │ │ │ ├── oformat-binary.s │ │ │ ├── openbsd-randomize.s │ │ │ ├── openbsd-wxneeded.s │ │ │ ├── output-section.s │ │ │ ├── pack-dyn-relocs-loop.s │ │ │ ├── pack-dyn-relocs-tls-aarch64.s │ │ │ ├── pack-dyn-relocs-tls-x86-64.s │ │ │ ├── pack-dyn-relocs.s │ │ │ ├── pack-dyn-relocs2.s │ │ │ ├── phdr-align.s │ │ │ ├── pie-weak.s │ │ │ ├── pie.s │ │ │ ├── plt-aarch64.s │ │ │ ├── plt-i686.s │ │ │ ├── plt.s │ │ │ ├── ppc-rela.s │ │ │ ├── ppc-relocs.s │ │ │ ├── ppc64-abi-version.s │ │ │ ├── ppc64-addr16-error.s │ │ │ ├── ppc64-bsymbolic-toc-restore.s │ │ │ ├── ppc64-call-reach.s │ │ │ ├── ppc64-dq.s │ │ │ ├── ppc64-dtprel.s │ │ │ ├── ppc64-dynamic-relocations.s │ │ │ ├── ppc64-entry-point.s │ │ │ ├── ppc64-error-missaligned-dq.s │ │ │ ├── ppc64-error-missaligned-ds.s │ │ │ ├── ppc64-error-toc-restore.s │ │ │ ├── ppc64-error-toc-tail-call.s │ │ │ ├── ppc64-func-entry-points.s │ │ │ ├── ppc64-gd-to-ie.s │ │ │ ├── ppc64-general-dynamic-tls.s │ │ │ ├── ppc64-got-indirect.s │ │ │ ├── ppc64-ifunc.s │ │ │ ├── ppc64-initial-exec-tls.s │ │ │ ├── ppc64-local-dynamic.s │ │ │ ├── ppc64-local-exec-tls.s │ │ │ ├── ppc64-plt-stub.s │ │ │ ├── ppc64-rel-calls.s │ │ │ ├── ppc64-rel-so-local-calls.s │ │ │ ├── ppc64-relocs.s │ │ │ ├── ppc64-split-stack-adjust-fail.s │ │ │ ├── ppc64-split-stack-adjust-overflow.s │ │ │ ├── ppc64-split-stack-adjust-size-success.s │ │ │ ├── ppc64-split-stack-prologue-adjust-success.s │ │ │ ├── ppc64-tls-gd-le-small.s │ │ │ ├── ppc64-tls-gd-le.s │ │ │ ├── ppc64-tls-ie-le.s │ │ │ ├── ppc64-tls-ld-le.s │ │ │ ├── ppc64-toc-addis-nop-lqsq.s │ │ │ ├── ppc64-toc-addis-nop.s │ │ │ ├── ppc64-toc-rel.s │ │ │ ├── ppc64-toc-restore-recursive-call.s │ │ │ ├── ppc64-toc-restore.s │ │ │ ├── ppc64-tocopt-option.s │ │ │ ├── ppc64-weak-undef-call-shared.s │ │ │ ├── ppc64-weak-undef-call.s │ │ │ ├── pr34660.s │ │ │ ├── pr34872.s │ │ │ ├── pr36475.s │ │ │ ├── pr37735.s │ │ │ ├── pre_init_fini_array.s │ │ │ ├── pre_init_fini_array_missing.s │ │ │ ├── print-icf.s │ │ │ ├── progname.s │ │ │ ├── program-header-layout.s │ │ │ ├── protected-data-access.s │ │ │ ├── protected-function-access.s │ │ │ ├── protected-shared.s │ │ │ ├── push-state.s │ │ │ ├── rel-addend-with-rela-input.s │ │ │ ├── rel-offset.s │ │ │ ├── relative-dynamic-reloc-pie.s │ │ │ ├── relative-dynamic-reloc-ppc64.s │ │ │ ├── relative-dynamic-reloc.s │ │ │ ├── relocatable-bss.s │ │ │ ├── relocatable-build-id.s │ │ │ ├── relocatable-comdat-multiple.s │ │ │ ├── relocatable-comdat.s │ │ │ ├── relocatable-comdat2.s │ │ │ ├── relocatable-comment.s │ │ │ ├── relocatable-common.s │ │ │ ├── relocatable-compressed-input.s │ │ │ ├── relocatable-eh-frame-hdr.s │ │ │ ├── relocatable-eh-frame.s │ │ │ ├── relocatable-ehframe.s │ │ │ ├── relocatable-empty-archive.s │ │ │ ├── relocatable-local-sym.s │ │ │ ├── relocatable-many-sections.s │ │ │ ├── relocatable-non-alloc.s │ │ │ ├── relocatable-rel-iplt.s │ │ │ ├── relocatable-reloc.s │ │ │ ├── relocatable-script.s │ │ │ ├── relocatable-section-symbol.s │ │ │ ├── relocatable-sections.s │ │ │ ├── relocatable-symbol-name.s │ │ │ ├── relocatable-symbols.s │ │ │ ├── relocatable-tls.s │ │ │ ├── relocatable-versioned.s │ │ │ ├── relocatable-visibility.s │ │ │ ├── relocatable.s │ │ │ ├── relocation-absolute.s │ │ │ ├── relocation-b-aarch64.test │ │ │ ├── relocation-before-merge-start.s │ │ │ ├── relocation-common.s │ │ │ ├── relocation-copy-alias.s │ │ │ ├── relocation-copy-align-common.s │ │ │ ├── relocation-copy-align.s │ │ │ ├── relocation-copy-flags.s │ │ │ ├── relocation-copy-i686.s │ │ │ ├── relocation-copy-relro.s │ │ │ ├── relocation-copy.s │ │ │ ├── relocation-dtrace.test │ │ │ ├── relocation-group.test │ │ │ ├── relocation-i686.s │ │ │ ├── relocation-in-merge.s │ │ │ ├── relocation-local.s │ │ │ ├── relocation-nocopy.s │ │ │ ├── relocation-non-alloc.s │ │ │ ├── relocation-none-aarch64.test │ │ │ ├── relocation-none-i686.test │ │ │ ├── relocation-past-merge-end.s │ │ │ ├── relocation-relative-absolute.s │ │ │ ├── relocation-relative-synthetic.s │ │ │ ├── relocation-relative-weak.s │ │ │ ├── relocation-shared.s │ │ │ ├── relocation-size-err.s │ │ │ ├── relocation-size-shared.s │ │ │ ├── relocation-size.s │ │ │ ├── relocation-undefined-weak.s │ │ │ ├── relocation.s │ │ │ ├── relro-copyrel-bss-script.s │ │ │ ├── relro-non-contiguous-script-data.s │ │ │ ├── relro-non-contiguous.s │ │ │ ├── relro-omagic.s │ │ │ ├── relro-script.s │ │ │ ├── relro-tls.s │ │ │ ├── relro.s │ │ │ ├── reproduce-backslash.s │ │ │ ├── reproduce-error.s │ │ │ ├── reproduce-linkerscript.s │ │ │ ├── reproduce-thin-archive.s │ │ │ ├── reproduce-windows.s │ │ │ ├── reproduce-windows2.s │ │ │ ├── reproduce.s │ │ │ ├── resolution-end.s │ │ │ ├── resolution-shared.s │ │ │ ├── resolution.s │ │ │ ├── retain-symbols-file.s │ │ │ ├── retain-und.s │ │ │ ├── riscv-branch.test │ │ │ ├── riscv-call.test │ │ │ ├── riscv-hi20-lo12.test │ │ │ ├── riscv-jal-error.test │ │ │ ├── riscv-jal.test │ │ │ ├── riscv-pcrel-hilo.test │ │ │ ├── rodynamic.s │ │ │ ├── section-align-0.test │ │ │ ├── section-layout.s │ │ │ ├── section-metadata-err.s │ │ │ ├── section-metadata-err2.s │ │ │ ├── section-metadata-err3.s │ │ │ ├── section-name.s │ │ │ ├── section-symbol.s │ │ │ ├── section-symbols.test │ │ │ ├── sectionstart-noallochdr.s │ │ │ ├── sectionstart.s │ │ │ ├── segments.s │ │ │ ├── shared-lazy.s │ │ │ ├── shared-ppc64.s │ │ │ ├── shared.s │ │ │ ├── shf-info-link.test │ │ │ ├── shlib-undefined-archive.s │ │ │ ├── shlib-undefined-local.s │ │ │ ├── shlib-undefined-shared.s │ │ │ ├── sht-group-gold-r.test │ │ │ ├── silent-ignore.test │ │ │ ├── soname.s │ │ │ ├── soname2.s │ │ │ ├── sort-norosegment.s │ │ │ ├── start-lib-comdat.s │ │ │ ├── start-lib.s │ │ │ ├── startstop-gccollect.s │ │ │ ├── startstop-shared.s │ │ │ ├── startstop-shared2.s │ │ │ ├── startstop.s │ │ │ ├── static-with-export-dynamic.s │ │ │ ├── string-gc.s │ │ │ ├── string-table.s │ │ │ ├── strip-all.s │ │ │ ├── strip-debug.s │ │ │ ├── symbol-ordering-file-icf.s │ │ │ ├── symbol-ordering-file-warnings.s │ │ │ ├── symbol-ordering-file.s │ │ │ ├── symbol-ordering-file2.s │ │ │ ├── symbol-override.s │ │ │ ├── symbols.s │ │ │ ├── symver-archive.s │ │ │ ├── synthetic-got.s │ │ │ ├── sysroot.s │ │ │ ├── sysv-hash-no-rosegment.s │ │ │ ├── tail-merge-string-align.s │ │ │ ├── text-section-prefix.s │ │ │ ├── textrel.s │ │ │ ├── tls-align.s │ │ │ ├── tls-archive.s │ │ │ ├── tls-dynamic-i686.s │ │ │ ├── tls-dynamic.s │ │ │ ├── tls-error.s │ │ │ ├── tls-got-entry.s │ │ │ ├── tls-got.s │ │ │ ├── tls-i686.s │ │ │ ├── tls-in-archive.s │ │ │ ├── tls-initial-exec-local.s │ │ │ ├── tls-mismatch.s │ │ │ ├── tls-offset.s │ │ │ ├── tls-opt-gdie.s │ │ │ ├── tls-opt-gdiele-i686.s │ │ │ ├── tls-opt-i686.s │ │ │ ├── tls-opt-iele-i686-nopic.s │ │ │ ├── tls-opt-local.s │ │ │ ├── tls-opt-no-plt.s │ │ │ ├── tls-opt.s │ │ │ ├── tls-relocatable.s │ │ │ ├── tls-static.s │ │ │ ├── tls-two-relocs.s │ │ │ ├── tls-weak-undef.s │ │ │ ├── tls.s │ │ │ ├── trace-ar.s │ │ │ ├── trace-symbols.s │ │ │ ├── trace.s │ │ │ ├── ttext-tdata-tbss.s │ │ │ ├── typed-undef.s │ │ │ ├── undef-broken-debug.test │ │ │ ├── undef-shared.s │ │ │ ├── undef-shared2.s │ │ │ ├── undef-start.s │ │ │ ├── undef-version-script.s │ │ │ ├── undef-with-plt-addr-i686.s │ │ │ ├── undef-with-plt-addr.s │ │ │ ├── undef.s │ │ │ ├── undefined-opt.s │ │ │ ├── undefined-versioned-symbol.s │ │ │ ├── unresolved-symbols.s │ │ │ ├── user_def_init_array_start.s │ │ │ ├── verdef-defaultver.s │ │ │ ├── verdef-dependency.s │ │ │ ├── verdef.s │ │ │ ├── verneed-as-needed-weak.s │ │ │ ├── verneed-local.s │ │ │ ├── verneed.s │ │ │ ├── version-exclude-libs.s │ │ │ ├── version-script-anonymous-local.s │ │ │ ├── version-script-complex-wildcards.s │ │ │ ├── version-script-copy-rel.s │ │ │ ├── version-script-err.s │ │ │ ├── version-script-extern-exact.s │ │ │ ├── version-script-extern-undefined.s │ │ │ ├── version-script-extern-wildcards-anon.s │ │ │ ├── version-script-extern-wildcards.s │ │ │ ├── version-script-extern.s │ │ │ ├── version-script-extern2.s │ │ │ ├── version-script-glob.s │ │ │ ├── version-script-hide-so-symbol.s │ │ │ ├── version-script-in-search-path.s │ │ │ ├── version-script-locals-extern.s │ │ │ ├── version-script-locals.s │ │ │ ├── version-script-missing.s │ │ │ ├── version-script-no-warn.s │ │ │ ├── version-script-no-warn2.s │ │ │ ├── version-script-noundef.s │ │ │ ├── version-script-symver.s │ │ │ ├── version-script-symver2.s │ │ │ ├── version-script-twice.s │ │ │ ├── version-script-undef-version.s │ │ │ ├── version-script-weak.s │ │ │ ├── version-script.s │ │ │ ├── version-symbol-error.s │ │ │ ├── version-undef-sym.s │ │ │ ├── version-use.s │ │ │ ├── version-wildcard.test │ │ │ ├── visibility.s │ │ │ ├── warn-backrefs.s │ │ │ ├── warn-common.s │ │ │ ├── warn-unresolved-symbols-hidden.s │ │ │ ├── warn-unresolved-symbols.s │ │ │ ├── weak-and-strong-undef.s │ │ │ ├── weak-entry.s │ │ │ ├── weak-shared-gc.s │ │ │ ├── weak-undef-export.s │ │ │ ├── weak-undef-hidden.s │ │ │ ├── weak-undef-lazy.s │ │ │ ├── weak-undef-lib.s │ │ │ ├── weak-undef-rw.s │ │ │ ├── weak-undef-shared.s │ │ │ ├── weak-undef-val.s │ │ │ ├── weak-undef.s │ │ │ ├── whole-archive-name.s │ │ │ ├── whole-archive.s │ │ │ ├── wrap-dynamic-undef.s │ │ │ ├── wrap-entry.s │ │ │ ├── wrap-no-real.s │ │ │ ├── wrap-plt.s │ │ │ ├── wrap.s │ │ │ ├── writable-merge.s │ │ │ ├── writable-sec-plt-reloc.s │ │ │ ├── x86-64-dyn-rel-error.s │ │ │ ├── x86-64-dyn-rel-error2.s │ │ │ ├── x86-64-dyn-rel-error3.s │ │ │ ├── x86-64-plt-high-addr.s │ │ │ ├── x86-64-rela.s │ │ │ ├── x86-64-relax-got-abs.s │ │ │ ├── x86-64-relax-offset.s │ │ │ ├── x86-64-reloc-16.s │ │ │ ├── x86-64-reloc-32-fpic.s │ │ │ ├── x86-64-reloc-8.s │ │ │ ├── x86-64-reloc-debug-overflow.s │ │ │ ├── x86-64-reloc-error-reporting.s │ │ │ ├── x86-64-reloc-error.s │ │ │ ├── x86-64-reloc-error2.s │ │ │ ├── x86-64-reloc-gotoff64.s │ │ │ ├── x86-64-reloc-gotpc64.s │ │ │ ├── x86-64-reloc-pc32-fpic.s │ │ │ ├── x86-64-reloc-range-debug-loc.s │ │ │ ├── x86-64-reloc-range.s │ │ │ ├── x86-64-reloc-tpoff32-fpic.s │ │ │ ├── x86-64-retpoline-linkerscript.s │ │ │ ├── x86-64-retpoline-znow-linkerscript.s │ │ │ ├── x86-64-retpoline-znow.s │ │ │ ├── x86-64-retpoline.s │ │ │ ├── x86-64-split-stack-prologue-adjust-fail.s │ │ │ ├── x86-64-split-stack-prologue-adjust-shared.s │ │ │ ├── x86-64-split-stack-prologue-adjust-silent.s │ │ │ ├── x86-64-split-stack-prologue-adjust-success.s │ │ │ ├── x86-64-tls-gd-got.s │ │ │ ├── x86-64-tls-gd-local.s │ │ │ ├── x86-64-tls-ld-local.s │ │ │ ├── x86-64-tls-pie.s │ │ │ ├── zdefs.s │ │ │ ├── znotext-copy-relocation.s │ │ │ ├── znotext-plt-relocations-protected.s │ │ │ ├── znotext-plt-relocations.s │ │ │ ├── znotext-weak-undef.s │ │ │ ├── zstack-size.s │ │ │ └── ztext.s │ │ ├── MinGW │ │ │ ├── driver.test │ │ │ └── lib.test │ │ ├── Unit │ │ │ ├── lit.cfg.py │ │ │ └── lit.site.cfg.py.in │ │ ├── darwin │ │ │ ├── Inputs │ │ │ │ ├── native-and-mach-o.objtxt │ │ │ │ └── native-and-mach-o2.objtxt │ │ │ ├── cmdline-lto_library.objtxt │ │ │ ├── cmdline-objc_gc.objtxt │ │ │ ├── cmdline-objc_gc_compaction.objtxt │ │ │ ├── cmdline-objc_gc_only.objtxt │ │ │ └── native-and-mach-o.objtxt │ │ ├── lit.cfg.py │ │ ├── lit.site.cfg.py.in │ │ ├── mach-o │ │ │ ├── Inputs │ │ │ │ ├── DependencyDump.py │ │ │ │ ├── PIE.yaml │ │ │ │ ├── arm-interworking.yaml │ │ │ │ ├── arm-shims.yaml │ │ │ │ ├── arm64 │ │ │ │ │ └── libSystem.yaml │ │ │ │ ├── armv7 │ │ │ │ │ └── libSystem.yaml │ │ │ │ ├── bar.yaml │ │ │ │ ├── cstring-sections.yaml │ │ │ │ ├── exported_symbols_list.exp │ │ │ │ ├── full.filelist │ │ │ │ ├── got-order.yaml │ │ │ │ ├── got-order2.yaml │ │ │ │ ├── hello-world-arm64.yaml │ │ │ │ ├── hello-world-armv6.yaml │ │ │ │ ├── hello-world-armv7.yaml │ │ │ │ ├── hello-world-x86.yaml │ │ │ │ ├── hello-world-x86_64.yaml │ │ │ │ ├── hw.raw_bytes │ │ │ │ ├── interposing-section.yaml │ │ │ │ ├── lazy-bind-x86_64-2.yaml │ │ │ │ ├── lazy-bind-x86_64-3.yaml │ │ │ │ ├── lazy-bind-x86_64.yaml │ │ │ │ ├── lib-search-paths │ │ │ │ │ └── usr │ │ │ │ │ │ ├── lib │ │ │ │ │ │ ├── libmyshared.dylib │ │ │ │ │ │ └── libmystatic.a │ │ │ │ │ │ └── local │ │ │ │ │ │ └── lib │ │ │ │ │ │ └── file.o │ │ │ │ ├── libbar.a │ │ │ │ ├── libfoo.a │ │ │ │ ├── linker-as-ld.yaml │ │ │ │ ├── no-version-min-load-command-object.yaml │ │ │ │ ├── order_file-basic.order │ │ │ │ ├── partial.filelist │ │ │ │ ├── re-exported-dylib-ordinal.yaml │ │ │ │ ├── re-exported-dylib-ordinal2.yaml │ │ │ │ ├── re-exported-dylib-ordinal3.yaml │ │ │ │ ├── swift-version-1.yaml │ │ │ │ ├── unwind-info-simple-arm64.yaml │ │ │ │ ├── use-dylib-install-names.yaml │ │ │ │ ├── use-simple-dylib.yaml │ │ │ │ ├── write-final-sections.yaml │ │ │ │ ├── wrong-arch-error.yaml │ │ │ │ ├── x86 │ │ │ │ │ └── libSystem.yaml │ │ │ │ └── x86_64 │ │ │ │ │ └── libSystem.yaml │ │ │ ├── PIE.yaml │ │ │ ├── align_text.yaml │ │ │ ├── arm-interworking-movw.yaml │ │ │ ├── arm-interworking.yaml │ │ │ ├── arm-shims.yaml │ │ │ ├── arm-subsections-via-symbols.yaml │ │ │ ├── arm64-reloc-negDelta32-fixup.yaml │ │ │ ├── arm64-relocs-errors-delta64-offset.yaml │ │ │ ├── arm64-section-order.yaml │ │ │ ├── bind-opcodes.yaml │ │ │ ├── cstring-sections.yaml │ │ │ ├── data-in-code-load-command.yaml │ │ │ ├── data-only-dylib.yaml │ │ │ ├── dead-strip-globals.yaml │ │ │ ├── debug-syms.yaml │ │ │ ├── demangle.yaml │ │ │ ├── dependency_info.yaml │ │ │ ├── do-not-emit-unwind-fde-arm64.yaml │ │ │ ├── dso_handle.yaml │ │ │ ├── dylib-install-names.yaml │ │ │ ├── eh-frame-relocs-arm64.yaml │ │ │ ├── error-simulator-vs-macosx.yaml │ │ │ ├── exe-offsets.yaml │ │ │ ├── exe-segment-overlap.yaml │ │ │ ├── executable-exports.yaml │ │ │ ├── export-trie-order.yaml │ │ │ ├── exported_symbols_list-dylib.yaml │ │ │ ├── exported_symbols_list-obj.yaml │ │ │ ├── exported_symbols_list-undef.yaml │ │ │ ├── fat-archive.yaml │ │ │ ├── filelist.yaml │ │ │ ├── flat_namespace_undef_error.yaml │ │ │ ├── flat_namespace_undef_suppress.yaml │ │ │ ├── force_load-dylib.yaml │ │ │ ├── force_load-x86_64.yaml │ │ │ ├── framework-user-paths.yaml │ │ │ ├── function-starts-load-command.yaml │ │ │ ├── gcc_except_tab-got-arm64.yaml │ │ │ ├── got-order.yaml │ │ │ ├── hello-world-arm64.yaml │ │ │ ├── hello-world-armv6.yaml │ │ │ ├── hello-world-armv7.yaml │ │ │ ├── hello-world-x86.yaml │ │ │ ├── hello-world-x86_64.yaml │ │ │ ├── image-base.yaml │ │ │ ├── infer-arch.yaml │ │ │ ├── interposing-section.yaml │ │ │ ├── keep_private_externs.yaml │ │ │ ├── lazy-bind-x86_64.yaml │ │ │ ├── lc_segment_filesize.yaml │ │ │ ├── lib-search-paths.yaml │ │ │ ├── library-order.yaml │ │ │ ├── library-rescan.yaml │ │ │ ├── libresolve-bizarre-root-override.yaml │ │ │ ├── libresolve-multiple-syslibroots.yaml │ │ │ ├── libresolve-one-syslibroot.yaml │ │ │ ├── libresolve-simple.yaml │ │ │ ├── libresolve-user-paths.yaml │ │ │ ├── libresolve-z.yaml │ │ │ ├── linker-as-ld.yaml │ │ │ ├── lit.local.cfg │ │ │ ├── mach_header-cpusubtype.yaml │ │ │ ├── mh_bundle_header.yaml │ │ │ ├── mh_dylib_header.yaml │ │ │ ├── objc-category-list-atom.yaml │ │ │ ├── objc-image-info-host-vs-simulator.yaml │ │ │ ├── objc-image-info-invalid-size.yaml │ │ │ ├── objc-image-info-invalid-version.yaml │ │ │ ├── objc-image-info-mismatched-swift-version.yaml │ │ │ ├── objc-image-info-pass-output.yaml │ │ │ ├── objc-image-info-simulator-vs-host.yaml │ │ │ ├── objc-image-info-unsupported-gc.yaml │ │ │ ├── objc_export_list.yaml │ │ │ ├── order_file-basic.yaml │ │ │ ├── parse-aliases.yaml │ │ │ ├── parse-arm-relocs.yaml │ │ │ ├── parse-cfstring32.yaml │ │ │ ├── parse-cfstring64.yaml │ │ │ ├── parse-compact-unwind32.yaml │ │ │ ├── parse-compact-unwind64.yaml │ │ │ ├── parse-data-in-code-armv7.yaml │ │ │ ├── parse-data-in-code-x86.yaml │ │ │ ├── parse-data-relocs-arm64.yaml │ │ │ ├── parse-data-relocs-x86_64.yaml │ │ │ ├── parse-data.yaml │ │ │ ├── parse-eh-frame-relocs-x86_64.yaml │ │ │ ├── parse-eh-frame-x86-anon.yaml │ │ │ ├── parse-eh-frame-x86-labeled.yaml │ │ │ ├── parse-eh-frame.yaml │ │ │ ├── parse-function.yaml │ │ │ ├── parse-initializers32.yaml │ │ │ ├── parse-initializers64.yaml │ │ │ ├── parse-literals-error.yaml │ │ │ ├── parse-literals.yaml │ │ │ ├── parse-non-lazy-pointers.yaml │ │ │ ├── parse-relocs-x86.yaml │ │ │ ├── parse-section-no-symbol.yaml │ │ │ ├── parse-tentative-defs.yaml │ │ │ ├── parse-text-relocs-arm64.yaml │ │ │ ├── parse-text-relocs-x86_64.yaml │ │ │ ├── parse-tlv-relocs-x86-64.yaml │ │ │ ├── re-exported-dylib-ordinal.yaml │ │ │ ├── rpath.yaml │ │ │ ├── run-tlv-pass-x86-64.yaml │ │ │ ├── sdk-version-error.yaml │ │ │ ├── sectalign.yaml │ │ │ ├── sectattrs.yaml │ │ │ ├── sectcreate.yaml │ │ │ ├── seg-protection-arm64.yaml │ │ │ ├── seg-protection-x86_64.yaml │ │ │ ├── source-version.yaml │ │ │ ├── stack-size.yaml │ │ │ ├── string-table.yaml │ │ │ ├── subsections-via-symbols-default.yaml │ │ │ ├── twolevel_namespace_undef_dynamic_lookup.yaml │ │ │ ├── twolevel_namespace_undef_warning_suppress.yaml │ │ │ ├── unwind-info-simple-arm64.yaml │ │ │ ├── unwind-info-simple-x86_64.yaml │ │ │ ├── upward-dylib-load-command.yaml │ │ │ ├── upward-dylib-paths.yaml │ │ │ ├── usage.yaml │ │ │ ├── use-dylib.yaml │ │ │ ├── use-simple-dylib.yaml │ │ │ ├── version-min-load-command-object.yaml │ │ │ ├── version-min-load-command.yaml │ │ │ ├── write-final-sections.yaml │ │ │ └── wrong-arch-error.yaml │ │ └── wasm │ │ │ ├── Inputs │ │ │ ├── archive1.ll │ │ │ ├── archive2.ll │ │ │ ├── archive3.ll │ │ │ ├── call-indirect.ll │ │ │ ├── comdat1.ll │ │ │ ├── comdat2.ll │ │ │ ├── custom.ll │ │ │ ├── debuginfo1.ll │ │ │ ├── debuginfo2.ll │ │ │ ├── global-ctor-dtor.ll │ │ │ ├── globals.yaml │ │ │ ├── hello.ll │ │ │ ├── hidden.ll │ │ │ ├── locals-duplicate1.ll │ │ │ ├── locals-duplicate2.ll │ │ │ ├── many-funcs.ll │ │ │ ├── ret32.ll │ │ │ ├── ret64.ll │ │ │ ├── start.ll │ │ │ ├── strong-symbol.ll │ │ │ ├── undefined-globals.yaml │ │ │ ├── weak-alias.ll │ │ │ ├── weak-symbol1.ll │ │ │ └── weak-symbol2.ll │ │ │ ├── alias.ll │ │ │ ├── archive-export.ll │ │ │ ├── archive.ll │ │ │ ├── call-indirect.ll │ │ │ ├── comdats.ll │ │ │ ├── compress-relocs.ll │ │ │ ├── conflict.test │ │ │ ├── custom-sections.ll │ │ │ ├── cxx-mangling.ll │ │ │ ├── data-layout.ll │ │ │ ├── data-segment-merging.ll │ │ │ ├── debug-removed-fn.ll │ │ │ ├── debuginfo.test │ │ │ ├── demangle.ll │ │ │ ├── driver.ll │ │ │ ├── entry-signature.ll │ │ │ ├── entry.ll │ │ │ ├── export-all.ll │ │ │ ├── export-table.test │ │ │ ├── export.ll │ │ │ ├── fatal-warnings.ll │ │ │ ├── function-imports-first.ll │ │ │ ├── function-imports.ll │ │ │ ├── function-index.test │ │ │ ├── gc-imports.ll │ │ │ ├── gc-sections.ll │ │ │ ├── import-memory.test │ │ │ ├── import-table.test │ │ │ ├── init-fini.ll │ │ │ ├── invalid-stack-size.test │ │ │ ├── lit.local.cfg │ │ │ ├── load-undefined.test │ │ │ ├── local-symbols.ll │ │ │ ├── locals-duplicate.test │ │ │ ├── lto │ │ │ ├── Inputs │ │ │ │ ├── archive.ll │ │ │ │ ├── cache.ll │ │ │ │ ├── save-temps.ll │ │ │ │ ├── thinlto.ll │ │ │ │ └── used.ll │ │ │ ├── archive.ll │ │ │ ├── atomics.ll │ │ │ ├── cache.ll │ │ │ ├── diagnostics.ll │ │ │ ├── export.ll │ │ │ ├── incompatible.ll │ │ │ ├── internalize-basic.ll │ │ │ ├── lto-start.ll │ │ │ ├── opt-level.ll │ │ │ ├── parallel.ll │ │ │ ├── save-temps.ll │ │ │ ├── signature-mismatch.ll │ │ │ ├── thinlto.ll │ │ │ ├── undef.ll │ │ │ ├── used.ll │ │ │ ├── verify-invalid.ll │ │ │ └── weak.ll │ │ │ ├── many-functions.ll │ │ │ ├── reloc-addend.ll │ │ │ ├── relocatable.ll │ │ │ ├── responsefile.test │ │ │ ├── signature-mismatch-weak.ll │ │ │ ├── signature-mismatch.ll │ │ │ ├── stack-first.test │ │ │ ├── stack-pointer.ll │ │ │ ├── strip-all.test │ │ │ ├── strip-debug.test │ │ │ ├── symbol-type-mismatch.ll │ │ │ ├── undefined-entry.test │ │ │ ├── undefined-weak-call.ll │ │ │ ├── undefined.ll │ │ │ ├── version.ll │ │ │ ├── visibility-hidden.ll │ │ │ ├── weak-alias-overide.ll │ │ │ ├── weak-alias.ll │ │ │ ├── weak-symbols.ll │ │ │ ├── weak-undefined.ll │ │ │ └── whole-archive.test │ ├── tools │ │ └── lld │ │ │ ├── CMakeLists.txt │ │ │ └── lld.cpp │ ├── unittests │ │ ├── CMakeLists.txt │ │ ├── DriverTests │ │ │ ├── CMakeLists.txt │ │ │ └── DarwinLdDriverTest.cpp │ │ └── MachOTests │ │ │ ├── CMakeLists.txt │ │ │ ├── MachONormalizedFileBinaryReaderTests.cpp │ │ │ ├── MachONormalizedFileBinaryWriterTests.cpp │ │ │ ├── MachONormalizedFileToAtomsTests.cpp │ │ │ ├── MachONormalizedFileYAMLTests.cpp │ │ │ └── empty_obj_x86_armv7.txt │ ├── utils │ │ ├── benchmark.py │ │ └── link.yaml │ └── wasm │ │ ├── CMakeLists.txt │ │ ├── Config.h │ │ ├── Driver.cpp │ │ ├── InputChunks.cpp │ │ ├── InputChunks.h │ │ ├── InputFiles.cpp │ │ ├── InputFiles.h │ │ ├── InputGlobal.h │ │ ├── LTO.cpp │ │ ├── LTO.h │ │ ├── MarkLive.cpp │ │ ├── MarkLive.h │ │ ├── Options.td │ │ ├── OutputSections.cpp │ │ ├── OutputSections.h │ │ ├── OutputSegment.h │ │ ├── SymbolTable.cpp │ │ ├── SymbolTable.h │ │ ├── Symbols.cpp │ │ ├── Symbols.h │ │ ├── Writer.cpp │ │ ├── Writer.h │ │ ├── WriterUtils.cpp │ │ └── WriterUtils.h ├── puzzle │ ├── CMakeLists.txt │ ├── include │ │ ├── miniz.c │ │ └── puzzle.h │ ├── src │ │ ├── CMakeLists.txt │ │ ├── pack_test.c │ │ ├── puzzle.c │ │ ├── puzzle_mem.c │ │ ├── puzzle_packing.c │ │ ├── puzzle_reg.c │ │ ├── puzzle_utils.c │ │ └── unpack_test.c │ └── tests │ │ └── packed.uzl ├── pypzl │ └── __init__.py └── uuzzle │ ├── CMakeLists.txt │ ├── cmake │ ├── FindCapstone.cmake │ ├── FindFuzzle.cmake │ └── FindUnicorn.cmake │ ├── examples │ ├── README.md │ ├── hello_world │ │ ├── hello_world.uzl │ │ └── src │ │ │ ├── Makefile │ │ │ └── hello_world.c │ └── http_example │ │ ├── server_child.uzl │ │ ├── server_parent.uzl │ │ └── src │ │ ├── ABOUT.md │ │ ├── Makefile │ │ ├── httpd.c │ │ ├── httpd.h │ │ └── main.c │ ├── include │ ├── examples.h │ ├── linux_x86_64.h │ └── uuzzle.h │ └── src │ ├── CMakeLists.txt │ ├── arch │ ├── CMakeLists.txt │ └── x86_64.c │ ├── core.c │ ├── examples │ ├── CMakeLists.txt │ ├── example000_emulator.c │ └── example001_emulator.c │ └── syscalls │ ├── CMakeLists.txt │ └── linux_x86_64.c ├── make.sh └── setup.py /.bumpversion.cfg: -------------------------------------------------------------------------------- 1 | [bumpversion] 2 | current_version = 0.0.9 3 | commit = True 4 | tag = True 5 | allow_dirty = False 6 | 7 | [bumpversion:file:setup.py] 8 | 9 | [bumpversion:file:fuzzle/duzzle/__main__.py] 10 | 11 | -------------------------------------------------------------------------------- /fuzzle/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/__init__.py -------------------------------------------------------------------------------- /fuzzle/duzzle/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/duzzle/__init__.py -------------------------------------------------------------------------------- /fuzzle/duzzle/archs/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/duzzle/archs/__init__.py -------------------------------------------------------------------------------- /fuzzle/duzzle/core/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/duzzle/core/__init__.py -------------------------------------------------------------------------------- /fuzzle/lld/.arcconfig: -------------------------------------------------------------------------------- 1 | { 2 | "repository.callsign" : "LLD", 3 | "conduit_uri" : "https://reviews.llvm.org/" 4 | } 5 | -------------------------------------------------------------------------------- /fuzzle/lld/.clang-format: -------------------------------------------------------------------------------- 1 | BasedOnStyle: LLVM 2 | -------------------------------------------------------------------------------- /fuzzle/lld/COFF/README.md: -------------------------------------------------------------------------------- 1 | See docs/NewLLD.rst 2 | -------------------------------------------------------------------------------- /fuzzle/lld/ELF/README.md: -------------------------------------------------------------------------------- 1 | See docs/NewLLD.rst 2 | -------------------------------------------------------------------------------- /fuzzle/lld/docs/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | if (LLVM_ENABLE_SPHINX) 2 | include(AddSphinxTarget) 3 | if (SPHINX_FOUND) 4 | if (${SPHINX_OUTPUT_HTML}) 5 | add_sphinx_target(html lld) 6 | endif() 7 | endif() 8 | endif() 9 | -------------------------------------------------------------------------------- /fuzzle/lld/docs/README.txt: -------------------------------------------------------------------------------- 1 | lld Documentation 2 | ================= 3 | 4 | The lld documentation is written using the Sphinx documentation generator. It is 5 | currently tested with Sphinx 1.1.3. 6 | 7 | We currently use the 'nature' theme and a Beaker inspired structure. 8 | 9 | To rebuild documents into html: 10 | 11 | [/lld/docs]> make html 12 | 13 | -------------------------------------------------------------------------------- /fuzzle/lld/docs/_static/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/docs/_static/favicon.ico -------------------------------------------------------------------------------- /fuzzle/lld/docs/_templates/indexsidebar.html: -------------------------------------------------------------------------------- 1 |

Bugs

2 | 3 |

lld bugs should be reported at the 4 | LLVM Bugzilla.

5 | -------------------------------------------------------------------------------- /fuzzle/lld/docs/_templates/layout.html: -------------------------------------------------------------------------------- 1 | {% extends "!layout.html" %} 2 | 3 | {% block extrahead %} 4 | 8 | {% endblock %} 9 | 10 | {% block rootrellink %} 11 |
  • lld Home | 
  • 12 | {% endblock %} 13 | -------------------------------------------------------------------------------- /fuzzle/lld/docs/hello.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/docs/hello.png -------------------------------------------------------------------------------- /fuzzle/lld/docs/llvm-theme/static/contents.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/docs/llvm-theme/static/contents.png -------------------------------------------------------------------------------- /fuzzle/lld/docs/llvm-theme/static/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/docs/llvm-theme/static/logo.png -------------------------------------------------------------------------------- /fuzzle/lld/docs/llvm-theme/static/navigation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/docs/llvm-theme/static/navigation.png -------------------------------------------------------------------------------- /fuzzle/lld/docs/llvm-theme/theme.conf: -------------------------------------------------------------------------------- 1 | [theme] 2 | inherit = basic 3 | stylesheet = llvm.css 4 | pygments_style = friendly 5 | -------------------------------------------------------------------------------- /fuzzle/lld/docs/open_projects.rst: -------------------------------------------------------------------------------- 1 | .. _open_projects: 2 | 3 | Open Projects 4 | ============= 5 | 6 | .. include:: ../include/lld/Core/TODO.txt 7 | 8 | Documentation TODOs 9 | ~~~~~~~~~~~~~~~~~~~ 10 | 11 | .. todolist:: 12 | -------------------------------------------------------------------------------- /fuzzle/lld/include/lld/Common/Version.inc.in: -------------------------------------------------------------------------------- 1 | #define LLD_VERSION @LLD_VERSION@ 2 | #define LLD_VERSION_STRING "@LLD_VERSION@" 3 | #define LLD_VERSION_MAJOR @LLD_VERSION_MAJOR@ 4 | #define LLD_VERSION_MINOR @LLD_VERSION_MINOR@ 5 | #define LLD_REVISION_STRING "@LLD_REVISION@" 6 | #define LLD_REPOSITORY_STRING "@LLD_REPOSITORY@" 7 | -------------------------------------------------------------------------------- /fuzzle/lld/lib/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_subdirectory(Core) 2 | add_subdirectory(Driver) 3 | add_subdirectory(ReaderWriter) 4 | -------------------------------------------------------------------------------- /fuzzle/lld/lib/ReaderWriter/YAML/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_lld_library(lldYAML 2 | ReaderWriterYAML.cpp 3 | 4 | LINK_COMPONENTS 5 | Support 6 | 7 | LINK_LIBS 8 | lldCore 9 | ) 10 | -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/Inputs/alpha.ll: -------------------------------------------------------------------------------- 1 | define void @_DllMainCRTStartup() { 2 | entry: 3 | ret void 4 | } 5 | 6 | define dllexport void @f() local_unnamed_addr { 7 | entry: 8 | ret void 9 | } 10 | -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/Inputs/armnt-executable.s: -------------------------------------------------------------------------------- 1 | # void mainCRTStartup() {} 2 | .syntax unified 3 | .thumb 4 | .text 5 | .def mainCRTStartup 6 | .scl 2 7 | .type 32 8 | .endef 9 | .global mainCRTStartup 10 | .align 2 11 | .thumb_func 12 | mainCRTStartup: 13 | bx lr 14 | -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/Inputs/bad-block-size.pdb: -------------------------------------------------------------------------------- 1 | Microsoft C/C++ MSF 7.00 2 | DS -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/Inputs/bar.ll: -------------------------------------------------------------------------------- 1 | target datalayout = "e-m:w-i64:64-f80:128-n8:16:32:64-S128" 2 | target triple = "x86_64-pc-windows-msvc" 3 | 4 | define void @bar() { 5 | ret void 6 | } 7 | -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/Inputs/beta.ll: -------------------------------------------------------------------------------- 1 | declare dllimport void @f() local_unnamed_addr 2 | 3 | define void @g() local_unnamed_addr { 4 | entry: 5 | tail call void @f() 6 | ret void 7 | } 8 | -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/Inputs/cl-gl.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/test/COFF/Inputs/cl-gl.obj -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/Inputs/combined-resources-2.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/test/COFF/Inputs/combined-resources-2.res -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/Inputs/combined-resources-cursor.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/test/COFF/Inputs/combined-resources-cursor.bmp -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/Inputs/combined-resources-okay.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/test/COFF/Inputs/combined-resources-okay.bmp -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/Inputs/combined-resources.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/test/COFF/Inputs/combined-resources.res -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/Inputs/common-replacement.s: -------------------------------------------------------------------------------- 1 | .globl foo 2 | .data 3 | .p2align 2, 0 4 | foo: 5 | .long 42 6 | -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/Inputs/conflict.ll: -------------------------------------------------------------------------------- 1 | target datalayout = "e-m:w-i64:64-f80:128-n8:16:32:64-S128" 2 | target triple = "x86_64-pc-windows-msvc" 3 | 4 | define void @foo() { 5 | ret void 6 | } 7 | -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/Inputs/constant-export.ll: -------------------------------------------------------------------------------- 1 | target datalayout = "e-m:x-p:32:32-i64:64-f80:32-n8:16:32-a:0:32-S32" 2 | target triple = "i686-unknown-windows-msvc18.0.0" 3 | 4 | @__CFConstantStringClassReference = common global [32 x i32] zeroinitializer, align 4 5 | 6 | !llvm.linker.options = !{!0} 7 | !0 = !{!" -export:___CFConstantStringClassReference,CONSTANT"} 8 | -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/Inputs/constant-import.s: -------------------------------------------------------------------------------- 1 | 2 | .def __DllMainCRTStartup@12 3 | .type 32 4 | .scl 2 5 | .endef 6 | .global __DllMainCRTStartup@12 7 | __DllMainCRTStartup@12: 8 | ret 9 | 10 | .data 11 | .def _Data 12 | .type 0 13 | .scl 2 14 | .endef 15 | .global _Data 16 | _Data: 17 | .long ___CFConstantStringClassReference 18 | 19 | .section .drectve 20 | .ascii " -export:_Data" 21 | 22 | -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/Inputs/default.def: -------------------------------------------------------------------------------- 1 | EXPORTS 2 | f 3 | -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/Inputs/entry-mangled.ll: -------------------------------------------------------------------------------- 1 | target datalayout = "e-m:w-i64:64-f80:128-n8:16:32:64-S128" 2 | target triple = "x86_64-pc-windows-msvc18.0.0" 3 | 4 | define void @"\01?main@@YAHXZ"() { 5 | ret void 6 | } 7 | -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/Inputs/except_handler3.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/test/COFF/Inputs/except_handler3.lib -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/Inputs/export.ll: -------------------------------------------------------------------------------- 1 | target datalayout = "e-m:w-i64:64-f80:128-n8:16:32:64-S128" 2 | target triple = "x86_64-pc-windows-msvc" 3 | 4 | define void @_DllMainCRTStartup() { 5 | ret void 6 | } 7 | 8 | define void @exportfn1() { 9 | ret void 10 | } 11 | 12 | define void @exportfn2() { 13 | ret void 14 | } 15 | 16 | define dllexport void @exportfn3() { 17 | ret void 18 | } 19 | -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/Inputs/extension.def: -------------------------------------------------------------------------------- 1 | LIBRARY library.ext 2 | EXPORTS 3 | f 4 | -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/Inputs/far-arm64-abs.s: -------------------------------------------------------------------------------- 1 | .global too_far26 2 | .global too_far19 3 | .global too_far14 4 | too_far26 = 0x08011000 5 | too_far19 = 0x00111000 6 | too_far14 = 0x00021000 7 | -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/Inputs/gamma.ll: -------------------------------------------------------------------------------- 1 | 2 | declare void @f() local_unnamed_addr 3 | 4 | define void @__imp_f() local_unnamed_addr { 5 | entry: 6 | ret void 7 | } 8 | 9 | define void @mainCRTStartup() local_unnamed_addr { 10 | entry: 11 | tail call void @f() 12 | ret void 13 | } 14 | 15 | -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/Inputs/globals-dia-func-collision3.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/test/COFF/Inputs/globals-dia-func-collision3.obj -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/Inputs/globals-dia-vfunc-collision.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/test/COFF/Inputs/globals-dia-vfunc-collision.obj -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/Inputs/globals-dia-vfunc-collision2.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/test/COFF/Inputs/globals-dia-vfunc-collision2.obj -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/Inputs/globals-dia-vfunc-simple.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/test/COFF/Inputs/globals-dia-vfunc-simple.obj -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/Inputs/gnu-implib-head.s: -------------------------------------------------------------------------------- 1 | .section .idata$2 2 | .global _head_test_lib 3 | _head_test_lib: 4 | .rva hname 5 | .long 0 6 | .long 0 7 | .rva __test_lib_iname 8 | .rva fthunk 9 | 10 | .section .idata$5 11 | fthunk: 12 | .section .idata$4 13 | hname: 14 | -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/Inputs/gnu-implib-tail.s: -------------------------------------------------------------------------------- 1 | .section .idata$4 2 | .long 0 3 | .long 0 4 | .section .idata$5 5 | .long 0 6 | .long 0 7 | 8 | .section .idata$7 9 | .global __test_lib_iname 10 | __test_lib_iname: 11 | .asciz "foo.dll" 12 | -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/Inputs/gnu-weak.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/test/COFF/Inputs/gnu-weak.o -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/Inputs/gnu-weak2.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/test/COFF/Inputs/gnu-weak2.o -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/Inputs/hello64.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/test/COFF/Inputs/hello64.obj -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/Inputs/icf-safe.s: -------------------------------------------------------------------------------- 1 | .section .rdata,"dr",one_only,non_addrsig1 2 | .globl non_addrsig1 3 | non_addrsig1: 4 | .byte 3 5 | 6 | .section .rdata,"dr",one_only,non_addrsig2 7 | .globl non_addrsig2 8 | non_addrsig2: 9 | .byte 3 10 | -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/Inputs/imports-mangle.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/test/COFF/Inputs/imports-mangle.lib -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/Inputs/inline-weak.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/test/COFF/Inputs/inline-weak.o -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/Inputs/inline-weak2.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/test/COFF/Inputs/inline-weak2.o -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/Inputs/library-arm64.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/test/COFF/Inputs/library-arm64.lib -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/Inputs/library.def: -------------------------------------------------------------------------------- 1 | LIBRARY library 2 | EXPORTS 3 | function 4 | data DATA 5 | constant CONSTANT 6 | -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/Inputs/library.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/test/COFF/Inputs/library.lib -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/Inputs/library2-arm64.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/test/COFF/Inputs/library2-arm64.lib -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/Inputs/library2.def: -------------------------------------------------------------------------------- 1 | LIBRARY library2 2 | EXPORTS 3 | function2 4 | -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/Inputs/loadconfig-cfg-x64.s: -------------------------------------------------------------------------------- 1 | # This is the _load_config_used definition needed for /guard:cf tests. 2 | 3 | .section .rdata,"dr" 4 | .globl _load_config_used 5 | _load_config_used: 6 | .long 256 7 | .fill 124, 1, 0 8 | .quad __guard_fids_table 9 | .quad __guard_fids_count 10 | .long __guard_flags 11 | .fill 128, 1, 0 12 | -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/Inputs/locally-imported-def.s: -------------------------------------------------------------------------------- 1 | .text 2 | .globl f 3 | f: 4 | ret 5 | -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/Inputs/locally-imported-imp.s: -------------------------------------------------------------------------------- 1 | .text 2 | call __imp_f 3 | -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/Inputs/lto-cache.ll: -------------------------------------------------------------------------------- 1 | target datalayout = "e-m:w-i64:64-f80:128-n8:16:32:64-S128" 2 | target triple = "x86_64-pc-windows-msvc" 3 | 4 | define i32 @main() { 5 | entry: 6 | call void (...) @globalfunc() 7 | ret i32 0 8 | } 9 | 10 | declare void @globalfunc(...) 11 | -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/Inputs/lto-chkstk-chkstk.s: -------------------------------------------------------------------------------- 1 | .globl __chkstk 2 | __chkstk: 3 | ret 4 | -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/Inputs/lto-chkstk-foo.s: -------------------------------------------------------------------------------- 1 | .globl foo 2 | foo: 3 | ret 4 | -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/Inputs/lto-comdat1.ll: -------------------------------------------------------------------------------- 1 | target datalayout = "e-m:w-i64:64-f80:128-n8:16:32:64-S128" 2 | target triple = "x86_64-pc-windows-msvc" 3 | 4 | $comdat = comdat any 5 | 6 | define void @f1() { 7 | call void @comdat() 8 | ret void 9 | } 10 | 11 | define linkonce_odr void @comdat() comdat { 12 | ret void 13 | } 14 | -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/Inputs/lto-comdat2.ll: -------------------------------------------------------------------------------- 1 | target datalayout = "e-m:w-i64:64-f80:128-n8:16:32:64-S128" 2 | target triple = "x86_64-pc-windows-msvc" 3 | 4 | $comdat = comdat any 5 | 6 | define void @f2() { 7 | call void @comdat() 8 | ret void 9 | } 10 | 11 | define linkonce_odr void @comdat() comdat { 12 | ret void 13 | } 14 | -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/Inputs/lto-dep.ll: -------------------------------------------------------------------------------- 1 | target datalayout = "e-m:w-i64:64-f80:128-n8:16:32:64-S128" 2 | target triple = "x86_64-pc-windows-msvc" 3 | 4 | define void @foo() { 5 | ret void 6 | } 7 | 8 | define internal void @internal() { 9 | ret void 10 | } 11 | -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/Inputs/lto-lazy-reference-dummy.ll: -------------------------------------------------------------------------------- 1 | target datalayout = "e-m:x-p:32:32-i64:64-f80:32-n8:16:32-a:0:32-S32" 2 | target triple = "i686-pc-windows-msvc18.0.0" 3 | 4 | define void @dummy() { 5 | ret void 6 | } 7 | -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/Inputs/msvclto-order-a.ll: -------------------------------------------------------------------------------- 1 | target datalayout = "e-m:w-i64:64-f80:128-n8:16:32:64-S128" 2 | target triple = "x86_64-pc-windows-msvc" 3 | 4 | define void @foo() { 5 | ret void 6 | } 7 | 8 | -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/Inputs/msvclto-order-b.ll: -------------------------------------------------------------------------------- 1 | target datalayout = "e-m:w-i64:64-f80:128-n8:16:32:64-S128" 2 | target triple = "x86_64-pc-windows-msvc" 3 | 4 | declare void @doesntexist() 5 | 6 | define void @foo() { 7 | call void @doesntexist() 8 | ret void 9 | } 10 | 11 | -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/Inputs/msvclto.s: -------------------------------------------------------------------------------- 1 | .globl foo 2 | foo: 3 | ret 4 | -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/Inputs/named.def: -------------------------------------------------------------------------------- 1 | LIBRARY library 2 | EXPORTS 3 | f 4 | -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/Inputs/natvis-1.natvis: -------------------------------------------------------------------------------- 1 | 1st Natvis Test 2 | -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/Inputs/natvis-2.natvis: -------------------------------------------------------------------------------- 1 | Second Natvis Test 2 | -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/Inputs/natvis-3.natvis: -------------------------------------------------------------------------------- 1 | Third Natvis Test 2 | -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/Inputs/object.s: -------------------------------------------------------------------------------- 1 | 2 | .text 3 | 4 | .def f 5 | .scl 2 6 | .type 32 7 | .endef 8 | .global f 9 | f: 10 | retq $0 11 | 12 | .section .drectve,"rd" 13 | .ascii " /EXPORT:f" 14 | -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/Inputs/otherFunc.s: -------------------------------------------------------------------------------- 1 | .global otherFunc 2 | .global MessageBoxA 3 | .text 4 | otherFunc: 5 | ret 6 | MessageBoxA: 7 | ret 8 | -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/Inputs/pdb-diff-cl.pdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/test/COFF/Inputs/pdb-diff-cl.pdb -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/Inputs/pdb-diff.cpp: -------------------------------------------------------------------------------- 1 | // Build with cl: 2 | // cl.exe /Z7 pdb-diff.cpp /link /debug /pdb:pdb-diff-cl.pdb 3 | // /nodefaultlib /entry:main 4 | // Build with lld (after running the above cl command): 5 | // lld-link.exe /debug /pdb:pdb-diff-lld.pdb /nodefaultlib 6 | // /entry:main pdb-diff.obj 7 | 8 | void *__purecall = 0; 9 | 10 | int main() { return 42; } 11 | -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/Inputs/pdb-diff.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/test/COFF/Inputs/pdb-diff.obj -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/Inputs/pdb-global-gc.s: -------------------------------------------------------------------------------- 1 | .section .data,"dw",one_only,__wc_mb_cur 2 | .global __wc_mb_cur 3 | __wc_mb_cur: 4 | .long 42 5 | -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/Inputs/pdb-import-gc.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/test/COFF/Inputs/pdb-import-gc.lib -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/Inputs/precomp-a.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/test/COFF/Inputs/precomp-a.obj -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/Inputs/precomp-b.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/test/COFF/Inputs/precomp-b.obj -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/Inputs/precomp-invalid.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/test/COFF/Inputs/precomp-invalid.obj -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/Inputs/precomp.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/test/COFF/Inputs/precomp.obj -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/Inputs/resource.res: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/test/COFF/Inputs/resource.res -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/Inputs/ret42.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/test/COFF/Inputs/ret42.lib -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/Inputs/ret42.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/test/COFF/Inputs/ret42.obj -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/Inputs/std32.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/test/COFF/Inputs/std32.lib -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/Inputs/std64.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/test/COFF/Inputs/std64.lib -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/Inputs/weak-external.ll: -------------------------------------------------------------------------------- 1 | target datalayout = "e-m:w-i64:64-f80:128-n8:16:32:64-S128" 2 | target triple = "x86_64-pc-windows-msvc" 3 | 4 | define void @g() { 5 | ret void 6 | } 7 | -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/Inputs/weak-external2.ll: -------------------------------------------------------------------------------- 1 | target datalayout = "e-m:w-i64:64-f80:128-n8:16:32:64-S128" 2 | target triple = "x86_64-pc-windows-msvc" 3 | 4 | define void @f() { 5 | ret void 6 | } 7 | -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/Inputs/weak-external3.ll: -------------------------------------------------------------------------------- 1 | target datalayout = "e-m:w-i64:64-f80:128-n8:16:32:64-S128" 2 | target triple = "x86_64-pc-windows-msvc" 3 | 4 | @f = weak alias void(), void()* @g 5 | 6 | define void @g() { 7 | ret void 8 | } 9 | -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/arm64-dynamicbase.s: -------------------------------------------------------------------------------- 1 | // REQUIRES: aarch64 2 | // RUN: llvm-mc -filetype=obj -triple=aarch64-windows %s -o %t.obj 3 | // RUN: not lld-link -entry:_start -subsystem:console %t.obj -out:%t.exe -dynamicbase:no 2>&1 | FileCheck %s 4 | .globl _start 5 | _start: 6 | ret 7 | 8 | # CHECK: dynamicbase:no is not compatible with arm64 9 | -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/armnt-dynamicbase.test: -------------------------------------------------------------------------------- 1 | # RUN: yaml2obj < %p/Inputs/armnt-executable.obj.yaml > %t.obj 2 | # RUN: not lld-link /out:%t.exe /entry:mainCRTStartup /subsystem:console %t.obj /dynamicbase:no 2>&1 | FileCheck %s 3 | # CHECK: dynamicbase:no is not compatible with arm 4 | -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/armnt-entry-point.test: -------------------------------------------------------------------------------- 1 | # RUN: yaml2obj < %p/Inputs/armnt-executable.obj.yaml > %t.obj 2 | # RUN: lld-link /out:%t.exe /entry:mainCRTStartup /subsystem:console %t.obj 3 | # RUN: llvm-readobj -file-headers %t.exe | FileCheck %s 4 | 5 | CHECK: AddressOfEntryPoint: 0x1001 6 | -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/cl-gl.test: -------------------------------------------------------------------------------- 1 | # RUN: not lld-link /out:%t.exe /entry:main %S/Inputs/cl-gl.obj >& %t.log 2 | # RUN: FileCheck %s < %t.log 3 | 4 | # CHECK: is not a native COFF file. Recompile without /GL 5 | -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/could-not-open.test: -------------------------------------------------------------------------------- 1 | RUN: not lld-link 01 2>&1 | FileCheck %s 2 | 3 | CHECK: could not open 01 4 | CHECK-NOT: /machine is not specified 5 | CHECK-NOT: subsystem must be defined 6 | -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/driver-windows.test: -------------------------------------------------------------------------------- 1 | # REQUIRES: system-windows 2 | # RUN: not LLD-LINK 2>&1 | FileCheck %s 3 | CHECK: no input files 4 | -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/entrylib.ll: -------------------------------------------------------------------------------- 1 | ; REQUIRES: x86 2 | ; RUN: llvm-as -o %t.obj %s 3 | ; RUN: rm -f %t.lib 4 | ; RUN: llvm-ar cru %t.lib %t.obj 5 | ; RUN: lld-link /out:%t.exe /entry:main %t.lib 6 | 7 | target datalayout = "e-m:w-i64:64-f80:128-n8:16:32:64-S128" 8 | target triple = "x86_64-pc-windows-msvc" 9 | 10 | define i32 @main() { 11 | ret i32 0 12 | } 13 | -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/export-exe.test: -------------------------------------------------------------------------------- 1 | # RUN: lld-link /entry:main /out:%t.exe /subsystem:windows \ 2 | # RUN: %p/Inputs/ret42.obj /export:main 3 | # RUN: llvm-objdump -p %t.exe | FileCheck %s 4 | 5 | CHECK: Export Table: 6 | CHECK-NEXT: DLL name: export-exe.test.tmp.exe 7 | CHECK-NEXT: Ordinal base: 0 8 | CHECK-NEXT: Ordinal RVA Name 9 | CHECK-NEXT: 0 0 10 | CHECK-NEXT: 1 0x1000 main 11 | -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/filetype.test: -------------------------------------------------------------------------------- 1 | # Make sure input file type is detected by file magic and not by extension. 2 | 3 | # RUN: yaml2obj < %p/Inputs/ret42.yaml > %t.lib 4 | # RUN: lld-link /out:%t.exe /entry:main %t.lib 5 | -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/help.test: -------------------------------------------------------------------------------- 1 | # RUN: lld-link /help | FileCheck %s 2 | 3 | CHECK: OVERVIEW: LLVM Linker 4 | -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/invalid-debug-type.test: -------------------------------------------------------------------------------- 1 | # RUN: yaml2obj < %p/Inputs/pdb1.yaml > %t1.obj 2 | # RUN: yaml2obj < %p/Inputs/pdb2.yaml > %t2.obj 3 | # RUN: lld-link /debug /debugtype:invalid /pdb:%t.pdb /dll /out:%t.dll /entry:main /nodefaultlib \ 4 | # RUN: %t1.obj %t2.obj 2>&1 | FileCheck %s 5 | 6 | # CHECK: /debugtype: unknown option: invalid -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/invalid-debug.test: -------------------------------------------------------------------------------- 1 | # RUN: yaml2obj < %p/Inputs/pdb1.yaml > %t1.obj 2 | # RUN: yaml2obj < %p/Inputs/pdb2.yaml > %t2.obj 3 | # RUN: not lld-link /debug /debug:invalid /pdb:%t.pdb /dll /out:%t.dll /entry:main /nodefaultlib \ 4 | # RUN: %t1.obj %t2.obj 2>&1 | FileCheck %s 5 | 6 | # CHECK: /debug: unknown option: invalid 7 | -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/invalid-obj.test: -------------------------------------------------------------------------------- 1 | # RUN: yaml2obj %s > %t.obj 2 | # RUN: not lld-link %t.obj 2>&1 | FileCheck %s 3 | 4 | # CHECK: getSectionName failed: #1: 5 | 6 | --- !COFF 7 | header: 8 | Machine: IMAGE_FILE_MACHINE_AMD64 9 | Characteristics: [] 10 | sections: 11 | - Name: '/1' 12 | Characteristics: [] 13 | SectionData: 00 14 | symbols: 15 | -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/lib.test: -------------------------------------------------------------------------------- 1 | # RUN: lld-link /machine:x64 /def:%S/Inputs/library.def /out:%t.lib 2 | # RUN: llvm-nm %t.lib | FileCheck %s 3 | 4 | CHECK: 00000000 R __imp_constant 5 | CHECK: 00000000 R constant 6 | 7 | CHECK: 00000000 D __imp_data 8 | 9 | CHECK: 00000000 T __imp_function 10 | CHECK: 00000000 T function 11 | 12 | -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/libname-mingw.test: -------------------------------------------------------------------------------- 1 | # RUN: mkdir -p %t/a 2 | # RUN: cp %p/Inputs/std64.lib %t/a/libstd64.a 3 | 4 | # RUN: lld-link /lldmingw /out:%t.exe /entry:main /verbose \ 5 | # RUN: /defaultlib:std64.lib /subsystem:console %p/Inputs/hello64.obj \ 6 | # RUN: /libpath:%t/a 2>&1 | FileCheck %s 7 | 8 | CHECK: a{{[/\\]}}libstd64.a 9 | -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/linkenv.test: -------------------------------------------------------------------------------- 1 | # RUN: env LINK=-help lld-link | FileCheck %s 2 | # RUN: env _LINK_=-help lld-link | FileCheck %s 3 | 4 | CHECK: OVERVIEW: LLVM Linker 5 | -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/lto-linker-opts.ll: -------------------------------------------------------------------------------- 1 | ; REQUIRES: x86 2 | ; RUN: llvm-as -o %T/lto-linker-opts.obj %s 3 | ; RUN: env LIB=%S/Inputs lld-link /out:%T/lto-linker-opts.exe /entry:main /subsystem:console %T/lto-linker-opts.obj 4 | 5 | target datalayout = "e-m:w-i64:64-f80:128-n8:16:32:64-S128" 6 | target triple = "x86_64-pc-windows-msvc" 7 | 8 | !llvm.linker.options = !{!0} 9 | !0 = !{!"/DEFAULTLIB:ret42.lib"} 10 | -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/noentry.test: -------------------------------------------------------------------------------- 1 | # RUN: yaml2obj < %p/Inputs/export.yaml > %t.obj 2 | # RUN: lld-link /out:%t.dll /dll %t.obj 3 | # RUN: llvm-readobj -file-headers %t.dll | FileCheck -check-prefix=ENTRY %s 4 | # RUN: lld-link /out:%t.dll /dll /noentry %t.obj 5 | # RUN: llvm-readobj -file-headers %t.dll | FileCheck -check-prefix=NOENTRY %s 6 | 7 | ENTRY: AddressOfEntryPoint: 0x1000 8 | NOENTRY: AddressOfEntryPoint: 0x0 9 | -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/reloc-discarded-early.s: -------------------------------------------------------------------------------- 1 | # REQUIRES: x86 2 | # RUN: llvm-mc -triple=x86_64-windows-msvc -filetype=obj -o %t.obj %s 3 | # RUN: lld-link -entry:__ImageBase -subsystem:console -debug %t.obj 4 | 5 | .section .debug_info,"dr" 6 | .quad .Ldrectve 7 | 8 | .section .drectve 9 | .Ldrectve: 10 | -------------------------------------------------------------------------------- /fuzzle/lld/test/COFF/reloc-discarded-early2.s: -------------------------------------------------------------------------------- 1 | # REQUIRES: x86 2 | # RUN: llvm-mc -triple=x86_64-windows-msvc -filetype=obj -o %t.obj %s 3 | # RUN: not lld-link -entry:__ImageBase -subsystem:console %t.obj 2>&1 | FileCheck %s 4 | 5 | .text 6 | # CHECK: error: relocation against symbol in discarded section: .drectve 7 | .quad .Ldrectve 8 | 9 | .section .drectve 10 | .Ldrectve: 11 | -------------------------------------------------------------------------------- /fuzzle/lld/test/Driver/Inputs/libtest.a: -------------------------------------------------------------------------------- 1 | ! 2 | -------------------------------------------------------------------------------- /fuzzle/lld/test/Driver/Inputs/usr/lib/i386/libtest.a: -------------------------------------------------------------------------------- 1 | ! 2 | -------------------------------------------------------------------------------- /fuzzle/lld/test/Driver/Inputs/usr/lib/libtest.a: -------------------------------------------------------------------------------- 1 | ! 2 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/aarch64-condb-reloc.s: -------------------------------------------------------------------------------- 1 | .globl _foo 2 | _foo: 3 | nop 4 | nop 5 | nop 6 | nop 7 | 8 | .globl _bar 9 | _bar: 10 | nop 11 | nop 12 | nop 13 | 14 | .globl _dah 15 | _dah: 16 | nop 17 | nop 18 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/aarch64-copy2.s: -------------------------------------------------------------------------------- 1 | .global foo 2 | .type foo, @function 3 | foo: 4 | .global bar 5 | bar: 6 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/aarch64-tls-gdie.s: -------------------------------------------------------------------------------- 1 | .section .tdata,"awT",@progbits 2 | .globl a 3 | a: 4 | .word 42 5 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/aarch64-tls-ie.s: -------------------------------------------------------------------------------- 1 | .text 2 | .global foo 3 | .section .tdata,"awT",%progbits 4 | .align 2 5 | .type foo, %object 6 | .size foo, 4 7 | foo: 8 | .word 5 9 | .text 10 | 11 | .text 12 | .global bar 13 | .section .tdata,"awT",%progbits 14 | .align 2 15 | .type bar, %object 16 | .size bar, 4 17 | bar: 18 | .word 5 19 | .text 20 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/aarch64-tstbr14-reloc.s: -------------------------------------------------------------------------------- 1 | .globl _foo 2 | _foo: 3 | nop 4 | nop 5 | nop 6 | nop 7 | 8 | .globl _bar 9 | _bar: 10 | nop 11 | nop 12 | nop 13 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/abs-hidden.s: -------------------------------------------------------------------------------- 1 | .global foo 2 | .hidden foo 3 | foo = 0x42 4 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/abs.s: -------------------------------------------------------------------------------- 1 | .global abs 2 | abs = 0x42 3 | .global big 4 | big = 0x1000000000 5 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/abs255.s: -------------------------------------------------------------------------------- 1 | .global foo 2 | foo = 255 3 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/abs256.s: -------------------------------------------------------------------------------- 1 | .global foo 2 | foo = 256 3 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/abs257.s: -------------------------------------------------------------------------------- 1 | .global foo 2 | foo = 257 3 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/allow-multiple-definition.s: -------------------------------------------------------------------------------- 1 | .globl _bar 2 | .type _bar, @function 3 | _bar: 4 | mov $2, %eax 5 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/allow-shlib-undefined.s: -------------------------------------------------------------------------------- 1 | .globl _shared 2 | _shared: 3 | callq _unresolved@PLT 4 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/amdgpu-kernel-0.s: -------------------------------------------------------------------------------- 1 | .text 2 | .globl kernel_0 3 | .align 64 4 | .amdgpu_hsa_kernel kernel_0 5 | kernel_0: 6 | s_endpgm 7 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/amdgpu-kernel-1.s: -------------------------------------------------------------------------------- 1 | .text 2 | .globl kernel_1 3 | .align 64 4 | .amdgpu_hsa_kernel kernel_1 5 | kernel_1: 6 | s_endpgm 7 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/archive.s: -------------------------------------------------------------------------------- 1 | .globl _start 2 | _start: 3 | 4 | .globl end 5 | end: 6 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/archive2.s: -------------------------------------------------------------------------------- 1 | .global foo 2 | foo: 3 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/archive3.s: -------------------------------------------------------------------------------- 1 | .global bar 2 | bar: 3 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/archive4.s: -------------------------------------------------------------------------------- 1 | .quad bar 2 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/arm-long-thunk-converge.lds: -------------------------------------------------------------------------------- 1 | SECTIONS { 2 | .foo : { *(.foo) } 3 | .bar 0x2000000 : { *(.bar) } 4 | } 5 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/arm-plt-reloc.s: -------------------------------------------------------------------------------- 1 | .text 2 | .align 2 3 | .globl func1 4 | .type func1,%function 5 | func1: 6 | bx lr 7 | .globl func2 8 | .type func2,%function 9 | func2: 10 | bx lr 11 | .globl func3 12 | .type func3,%function 13 | func3: 14 | bx lr 15 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/arm-shared.s: -------------------------------------------------------------------------------- 1 | .syntax unified 2 | .global bar2 3 | .type bar2, %function 4 | bar2: 5 | 6 | .global zed2 7 | .type zed2, %function 8 | zed2: 9 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/arm-thumb-narrow-branch.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/test/ELF/Inputs/arm-thumb-narrow-branch.o -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/arm-tls-get-addr.s: -------------------------------------------------------------------------------- 1 | .syntax unified 2 | .text 3 | .globl __tls_get_addr 4 | .type __tls_get_addr,%function 5 | __tls_get_addr: 6 | bx lr 7 | 8 | .section .tbss,"awT",%nobits 9 | .p2align 2 10 | y: 11 | .space 4 12 | .globl y 13 | .type y, %object 14 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/as-needed-lazy.s: -------------------------------------------------------------------------------- 1 | .global foo 2 | foo: 3 | nop 4 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/bad-archive.a: -------------------------------------------------------------------------------- 1 | ! 2 | this is malformed archive used in bad-archive.s 3 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/comdat-discarded-reloc.s: -------------------------------------------------------------------------------- 1 | .section .text.bar1,"aG",@progbits,group,comdat 2 | 3 | .section .text.bar2 4 | .global bar 5 | bar: 6 | .quad .text.bar1 7 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/comdat.s: -------------------------------------------------------------------------------- 1 | .section .text3,"axG",@progbits,zed,comdat,unique,0 2 | .global abc 3 | abc: 4 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/comment-gc.s: -------------------------------------------------------------------------------- 1 | .ident "bar" 2 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/common.s: -------------------------------------------------------------------------------- 1 | .comm sym1,8,4 2 | .comm sym2,4,4 3 | .comm sym4,4,16 4 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/compress-debug.s: -------------------------------------------------------------------------------- 1 | .text 2 | .fill 0x44 3 | 4 | .section .debug_info,"",@progbits 5 | .fill 0x43 6 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/conflict.s: -------------------------------------------------------------------------------- 1 | .globl _Z3muldd, foo, baz 2 | _Z3muldd: 3 | foo: 4 | baz: 5 | mov $60, %rax 6 | mov $42, %rdi 7 | syscall 8 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/copy-in-shared.s: -------------------------------------------------------------------------------- 1 | .type foo, @object 2 | .global foo 3 | foo: 4 | .size foo, 4 5 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/copy-rel-abs.s: -------------------------------------------------------------------------------- 1 | .global foo 2 | .type foo, @object 3 | .size foo, 4 4 | foo: 5 | .weak bar 6 | .type bar, @object 7 | .size bar, 4 8 | bar: 9 | .long 42 10 | 11 | .weak zed 12 | .type zed, @object 13 | zed = 0x1000 14 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/copy-rel-corrupted.s: -------------------------------------------------------------------------------- 1 | .type x,@object 2 | .globl x 3 | x: 4 | .size x, 0 5 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/copy-rel-large.s: -------------------------------------------------------------------------------- 1 | .global foo 2 | .type foo, @object 3 | foo: 4 | .size foo, 0x100000001 5 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/copy-rel-pie.s: -------------------------------------------------------------------------------- 1 | .data 2 | .global foo 3 | .type foo, @object 4 | .size foo, 4 5 | foo: 6 | .long 0 7 | 8 | .text 9 | .global bar 10 | .type bar, @function 11 | bar: 12 | retq 13 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/copy-rel-tls.s: -------------------------------------------------------------------------------- 1 | .bss 2 | .global foo 3 | .type foo, @object 4 | .size foo, 4 5 | foo: 6 | 7 | .section .tbss,"awT",@nobits 8 | .global tfoo 9 | .skip 0x2000 10 | .type tfoo,@object 11 | .size tfoo, 4 12 | tfoo: 13 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/copy-rel-version.s: -------------------------------------------------------------------------------- 1 | .data 2 | .global foo@v1 3 | .type foo@v1, @object 4 | .size foo@v1, 4 5 | .global foo@@v2 6 | .type foo@@v2, @object 7 | .size foo@@v2, 8 8 | foo@v1: 9 | foo@@v2: 10 | .int 0 11 | .int 0 12 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/copy-relocation-zero-abs-addr.s: -------------------------------------------------------------------------------- 1 | .globl ver1 2 | .globl ver2 3 | ver1 = 0x0 4 | ver2 = 0x0 5 | 6 | .type foo,@object 7 | .comm foo,16,16 8 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/copy-relocation-zero-nonabs-addr.s: -------------------------------------------------------------------------------- 1 | .balign 1024 2 | .type foo,@object 3 | .globl foo 4 | goo: 5 | foo: 6 | .long 0 7 | .size foo,4 8 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/copy-relocation-zero-nonabs-addr.script: -------------------------------------------------------------------------------- 1 | SECTIONS { 2 | goo = 0; 3 | }; 4 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/corrupt-version-reference.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/test/ELF/Inputs/corrupt-version-reference.so -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/ctors_dtors_priority1.s: -------------------------------------------------------------------------------- 1 | .section .ctors, "aw", @progbits 2 | .quad 0xA1 3 | 4 | .section .dtors, "aw", @progbits 5 | .quad 0xA2 6 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/ctors_dtors_priority2.s: -------------------------------------------------------------------------------- 1 | .section .ctors, "aw", @progbits 2 | .quad 0xB1 3 | 4 | .section .dtors, "aw", @progbits 5 | .quad 0xB2 6 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/ctors_dtors_priority3.s: -------------------------------------------------------------------------------- 1 | .section .ctors, "aw", @progbits 2 | .quad 0xC1 3 | 4 | .section .dtors, "aw", @progbits 5 | .quad 0xC2 6 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/discard-merge-unnamed.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/test/ELF/Inputs/discard-merge-unnamed.o -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/dso-undef-size.s: -------------------------------------------------------------------------------- 1 | .text 2 | .global foo 3 | .size foo, 4 4 | foo: 5 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/dtrace-r.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/test/ELF/Inputs/dtrace-r.o -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/duplicated-plt-entry.s: -------------------------------------------------------------------------------- 1 | .global bar 2 | .type bar, @gnu_indirect_function 3 | bar: 4 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/dynamic-list-weak-archive.s: -------------------------------------------------------------------------------- 1 | .globl foo 2 | foo: 3 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/dynamic-reloc-weak.s: -------------------------------------------------------------------------------- 1 | .type sym1,@function 2 | .global sym1 3 | sym1: 4 | 5 | .type sym2,@function 6 | .global sym2 7 | sym2: 8 | 9 | .type sym3,@function 10 | .global sym3 11 | sym3: 12 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/dynamic-reloc.s: -------------------------------------------------------------------------------- 1 | .global main 2 | main: 3 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/eh-frame-end.s: -------------------------------------------------------------------------------- 1 | .section ".eh_frame", "a", @progbits 2 | .long 0 3 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/eh-frame.s: -------------------------------------------------------------------------------- 1 | .cfi_startproc 2 | .cfi_def_cfa_offset 32 3 | .cfi_endproc 4 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/ehframe-relocation.s: -------------------------------------------------------------------------------- 1 | .cfi_startproc 2 | .cfi_endproc 3 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/empty-ver.ver: -------------------------------------------------------------------------------- 1 | ver { 2 | }; 3 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/exclude-libs.ll: -------------------------------------------------------------------------------- 1 | @fn2 = global void()* null; 2 | 3 | target triple = "x86_64-unknown-linux" 4 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/exclude-libs.s: -------------------------------------------------------------------------------- 1 | .globl fn 2 | fn: 3 | nop 4 | 5 | .globl foo 6 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/far-arm-abs.s: -------------------------------------------------------------------------------- 1 | .global far 2 | .type far,%function 3 | far = 0x201001c 4 | 5 | .global too_far1 6 | .type too_far1,%function 7 | too_far1 = 0x2020008 8 | .global too_far2 9 | .type too_far2,%function 10 | too_far2 = 0x202000c 11 | .global too_far3 12 | .type too_far3,%function 13 | too_far3 = 0x2020010 14 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/far-long-arm-abs.s: -------------------------------------------------------------------------------- 1 | .global far 2 | .type far,%function 3 | far = 0x201001c 4 | 5 | .global too_far1 6 | .type too_far1,%function 7 | too_far1 = 0x2020014 8 | .global too_far2 9 | .type too_far2,%function 10 | too_far2 = 0x2020020 11 | .global too_far3 12 | .type too_far3,%function 13 | too_far3 = 0x202002c 14 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/gc-sections-shared.s: -------------------------------------------------------------------------------- 1 | .global baz 2 | .type baz, @function 3 | baz: 4 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/gc-sections-shared2.s: -------------------------------------------------------------------------------- 1 | .global qux 2 | .type qux, @function 3 | qux: 4 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/gc-sections-weak.s: -------------------------------------------------------------------------------- 1 | .weak foo 2 | foo: 3 | nop 4 | 5 | .data 6 | .global bar2 7 | bar2: 8 | .quad foo 9 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/gnu-ifunc-dso.s: -------------------------------------------------------------------------------- 1 | .type foo STT_GNU_IFUNC 2 | .globl foo 3 | foo: 4 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/gnu-ifunc-gotpcrel.s: -------------------------------------------------------------------------------- 1 | .type foo STT_GNU_IFUNC 2 | .globl foo 3 | foo: 4 | ret 5 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/gotpc-relax-und-dso.s: -------------------------------------------------------------------------------- 1 | .globl dsofoo 2 | .type dsofoo, @function 3 | dsofoo: 4 | nop 5 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/hexagon-shared.s: -------------------------------------------------------------------------------- 1 | .global bar 2 | bar: 3 | jumpr lr 4 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/hexagon.s: -------------------------------------------------------------------------------- 1 | .global _start 2 | _start: 3 | nop 4 | .global foo 5 | foo: 6 | jumpr lr 7 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/hidden-shared-err.s: -------------------------------------------------------------------------------- 1 | .global foo 2 | foo: 3 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/hidden-shared-err2.s: -------------------------------------------------------------------------------- 1 | .quad foo 2 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/i386-got32x-baseless.elf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/test/ELF/Inputs/i386-got32x-baseless.elf -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/i386-linkonce.s: -------------------------------------------------------------------------------- 1 | .section .gnu.linkonce.t.__i686.get_pc_thunk.bx 2 | .global __i686.get_pc_thunk.bx 3 | __i686.get_pc_thunk.bx: 4 | mov (%esp),%ebx 5 | ret 6 | 7 | .section .text 8 | .global _strchr1 9 | _strchr1: 10 | call __i686.get_pc_thunk.bx 11 | ret 12 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/i386-pic-plt.s: -------------------------------------------------------------------------------- 1 | .global foo 2 | .type foo, @function 3 | foo: 4 | nop 5 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/i386-reloc-16-error.s: -------------------------------------------------------------------------------- 1 | .globl foo 2 | .hidden foo 3 | foo = 65536 4 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/i386-reloc-16.s: -------------------------------------------------------------------------------- 1 | .globl foo 2 | .hidden foo 3 | foo = 0xffff 4 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/i386-reloc-8-error.s: -------------------------------------------------------------------------------- 1 | .globl foo 2 | .hidden foo 3 | foo = 256 4 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/i386-reloc-8.s: -------------------------------------------------------------------------------- 1 | .globl foo 2 | .hidden foo 3 | foo = 0xff 4 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/i386-tls-got.s: -------------------------------------------------------------------------------- 1 | .type foobar,@object 2 | .section .tdata,"awT",@progbits 3 | .globl foobar 4 | foobar: 5 | .long 42 6 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/icf-absolute.s: -------------------------------------------------------------------------------- 1 | .globl a1, a2 2 | a1 = 1 3 | a2 = 1 4 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/icf-absolute2.s: -------------------------------------------------------------------------------- 1 | .globl a1, a2 2 | a1 = 1 3 | a2 = 2 4 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/icf-merge-sec.s: -------------------------------------------------------------------------------- 1 | .section .rodata.str,"aMS",@progbits,1 2 | .asciz "bar" 3 | .asciz "baz" 4 | .asciz "foo" 5 | 6 | .section .text.f2,"ax" 7 | .globl f2 8 | f2: 9 | .quad .rodata.str+8 10 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/icf-merge.s: -------------------------------------------------------------------------------- 1 | .section .rodata.str,"aMS",@progbits,1 2 | .asciz "bar" 3 | .asciz "baz" 4 | foo: 5 | .asciz "foo" 6 | 7 | .section .text.f2,"ax" 8 | .globl f2 9 | f2: 10 | lea foo+42(%rip), %rax 11 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/icf-merge2.s: -------------------------------------------------------------------------------- 1 | .section .rodata.str,"aMS",@progbits,1 2 | .asciz "bar" 3 | .asciz "baz" 4 | boo: 5 | .asciz "boo" 6 | 7 | .section .text.f2,"ax" 8 | .globl f2 9 | f2: 10 | lea boo+42(%rip), %rax 11 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/icf-merge3.s: -------------------------------------------------------------------------------- 1 | .section .rodata.str,"aMS",@progbits,1 2 | .asciz "bar" 3 | .asciz "baz" 4 | foo: 5 | .asciz "foo" 6 | 7 | .section .text.f2,"ax" 8 | .globl f2 9 | f2: 10 | lea foo+43(%rip), %rax 11 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/icf-non-mergeable.s: -------------------------------------------------------------------------------- 1 | .globl d1, d2 2 | .section .data.d1, "aw" 3 | d1: 4 | .quad 0 5 | 6 | .section .data.d2, "aw" 7 | d2: 8 | .quad 0 9 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/icf-safe.s: -------------------------------------------------------------------------------- 1 | .section .text.non_addrsig1,"ax",@progbits 2 | .globl non_addrsig1 3 | non_addrsig1: 4 | ret 5 | 6 | .section .text.non_addrsig2,"ax",@progbits 7 | .globl non_addrsig2 8 | non_addrsig2: 9 | ret 10 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/icf2.s: -------------------------------------------------------------------------------- 1 | .globl f1, f2 2 | .section .text.f2, "ax" 3 | f2: 4 | mov $60, %rdi 5 | call f1 6 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/libsearch-dyn.s: -------------------------------------------------------------------------------- 1 | .globl _bar,_dynamic 2 | _bar: 3 | _dynamic: 4 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/libsearch-st.s: -------------------------------------------------------------------------------- 1 | .globl _bar,_static 2 | _bar: 3 | _static: 4 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/llvm33-rela-outside-group.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/test/ELF/Inputs/llvm33-rela-outside-group.o -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/local-symbol-in-dso.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/test/ELF/Inputs/local-symbol-in-dso.so -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/map-file2.s: -------------------------------------------------------------------------------- 1 | foo: 2 | .cfi_startproc 3 | nop 4 | .cfi_endproc 5 | .global bar 6 | bar: 7 | nop 8 | .section .text.zed,"ax",@progbits 9 | .global zed 10 | zed: 11 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/map-file3.s: -------------------------------------------------------------------------------- 1 | .global bah 2 | bah: 3 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/map-file4.s: -------------------------------------------------------------------------------- 1 | .global baz 2 | baz: 3 | retq 4 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/merge.s: -------------------------------------------------------------------------------- 1 | .section .mysec,"aM",@progbits,4 2 | .align 4 3 | .long 0x42 4 | 5 | .text 6 | movl .mysec, %eax 7 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/mips-64-got-load.s: -------------------------------------------------------------------------------- 1 | .text 2 | .global foo1 3 | foo1: 4 | ld $2, %got_disp(local1)($gp) 5 | 6 | .bss 7 | local1: 8 | .word 0 9 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/mips-align-err.s: -------------------------------------------------------------------------------- 1 | .global _foo 2 | _foo: 3 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/mips-concatenated-abiflags.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/test/ELF/Inputs/mips-concatenated-abiflags.o -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/mips-fnpic.s: -------------------------------------------------------------------------------- 1 | .option pic0 2 | .text 3 | .global fnpic 4 | .type fnpic, @function 5 | fnpic: 6 | nop 7 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/mips-fpic.s: -------------------------------------------------------------------------------- 1 | .option pic2 2 | .text 3 | .global fpic 4 | .type fpic, @function 5 | fpic: 6 | nop 7 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/mips-gp-dips-corrupt-ver.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/test/ELF/Inputs/mips-gp-dips-corrupt-ver.so -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/mips-gp-disp.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/test/ELF/Inputs/mips-gp-disp.so -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/mips-gp0-non-zero.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/test/ELF/Inputs/mips-gp0-non-zero.o -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/mips-mgot-1.s: -------------------------------------------------------------------------------- 1 | .text 2 | .global foo1 3 | foo1: 4 | addiu $2, $2, %gottprel(tls0) # tls got entry 5 | addiu $2, $2, %gottprel(tls1) # tls got entry 6 | 7 | .section .tdata,"awT",%progbits 8 | .global tls1 9 | tls1: 10 | .word 0 11 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/mips-micro-gp0-non-zero.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/test/ELF/Inputs/mips-micro-gp0-non-zero.o -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/mips-micro.s: -------------------------------------------------------------------------------- 1 | .text 2 | .set micromips 3 | .global foo 4 | .type foo,@function 5 | foo: 6 | nop 7 | 8 | .set nomicromips 9 | .global bar 10 | .type bar,@function 11 | bar: 12 | nop 13 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/mips-n64-gp0-non-zero.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/test/ELF/Inputs/mips-n64-gp0-non-zero.o -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/mips-nonalloc.s: -------------------------------------------------------------------------------- 1 | .section .debug_info 2 | .word __start 3 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/mips-options.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/test/ELF/Inputs/mips-options.o -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/mips-pic.s: -------------------------------------------------------------------------------- 1 | .option pic2 2 | 3 | .section .text.1,"ax",@progbits 4 | .align 4 5 | .globl foo1a 6 | .type foo1a, @function 7 | foo1a: 8 | nop 9 | .globl foo1b 10 | .type foo1b, @function 11 | foo1b: 12 | nop 13 | 14 | .section .text.2,"ax",@progbits 15 | .align 4 16 | .globl foo2 17 | .type foo2, @function 18 | foo2: 19 | nop 20 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/mips-tls.s: -------------------------------------------------------------------------------- 1 | .globl foo 2 | .section .tdata,"awT",%progbits 3 | .type foo, %object 4 | foo: 5 | .word 0 6 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/plt-aarch64.s: -------------------------------------------------------------------------------- 1 | .global bar 2 | bar: 3 | 4 | .global weak 5 | weak: 6 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/ppc64-addr16-error.s: -------------------------------------------------------------------------------- 1 | .global sym 2 | .hidden sym 3 | sym = 0 4 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/ppc64-bsymbolic-local-def.s: -------------------------------------------------------------------------------- 1 | .abiversion 2 2 | .section ".text" 3 | 4 | .p2align 2 5 | .global def 6 | .type def, @function 7 | def: 8 | .Ldef_gep: 9 | addis 2, 12, .TOC.-.Ldef_gep@ha 10 | addi 2, 2, .TOC.-.Ldef_gep@l 11 | .Ldef_lep: 12 | .localentry def, .-def 13 | li 3, 55 14 | blr 15 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/ppc64-func.s: -------------------------------------------------------------------------------- 1 | .text 2 | .abiversion 2 3 | .globl foo_not_shared 4 | .p2align 4 5 | .type foo_not_shared,@function 6 | 7 | foo_not_shared: 8 | .Lfunc_begin0: 9 | li 3, 55 10 | blr 11 | .long 0 12 | .quad 0 13 | .Lfunc_end0: 14 | .size foo_not_shared, .Lfunc_end0-.Lfunc_begin0 15 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/ppc64-no-split-stack.s: -------------------------------------------------------------------------------- 1 | .abiversion 2 2 | .p2align 2 3 | .global nss_callee 4 | .type nss_callee, @function 5 | nss_callee: 6 | li 3, 1 7 | blr 8 | 9 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/ppc64-tls.s: -------------------------------------------------------------------------------- 1 | .text 2 | .abiversion 2 3 | .type a,@object # @a 4 | .type b,@object # @a 5 | .type c,@object # @a 6 | .section .tdata,"awT",@progbits 7 | .globl a 8 | a: 9 | .long 10 # 0xa 10 | .size a, 4 11 | 12 | .globl b 13 | b: 14 | .long 10 # 0xa 15 | .size b, 4 16 | 17 | .globl c 18 | c: 19 | .long 10 # 0xa 20 | .size c, 4 21 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/ppc64le-quadword-ldst.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/test/ELF/Inputs/ppc64le-quadword-ldst.o -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/print-icf.s: -------------------------------------------------------------------------------- 1 | .section .text.f6, "ax" 2 | f6: 3 | mov $60, %rax 4 | mov $42, %rdi 5 | syscall 6 | 7 | .section .text.f7, "ax" 8 | f7: 9 | mov $0, %rax 10 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/progname-ver.s: -------------------------------------------------------------------------------- 1 | .global bar 2 | bar: 3 | .quad __progname@GOT 4 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/protected-data-access.s: -------------------------------------------------------------------------------- 1 | .section .rodata,"a" 2 | .global foo 3 | .protected foo 4 | .type foo, @object 5 | .size foo, 8 6 | foo: 7 | .quad 42 8 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/protected-function-access.s: -------------------------------------------------------------------------------- 1 | .global foo 2 | .protected foo 3 | .type foo, @function 4 | foo: 5 | ret 6 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/protected-shared.s: -------------------------------------------------------------------------------- 1 | .global foo 2 | .protected foo 3 | foo: 4 | 5 | .global bar 6 | .protected bar 7 | bar: 8 | 9 | .global zed 10 | zed: 11 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/relocatable-comdat-multiple.s: -------------------------------------------------------------------------------- 1 | .section .text.c,"axG",@progbits,bbb,comdat 2 | .section .text.d,"axG",@progbits,bbb,comdat 3 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/relocatable-ehframe.s: -------------------------------------------------------------------------------- 1 | .section foo1,"ax",@progbits 2 | .cfi_startproc 3 | nop 4 | .cfi_endproc 5 | 6 | .section bar1,"ax",@progbits 7 | .cfi_startproc 8 | nop 9 | .cfi_endproc 10 | 11 | .section dah1,"ax",@progbits 12 | .cfi_startproc 13 | nop 14 | .cfi_endproc 15 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/relocatable-non-alloc.s: -------------------------------------------------------------------------------- 1 | .section .text.foo,"axG",@progbits,foo,comdat,unique,0 2 | foo: 3 | nop 4 | 5 | .section .debug_info 6 | .long .text.foo 7 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/relocatable-tls.s: -------------------------------------------------------------------------------- 1 | callq __tls_get_addr@PLT 2 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/relocatable.s: -------------------------------------------------------------------------------- 1 | .text 2 | .type xx,@object 3 | .bss 4 | .globl xx 5 | .align 4 6 | xx: 7 | .long 0 8 | .size xx, 4 9 | .type yy,@object 10 | .globl yy 11 | .align 4 12 | yy: 13 | .long 0 14 | .size yy, 4 15 | 16 | .text 17 | .globl foo 18 | .align 16, 0x90 19 | .type foo,@function 20 | foo: 21 | movl $1, xx 22 | movl $2, yy 23 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/relocatable2.s: -------------------------------------------------------------------------------- 1 | .text 2 | .type xxx,@object 3 | .bss 4 | .globl xxx 5 | .align 4 6 | xxx: 7 | .long 0 8 | .size xxx, 4 9 | .type yyy,@object 10 | .globl yyy 11 | .align 4 12 | yyy: 13 | .long 0 14 | .size yyy, 4 15 | 16 | .text 17 | .globl bar 18 | .align 16, 0x90 19 | .type bar,@function 20 | bar: 21 | movl $8, xxx 22 | movl $9, yyy 23 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/relocation-copy-alias.s: -------------------------------------------------------------------------------- 1 | .data 2 | 3 | .globl a1 4 | .type a1, @object 5 | .size a1, 1 6 | a1: 7 | .weak a2 8 | .type a2, @object 9 | .size a2, 1 10 | a2: 11 | .byte 1 12 | 13 | .weak b1 14 | .type b1, @object 15 | .size b1, 1 16 | b1: 17 | .weak b2 18 | .type b2, @object 19 | .size b2, 1 20 | b2: 21 | .globl b3 22 | .type b3, @object 23 | .size b3, 1 24 | b3: 25 | .byte 1 26 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/relocation-copy-align-common.s: -------------------------------------------------------------------------------- 1 | .data 2 | .global foo 3 | .type foo, @object 4 | .align 8 5 | .size foo, 8 6 | foo: 7 | .quad 0 8 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/relocation-copy-align.s: -------------------------------------------------------------------------------- 1 | .data 2 | .balign 16 3 | .zero 12 4 | 5 | .type x,@object 6 | .globl x 7 | x: 8 | .long 0 9 | .size x, 4 10 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/relocation-copy-arm.s: -------------------------------------------------------------------------------- 1 | .bss 2 | 3 | .type x,%object 4 | .globl x 5 | .balign 16 6 | x: 7 | .long 0 8 | .size x, 4 9 | 10 | .type y,%object 11 | .globl y 12 | .balign 16 13 | y: 14 | .long 0 15 | .size y, 4 16 | 17 | .type z,%object 18 | .globl z 19 | .balign 4 20 | z: 21 | .long 0 22 | .size z, 4 23 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/relocation-copy-relro.s: -------------------------------------------------------------------------------- 1 | .rodata 2 | .globl a 3 | .size a, 4 4 | .type a, @object 5 | a: 6 | .word 1 7 | 8 | .section .data.rel.ro,"aw",%progbits 9 | .globl b 10 | .size b, 4 11 | .type b, @object 12 | b: 13 | .word 2 14 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/relocation-copy.s: -------------------------------------------------------------------------------- 1 | .bss 2 | 3 | .type x,@object 4 | .globl x 5 | .balign 16 6 | x: 7 | .long 0 8 | .size x, 4 9 | 10 | .type y,@object 11 | .globl y 12 | .balign 16 13 | y: 14 | .long 0 15 | .size y, 4 16 | 17 | .type z,@object 18 | .globl z 19 | .balign 4 20 | z: 21 | .long 0 22 | .size z, 4 23 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/relocation-relative-absolute.s: -------------------------------------------------------------------------------- 1 | .globl answer 2 | answer = 42 3 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/relocation-size-shared.s: -------------------------------------------------------------------------------- 1 | .data 2 | .global fooshared 3 | .type fooshared,%object 4 | .size fooshared,26 5 | fooshared: 6 | .zero 26 7 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/resolution-end.s: -------------------------------------------------------------------------------- 1 | .data 2 | .quad _end 3 | .quad end 4 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/resolution-shared.s: -------------------------------------------------------------------------------- 1 | .global foo 2 | foo: 3 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/rodynamic.s: -------------------------------------------------------------------------------- 1 | .global foo 2 | .type foo, @function 3 | foo: 4 | ret 5 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/shared-ppc64.s: -------------------------------------------------------------------------------- 1 | .text 2 | .abiversion 2 3 | .globl foo 4 | .p2align 4 5 | .type foo,@function 6 | 7 | foo: 8 | .Lfunc_begin0: 9 | li 3, 55 10 | blr 11 | .long 0 12 | .quad 0 13 | .Lfunc_end0: 14 | .size foo, .Lfunc_end0-.Lfunc_begin0 15 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/shared.s: -------------------------------------------------------------------------------- 1 | .global bar 2 | .type bar, @function 3 | bar: 4 | 5 | .global bar2 6 | .type bar2, @function 7 | bar2: 8 | 9 | .global zed 10 | zed: 11 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/shared2-x86-64.s: -------------------------------------------------------------------------------- 1 | .global bar2 2 | .type bar2, @function 3 | bar2: 4 | ret 5 | 6 | .global zed2 7 | .type zed2, @function 8 | zed2: 9 | ret 10 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/shared2.s: -------------------------------------------------------------------------------- 1 | .global bar2 2 | .type bar2, @function 3 | bar2: 4 | 5 | .global zed2 6 | zed2: 7 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/shared3.s: -------------------------------------------------------------------------------- 1 | .global baz 2 | .type baz, @function 3 | baz: 4 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/shlib-undefined-ref.s: -------------------------------------------------------------------------------- 1 | .globl f 2 | f: 3 | call should_not_be_exported@PLT 4 | ret 5 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/sht-group-gold-r.elf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/test/ELF/Inputs/sht-group-gold-r.elf -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/start-lib-comdat.s: -------------------------------------------------------------------------------- 1 | .global bar 2 | bar: 3 | .section .sec,"aG",@progbits,zed,comdat 4 | .global zed 5 | zed: 6 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/start-lib1.s: -------------------------------------------------------------------------------- 1 | .globl foo 2 | foo: 3 | call bar 4 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/start-lib2.s: -------------------------------------------------------------------------------- 1 | .globl bar 2 | bar: 3 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/startstop-shared2.s: -------------------------------------------------------------------------------- 1 | .globl __start_foo 2 | __start_foo: 3 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/symbol-ordering-file-warnings2.s: -------------------------------------------------------------------------------- 1 | .text 2 | .global missing 3 | missing: 4 | callq undefined 5 | # This is a "bad" (undefined) instance of the symbol 6 | callq multi 7 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/symbol-override.s: -------------------------------------------------------------------------------- 1 | .text 2 | .globl foo 3 | .type foo,@function 4 | foo: 5 | nop 6 | 7 | .globl bar 8 | .type bar,@function 9 | bar: 10 | nop 11 | 12 | .globl do 13 | .type do,@function 14 | do: 15 | callq foo@PLT 16 | callq bar@PLT 17 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/symver-archive1.s: -------------------------------------------------------------------------------- 1 | .text 2 | .globl x 3 | .type x, @function 4 | x: 5 | 6 | .symver x, xx@@VER 7 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/symver-archive2.s: -------------------------------------------------------------------------------- 1 | call xx@PLT 2 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/tls-got-entry.s: -------------------------------------------------------------------------------- 1 | .globl __tls_get_addr 2 | .align 16, 0x90 3 | .type __tls_get_addr,@function 4 | __tls_get_addr: 5 | 6 | .type tlsshared0,@object 7 | .section .tbss,"awT",@nobits 8 | .globl tlsshared0 9 | .align 4 10 | tlsshared0: 11 | .long 0 12 | .size tlsshared0, 4 13 | 14 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/tls-got.s: -------------------------------------------------------------------------------- 1 | .type tls0,@object 2 | .section .tbss,"awT",@nobits 3 | .globl tls0 4 | .align 4 5 | tls0: 6 | .long 0 7 | .size tls0, 4 8 | 9 | .type tls1,@object 10 | .globl tls1 11 | .align 4 12 | tls1: 13 | .long 0 14 | .size tls1, 4 15 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/tls-in-archive.s: -------------------------------------------------------------------------------- 1 | .type foo, @tls_object 2 | .globl foo 3 | foo: 4 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/tls-mismatch.s: -------------------------------------------------------------------------------- 1 | .tbss 2 | .globl tlsvar 3 | tlsvar: 4 | .space 4 5 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/tls-opt-iele-i686-nopic.s: -------------------------------------------------------------------------------- 1 | .type tlsshared0,@object 2 | .section .tbss,"awT",@nobits 3 | .globl tlsshared0 4 | .align 4 5 | tlsshared0: 6 | .long 0 7 | .size tlsshared0, 4 8 | 9 | .type tlsshared1,@object 10 | .section .tbss,"awT",@nobits 11 | .globl tlsshared1 12 | .align 4 13 | tlsshared1: 14 | .long 0 15 | .size tlsshared1, 4 16 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/trace-ar1.s: -------------------------------------------------------------------------------- 1 | .globl _used 2 | _used: 3 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/trace-ar2.s: -------------------------------------------------------------------------------- 1 | .globl _notused 2 | _notused: 3 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/trace-symbols-foo-strong.s: -------------------------------------------------------------------------------- 1 | .text 2 | .globl foo 3 | .type foo, @function 4 | foo: 5 | nop 6 | 7 | .globl bar 8 | .type bar, @function 9 | bar: 10 | nop 11 | 12 | .global func2 13 | .type func2, @function 14 | func2: 15 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/trace-symbols-foo-weak.s: -------------------------------------------------------------------------------- 1 | .comm common,4,4 2 | .text 3 | .weak foo 4 | .type foo, @function 5 | foo: 6 | callq bar@PLT 7 | 8 | .globl func1 9 | .type func1, @function 10 | func1: 11 | call func2@PLT 12 | 13 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/uabs_label.s: -------------------------------------------------------------------------------- 1 | # Sample label to test R_AARCH64_MOVW_UABS relocations 2 | 3 | .globl uabs_label 4 | uabs_label = 0xF000E000D000C 5 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/undef-shared2.s: -------------------------------------------------------------------------------- 1 | .data 2 | .quad foo 3 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/undef-with-plt-addr.s: -------------------------------------------------------------------------------- 1 | .globl set_data 2 | .type set_data,@function 3 | set_data: 4 | 5 | .globl foo 6 | .type foo,@function 7 | foo: 8 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/undef.s: -------------------------------------------------------------------------------- 1 | .global zed1 2 | zed1: 3 | .quad zed2 4 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/undefined-error.s: -------------------------------------------------------------------------------- 1 | callq fmod@PLT 2 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/unknown-reloc.s: -------------------------------------------------------------------------------- 1 | .global und 2 | und: 3 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/unresolved-symbols.s: -------------------------------------------------------------------------------- 1 | .globl _shared 2 | _shared: 3 | callq undef@PLT 4 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/use-bar.s: -------------------------------------------------------------------------------- 1 | .section .bar,"a" 2 | .quad _bar 3 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/verdef-defaultver.s: -------------------------------------------------------------------------------- 1 | .global b@V1 2 | b@V1 = b_1 3 | 4 | .global b@@V2 5 | b@@V2 = b_2 6 | 7 | .globl a 8 | .type a,@function 9 | a: 10 | retq 11 | 12 | .globl b_1 13 | .type b_1,@function 14 | b_1: 15 | retq 16 | 17 | .globl b_2 18 | .type b_2,@function 19 | b_2: 20 | retq 21 | 22 | .globl c 23 | .type c,@function 24 | c: 25 | retq 26 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/verdef.s: -------------------------------------------------------------------------------- 1 | .text 2 | .globl _start 3 | _start: 4 | callq a 5 | callq b 6 | callq c 7 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/verneed2.s: -------------------------------------------------------------------------------- 1 | .globl g1_v1 2 | g1_v1: 3 | ret 4 | 5 | .symver g1_v1, g1@@v1 6 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/version-script-err.script: -------------------------------------------------------------------------------- 1 | { 2 | global: 3 | foo 4 | }; 5 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/version-script-no-warn2.s: -------------------------------------------------------------------------------- 1 | call foo@plt 2 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/version-script-weak.s: -------------------------------------------------------------------------------- 1 | .text 2 | .globl foo 3 | .type foo,@function 4 | foo: 5 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/version-undef-sym.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/test/ELF/Inputs/version-undef-sym.so -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/version-use.script: -------------------------------------------------------------------------------- 1 | ABC { 2 | global: 3 | foo; 4 | local: 5 | *; 6 | }; 7 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/version-use.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/test/ELF/Inputs/version-use.so -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/versiondef.s: -------------------------------------------------------------------------------- 1 | .text 2 | .globl func_impl 3 | func_impl: 4 | ret 5 | .globl func_impl2 6 | func_impl2: 7 | ret 8 | .symver func_impl, func@@VER2 9 | .symver func_impl2, func@VER 10 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/visibility.s: -------------------------------------------------------------------------------- 1 | .data 2 | .quad default 3 | 4 | .protected protected 5 | .quad protected 6 | 7 | .hidden hidden 8 | .quad hidden 9 | 10 | .internal internal 11 | .quad internal 12 | 13 | .hidden protected_with_hidden 14 | .quad protected_with_hidden 15 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/warn-common.s: -------------------------------------------------------------------------------- 1 | .type arr,@object 2 | .comm arr,8,4 3 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/warn-common2.s: -------------------------------------------------------------------------------- 1 | .type arr,@object 2 | .data 3 | .globl arr 4 | .p2align 2 5 | arr: 6 | .long 1 7 | .long 0 8 | .size arr, 8 9 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/weak-undef-lazy.s: -------------------------------------------------------------------------------- 1 | .global foobar 2 | foobar: 3 | nop 4 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/whole-archive.s: -------------------------------------------------------------------------------- 1 | .globl _bar 2 | _bar: 3 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/wrap-dynamic-undef.s: -------------------------------------------------------------------------------- 1 | .global foo 2 | foo: 3 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/wrap-no-real.s: -------------------------------------------------------------------------------- 1 | .globl foo, __wrap_foo 2 | foo = 0x11000 3 | __wrap_foo = 0x11010 4 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/wrap-no-real2.s: -------------------------------------------------------------------------------- 1 | .globl __real_foo 2 | __real_foo = 0x11020 3 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/wrap.s: -------------------------------------------------------------------------------- 1 | .global foo 2 | .weak __wrap_foo 3 | .protected __wrap_foo 4 | .global __real_foo 5 | foo = 0x11000 6 | __wrap_foo = 0x11010 7 | __real_foo = 0x11020 8 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/writable-sec-plt-reloc.s: -------------------------------------------------------------------------------- 1 | .global foo 2 | .type foo, @function 3 | foo: 4 | retq 5 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/x86-64-relax-offset.s: -------------------------------------------------------------------------------- 1 | .global foo 2 | .hidden foo 3 | foo: 4 | nop 5 | nop 6 | nop 7 | nop 8 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/x86-64-reloc-16-error.s: -------------------------------------------------------------------------------- 1 | .globl foo 2 | .hidden foo 3 | foo = 65536 4 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/x86-64-reloc-16.s: -------------------------------------------------------------------------------- 1 | .globl foo 2 | .hidden foo 3 | foo = 0x42 4 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/x86-64-reloc-8-error.s: -------------------------------------------------------------------------------- 1 | .globl foo 2 | .hidden foo 3 | foo = 256 4 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/x86-64-reloc-8.s: -------------------------------------------------------------------------------- 1 | .globl foo 2 | .hidden foo 3 | foo = 0x42 4 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/x86-64-reloc-error.s: -------------------------------------------------------------------------------- 1 | .global big 2 | .hidden big 3 | big = 0x1000000000 4 | 5 | .global foo 6 | .hidden foo 7 | foo = 0 8 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/x86-64-split-stack-extra.s: -------------------------------------------------------------------------------- 1 | # This file is split out to provide better code coverage. 2 | .global split 3 | .type split,@function 4 | split: 5 | retq 6 | 7 | .size split,. - split 8 | 9 | .section .note.GNU-stack,"",@progbits 10 | .section .note.GNU-split-stack,"",@progbits 11 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/x86-64-split-stack-main.s: -------------------------------------------------------------------------------- 1 | .text 2 | 3 | .global non_split 4 | .type non_split,@function 5 | non_split: 6 | retq 7 | .size non_split,. - non_split 8 | 9 | .global non_function_text_symbol 10 | non_function_text_symbol: 11 | .byte 0x01 12 | .type non_function_text_symbol,@STT_OBJECT 13 | .size non_function_text_symbol, 1 14 | 15 | 16 | .section .note.GNU-stack,"",@progbits 17 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/x86-64-tls-gd-got.s: -------------------------------------------------------------------------------- 1 | .globl bar 2 | .section .tdata,"awT",@progbits 3 | .align 4 4 | .type bar, @object 5 | bar: 6 | .long 42 7 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/znotext-copy-relocations.s: -------------------------------------------------------------------------------- 1 | .global foo 2 | .type foo,@object 3 | .size foo, 8 4 | foo: 5 | .quad 42 6 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/znotext-plt-relocations-protected.s: -------------------------------------------------------------------------------- 1 | .global foo 2 | .type foo,@function 3 | .protected foo 4 | foo: 5 | nop 6 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/znotext-plt-relocations.s: -------------------------------------------------------------------------------- 1 | .text 2 | .global atexit 3 | .type atexit,@function 4 | atexit: 5 | nop 6 | 7 | .global foo 8 | .type foo,@function 9 | foo: 10 | nop 11 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/Inputs/ztext.s: -------------------------------------------------------------------------------- 1 | .global bar 2 | .type bar, @object 3 | .size bar, 8 4 | bar: 5 | .quad 0 6 | 7 | .global zed 8 | .type zed, @function 9 | zed: 10 | nop 11 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/aarch64-cortex-a53-843419-cli.s: -------------------------------------------------------------------------------- 1 | // REQUIRES: x86 2 | // RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t 3 | // RUN: not ld.lld %t -fix-cortex-a53-843419 -o /dev/null 2>&1 | FileCheck %s 4 | 5 | // CHECK: --fix-cortex-a53-843419 is only supported on AArch64 targets 6 | .globl entry 7 | .text 8 | .quad 0 9 | entry: 10 | ret 11 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/aarch64-fpic-prel16.s: -------------------------------------------------------------------------------- 1 | // REQUIRES: aarch64 2 | // RUN: llvm-mc -filetype=obj -triple=aarch64-none-freebsd %s -o %t.o 3 | // RUN: not ld.lld -shared %t.o -o /dev/null 2>&1 | FileCheck %s 4 | // CHECK: R_AARCH64_PREL16 cannot be used against symbol foo; recompile with -fPIC 5 | // CHECK: >>> defined in {{.*}} 6 | // CHECK: >>> referenced by {{.*}}:(.data+0x0) 7 | 8 | .data 9 | .hword foo - . 10 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/aarch64-fpic-prel32.s: -------------------------------------------------------------------------------- 1 | // REQUIRES: aarch64 2 | // RUN: llvm-mc -filetype=obj -triple=aarch64-none-freebsd %s -o %t.o 3 | // RUN: not ld.lld -shared %t.o -o /dev/null 2>&1 | FileCheck %s 4 | // CHECK: relocation R_AARCH64_PREL32 cannot be used against symbol foo; recompile with -fPIC 5 | // CHECK: >>> defined in {{.*}} 6 | // CHECK: >>> referenced by {{.*}}:(.data+0x0) 7 | 8 | .data 9 | .word foo - . 10 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/aarch64-fpic-prel64.s: -------------------------------------------------------------------------------- 1 | // REQUIRES: aarch64 2 | // RUN: llvm-mc -filetype=obj -triple=aarch64-none-freebsd %s -o %t.o 3 | // RUN: not ld.lld -shared %t.o -o /dev/null 2>&1 | FileCheck %s 4 | // CHECK: relocation R_AARCH64_PREL64 cannot be used against symbol foo; recompile with -fPIC 5 | // CHECK: >>> defined in {{.*}} 6 | // CHECK: >>> referenced by {{.*}}:(.data+0x0) 7 | 8 | .data 9 | .xword foo - . 10 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/aarch64-hi21-error.s: -------------------------------------------------------------------------------- 1 | // REQUIRES: aarch64 2 | // RUN: llvm-mc -filetype=obj -triple=aarch64-pc-freebsd %S/Inputs/abs.s -o %tabs 3 | // RUN: llvm-mc -filetype=obj -triple=aarch64-pc-freebsd %s -o %t 4 | // RUN: not ld.lld %tabs %t -o /dev/null 2>&1 | FileCheck %s 5 | 6 | .globl _start 7 | _start: 8 | adrp x0, big 9 | 10 | #CHECK: R_AARCH64_ADR_PREL_PG_HI21 out of range 11 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/aarch64-ldprel-lo19-invalid.s: -------------------------------------------------------------------------------- 1 | # REQUIRES: aarch64 2 | 3 | # RUN: llvm-mc -filetype=obj -triple=aarch64-linux-none %s -o %t.o 4 | # RUN: not ld.lld -shared %t.o -o /dev/null 2>&1 | FileCheck %s 5 | 6 | # CHECK: relocation R_AARCH64_LD_PREL_LO19 out of range: 2065536 is not in [-1048576, 1048575] 7 | 8 | ldr x8, patatino 9 | .data 10 | .zero 2000000 11 | patatino: 12 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/aarch64-lo21-error.s: -------------------------------------------------------------------------------- 1 | // REQUIRES: aarch64 2 | // RUN: llvm-mc -filetype=obj -triple=aarch64-pc-freebsd %S/Inputs/abs.s -o %tabs 3 | // RUN: llvm-mc -filetype=obj -triple=aarch64-pc-freebsd %s -o %t 4 | // RUN: not ld.lld %tabs %t -o /dev/null 2>&1 | FileCheck %s 5 | 6 | .globl _start 7 | _start: 8 | adr x0, big 9 | 10 | #CHECK: R_AARCH64_ADR_PREL_LO21 out of range 11 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/aarch64-load-alignment.s: -------------------------------------------------------------------------------- 1 | # REQUIRES: aarch64 2 | 3 | # RUN: llvm-mc -filetype=obj -triple=aarch64-linux-none %s -o %t.o 4 | # RUN: not ld.lld -shared %t.o -o /dev/null 2>&1 | FileCheck %s 5 | 6 | # CHECK: improper alignment for relocation R_AARCH64_LD_PREL_LO19: 0x10005 is not aligned to 4 bytes 7 | 8 | ldr x8, patatino 9 | .data 10 | .zero 5 11 | patatino: 12 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/basic-avr.s: -------------------------------------------------------------------------------- 1 | # REQUIRES: avr 2 | # RUN: llvm-mc -filetype=obj -triple=avr-unknown-linux -mcpu=atmega328p %s -o %t.o 3 | # RUN: ld.lld %t.o -o %t.exe -Ttext=0 4 | # RUN: llvm-objdump -d %t.exe | FileCheck %s 5 | 6 | main: 7 | call foo 8 | foo: 9 | jmp foo 10 | 11 | # CHECK: main: 12 | # CHECK-NEXT: 0: 0e 94 02 00 13 | # CHECK: foo: 14 | # CHECK-NEXT: 4: 0c 94 02 00 15 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/chroot.s: -------------------------------------------------------------------------------- 1 | # REQUIRES: x86 2 | # RUN: rm -rf %t.dir 3 | # RUN: mkdir %t.dir 4 | # RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t.dir/chroot.o 5 | # RUN: ld.lld --chroot %t.dir -o %t.exe /chroot.o 6 | 7 | # RUN: echo 'INPUT(/chroot.o)' > %t.dir/scr 8 | # RUN: ld.lld --chroot %t.dir -o %t.exe /scr 9 | 10 | .globl _start 11 | _start: 12 | ret 13 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/comdat-linkonce.s: -------------------------------------------------------------------------------- 1 | // REQUIRES: x86 2 | // RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o 3 | // RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %p/Inputs/comdat.s -o %t2.o 4 | // RUN: ld.lld -shared %t.o %t2.o -o %t 5 | // RUN: ld.lld -shared %t2.o %t.o -o %t 6 | 7 | .section .gnu.linkonce.t.zed 8 | .globl abc 9 | abc: 10 | nop 11 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/common-gc2.s: -------------------------------------------------------------------------------- 1 | # REQUIRES: x86 2 | # RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t 3 | # RUN: ld.lld -gc-sections -export-dynamic %t -o %t1 4 | # RUN: llvm-readobj --dyn-symbols %t1 | FileCheck %s 5 | 6 | # CHECK: Name: bar@ 7 | # CHECK: Name: foo@ 8 | 9 | .comm foo,4,4 10 | .comm bar,4,4 11 | 12 | .text 13 | .globl _start 14 | _start: 15 | .quad foo 16 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/defined-tls_get_addr.s: -------------------------------------------------------------------------------- 1 | // REQUIRES: x86 2 | // RUN: llvm-mc %s -o %t.o -triple x86_64-pc-linux -filetype=obj 3 | // RUN: ld.lld %t.o -o /dev/null 4 | 5 | // Don't error if __tls_get_addr is defined. 6 | 7 | .global _start 8 | .global __tls_get_addr 9 | _start: 10 | __tls_get_addr: 11 | nop 12 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/defsym-dynamic.s: -------------------------------------------------------------------------------- 1 | # REQUIRES: x86 2 | # RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o 3 | # RUN: ld.lld -o %t.so -shared %t.o --defsym=foo2=foo1 4 | # RUN: llvm-readobj --dyn-symbols %t.so | FileCheck %s 5 | 6 | # CHECK: Name: foo1 7 | # CHECK: Name: foo2 8 | 9 | .globl foo1 10 | foo1 = 0x123 11 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/dtrace-r.test: -------------------------------------------------------------------------------- 1 | RUN: ld.lld -r -o %t.o %p/Inputs/dtrace-r.o 2 | RUN: llvm-readobj -r %t.o | FileCheck %s 3 | 4 | CHECK: Relocations [ 5 | CHECK-NEXT: Section ({{.*}}) .rela.text { 6 | CHECK-NEXT: 0x0 R_X86_64_NONE - 0x0 7 | CHECK-NEXT: } 8 | CHECK-NEXT: ] 9 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/dynamic-list-locals.s: -------------------------------------------------------------------------------- 1 | # REQUIRES: x86 2 | 3 | # RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o 4 | # RUN: echo "{ local: *; };" > %t.list 5 | # RUN: not ld.lld -dynamic-list %t.list -shared %t.o -o %t.so 2>&1 | FileCheck %s 6 | 7 | # CHECK: error: {{.*}}:1: "local:" scope not supported in --dynamic-list 8 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/dynamic-list-unexpected-end.s: -------------------------------------------------------------------------------- 1 | # REQUIRES: x86 2 | 3 | # RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o 4 | # RUN: echo "{ }; foo;" > %t.list 5 | # RUN: not ld.lld -dynamic-list %t.list -shared %t.o -o %t.so 2>&1 | FileCheck %s 6 | 7 | # CHECK: error: {{.*}}:1: EOF expected, but got foo 8 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/dynstr-no-rosegment.s: -------------------------------------------------------------------------------- 1 | # REQUIRES: x86 2 | # Verify that a .dynstr in the .text segment has null byte terminators 3 | 4 | # RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o 5 | # RUN: ld.lld %t.o -no-rosegment -o %t.so -shared 6 | # RUN: llvm-objdump %t.so -s -j .dynstr | FileCheck %s 7 | 8 | # CHECK: 00666f6f 00 .foo. 9 | 10 | .globl foo 11 | foo: 12 | ret 13 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/eh-frame-multilpe-cie.s: -------------------------------------------------------------------------------- 1 | // REQUIRES: x86 2 | // RUN: llvm-mc %s -o %t.o -filetype=obj -triple=x86_64-pc-linux 3 | // RUN: ld.lld --eh-frame-hdr %t.o -o /dev/null -shared 4 | // We would fail to parse multiple cies in the same file. 5 | 6 | .cfi_startproc 7 | .cfi_personality 0x9b, foo 8 | .cfi_endproc 9 | 10 | .cfi_startproc 11 | .cfi_endproc 12 | 13 | foo: 14 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/eh-frame-rel.s: -------------------------------------------------------------------------------- 1 | // REQUIRES: x86 2 | // RUN: llvm-mc -filetype=obj -triple=i686-pc-linux %s -o %t.o 3 | // RUN: ld.lld %t.o %t.o -o /dev/null -shared 4 | // We used to try to read the relocations as RELA and error out 5 | 6 | .cfi_startproc 7 | .cfi_endproc 8 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/empty-archive.s: -------------------------------------------------------------------------------- 1 | // REQUIRES: x86 2 | // RUN: llvm-ar rc %t.a 3 | // RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o 4 | // RUN: ld.lld -shared %t.o %t.a -o /dev/null 5 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/empty-pack-dyn-relocs.s: -------------------------------------------------------------------------------- 1 | // REQUIRES: x86 2 | 3 | // RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t.o 4 | // RUN: ld.lld -pie --pack-dyn-relocs=relr %t.o -o %t 5 | // RUN: llvm-readobj -sections %t | FileCheck %s 6 | 7 | .global _start 8 | _start: 9 | nop 10 | 11 | # CHECK-NOT: Name: .relr.dyn 12 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/end-abs.s: -------------------------------------------------------------------------------- 1 | # REQUIRES: x86 2 | # RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o 3 | # RUN: ld.lld %t.o -o %t -pie 4 | # RUN: llvm-readobj -r %t | FileCheck %s 5 | 6 | # CHECK: Relocations [ 7 | # CHECK-NEXT: ] 8 | 9 | .global _start 10 | _start: 11 | .long _end - . 12 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/end-preserve.s: -------------------------------------------------------------------------------- 1 | // REQUIRES: x86 2 | // Should preserve the value of the "end" symbol if it is defined. 3 | 4 | // RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o 5 | // RUN: ld.lld %t.o -o %t 6 | // RUN: llvm-nm %t | FileCheck %s 7 | 8 | // CHECK: 0000000000000005 A end 9 | 10 | .global _start,end 11 | end = 5 12 | .text 13 | _start: 14 | nop 15 | .bss 16 | .space 6 17 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/executable-undefined-protected-ignoreall.s: -------------------------------------------------------------------------------- 1 | # REQUIRES: x86 2 | # RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t 3 | # RUN: not ld.lld %t -o /dev/null --unresolved-symbols=ignore-all -pie 2>&1 | FileCheck %s 4 | # CHECK: error: undefined symbol: foo 5 | 6 | .protected foo 7 | _start: 8 | callq foo@PLT 9 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/file-access.s: -------------------------------------------------------------------------------- 1 | # REQUIRES: x86, shell 2 | 3 | # RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t.o 4 | # RUN: ld.lld -r %t.o -o %t1.o 5 | # RUN: [ ! -x %t1.o ] 6 | # RUN: ld.lld -shared %t.o -o %t2.so 7 | # RUN: [ -x %t2.so ] 8 | # RUN: ld.lld %t.o -o %t3 9 | # RUN: [ -x %t3 ] 10 | 11 | .global _start 12 | _start: 13 | nop 14 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/gc-absolute.s: -------------------------------------------------------------------------------- 1 | # REQUIRES: x86 2 | 3 | # RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t 4 | # RUN: ld.lld %t -o /dev/null -shared --gc-sections 5 | 6 | .global foo 7 | foo = 0x123 8 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/gc-sections-undefined.s: -------------------------------------------------------------------------------- 1 | # REQUIRES: x86 2 | # RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t 3 | # RUN: ld.lld %t -o %t1 --gc-sections --undefined=foo 4 | # RUN: llvm-readobj -t %t1 | FileCheck %s 5 | 6 | # CHECK: foo 7 | 8 | .section .foo,"ax" 9 | .global foo 10 | foo: 11 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/gdb-index-no-debug.s: -------------------------------------------------------------------------------- 1 | # REQUIRES: x86 2 | # RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o 3 | # RUN: ld.lld -o %t.exe -gdb-index %t.o 4 | # RUN: llvm-objdump --section-headers %t.exe | FileCheck %s 5 | # CHECK-NOT: .gdb_index 6 | 7 | .global _start 8 | _start: 9 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/global_offset_table.s: -------------------------------------------------------------------------------- 1 | // REQUIRES: x86 2 | // RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t 3 | // RUN: ld.lld %t -o /dev/null 4 | .global _start 5 | _start: 6 | .long _GLOBAL_OFFSET_TABLE_ 7 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/help.s: -------------------------------------------------------------------------------- 1 | # RUN: ld.lld --help 2>&1 | FileCheck %s 2 | # CHECK: OPTIONS: 3 | # CHECK: --output= Alias for -o 4 | # CHECK: --output Alias for -o 5 | # CHECK: -o Path to file to write output 6 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/hexagon-eflag.s: -------------------------------------------------------------------------------- 1 | # REQUIRES: hexagon 2 | # RUN: llvm-mc -filetype=obj -mv62 -triple=hexagon-unknown-elf %s -o %t 3 | # RUN: llvm-mc -filetype=obj -mv60 -triple=hexagon-unknown-elf %S/Inputs/hexagon.s -o %t2 4 | # RUN: ld.lld %t2 %t -o %t3 5 | # RUN: llvm-readelf -h %t3 | FileCheck %s 6 | # Verify that the largest arch in the input list is selected. 7 | # CHECK: Flags: 0x62 8 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/i386-linkonce.s: -------------------------------------------------------------------------------- 1 | // REQUIRES: x86 2 | // RUN: llvm-mc -filetype=obj -triple=i386-linux-gnu %s -o %t.o 3 | // RUN: llvm-mc -filetype=obj -triple=i386-linux-gnu %p/Inputs/i386-linkonce.s -o %t2.o 4 | // RUN: llvm-ar rcs %t2.a %t2.o 5 | // RUN: ld.lld %t.o %t2.a -o %t 6 | 7 | .globl _start 8 | _start: 9 | call _strchr1 10 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/i386-reloc-16-large-addend.s: -------------------------------------------------------------------------------- 1 | # REQUIRES: x86 2 | # RUN: llvm-mc -filetype=obj -triple=i386-pc-linux %s -o %t 3 | # RUN: ld.lld -Ttext 0x7c00 %t -o %t2 4 | # RUN: llvm-objdump -s %t2 | FileCheck %s 5 | 6 | # CHECK: Contents of section .text: 7 | # CHECK-NEXT: 7c00 b800ff 8 | 9 | .code16 10 | .global _start 11 | _start: 12 | movw $_start+0x8300,%ax 13 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/i386-reloc-8-large-addend.s: -------------------------------------------------------------------------------- 1 | # REQUIRES: x86 2 | # RUN: llvm-mc -filetype=obj -triple=i386-pc-linux %s -o %t 3 | # RUN: ld.lld -Ttext 0x7c %t -o %t2 4 | # RUN: llvm-objdump -s %t2 | FileCheck %s 5 | 6 | # CHECK: Contents of section .text: 7 | # CHECK-NEXT: 007c b4ff 8 | 9 | .code16 10 | .global _start 11 | _start: 12 | movb $_start+0x83,%ah 13 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/i386-tls-got.s: -------------------------------------------------------------------------------- 1 | # REQUIRES: x86 2 | # RUN: llvm-mc -filetype=obj -triple=i386-pc-linux %S/Inputs/i386-tls-got.s -o %t1.o 3 | # RUN: ld.lld %t1.o -o %t1.so -shared 4 | # RUN: llvm-mc -filetype=obj -triple=i386-pc-linux %s -o %t2.o 5 | # RUN: ld.lld %t2.o %t1.so -o /dev/null 6 | 7 | addl foobar@INDNTPOFF, %eax 8 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/icf-c-identifier.s: -------------------------------------------------------------------------------- 1 | # REQUIRES: x86 2 | # RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t 3 | # RUN: ld.lld %t -o /dev/null --icf=all --print-icf-sections | count 0 4 | 5 | .section foo,"ax",@progbits,unique,0 6 | .byte 42 7 | 8 | .section foo,"ax",@progbits,unique,1 9 | .byte 42 10 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/icf-different-output-sections.s: -------------------------------------------------------------------------------- 1 | # REQUIRES: x86 2 | # RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t 3 | # RUN: ld.lld %t -o /dev/null --icf=all --print-icf-sections | count 0 4 | 5 | .section .foo,"ax" 6 | .byte 42 7 | 8 | .section .bar,"ax" 9 | .byte 42 10 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/icf8.s: -------------------------------------------------------------------------------- 1 | # REQUIRES: x86 2 | 3 | # RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o 4 | # RUN: ld.lld %t.o -o %t.so --icf=all -shared 5 | # RUN: llvm-objdump -t %t.so | FileCheck %s 6 | 7 | # CHECK: zed 8 | 9 | .section .foo,"ax",@progbits 10 | nop 11 | 12 | .section .bar,"ax",@progbits 13 | zed: 14 | nop 15 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/ignore-plugin.test: -------------------------------------------------------------------------------- 1 | RUN: not ld.lld --plugin foo 2>&1 | FileCheck %s 2 | CHECK: no input files 3 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/invalid-cie-length.s: -------------------------------------------------------------------------------- 1 | // REQUIRES: x86 2 | 3 | // RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t 4 | // RUN: not ld.lld %t -o /dev/null 2>&1 | FileCheck %s 5 | 6 | .section .eh_frame 7 | .byte 0 8 | 9 | // CHECK: error: corrupted .eh_frame: CIE/FDE too small 10 | // CHECK-NEXT: >>> defined in {{.*}}:(.eh_frame+0x0) 11 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/invalid-cie-length2.s: -------------------------------------------------------------------------------- 1 | // REQUIRES: x86 2 | 3 | // RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t 4 | // RUN: not ld.lld %t -o /dev/null 2>&1 | FileCheck %s 5 | 6 | .section .eh_frame 7 | .long 42 8 | 9 | // CHECK: error: corrupted .eh_frame: CIE/FDE ends past the end of the section 10 | // CHECK-NEXT: >>> defined in {{.*}}:(.eh_frame+0x0) 11 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/invalid-cie-length3.s: -------------------------------------------------------------------------------- 1 | // REQUIRES: x86 2 | 3 | // RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t 4 | // RUN: not ld.lld %t -o /dev/null 2>&1 | FileCheck %s 5 | 6 | .section .eh_frame 7 | .long 0xFFFFFFFC 8 | 9 | // CHECK: error: corrupted .eh_frame: CIE/FDE ends past the end of the section 10 | // CHECK-NEXT: >>> defined in {{.*}}:(.eh_frame+0x0) 11 | 12 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/invalid-cie-length4.s: -------------------------------------------------------------------------------- 1 | // REQUIRES: x86 2 | 3 | // RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t 4 | // RUN: not ld.lld %t -o /dev/null 2>&1 | FileCheck %s 5 | 6 | .section .eh_frame 7 | .long 0xFFFFFFFF 8 | .byte 0 9 | 10 | // CHECK: error: corrupted .eh_frame: CIE/FDE too large 11 | // CHECK-NEXT: >>> defined in {{.*}}:(.eh_frame+0x0) 12 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/invalid-cie-length5.s: -------------------------------------------------------------------------------- 1 | // REQUIRES: x86 2 | 3 | // RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t 4 | // RUN: not ld.lld %t -o /dev/null 2>&1 | FileCheck %s 5 | 6 | .section .eh_frame 7 | .long 0xFFFFFFFF 8 | .quad 0xFFFFFFFFFFFFFFF4 9 | 10 | // CHECK: CIE/FDE too large 11 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/invalid-eh-frame9.s: -------------------------------------------------------------------------------- 1 | # REQUIRES: x86 2 | 3 | # RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t 4 | # RUN: not ld.lld --eh-frame-hdr %t -o /dev/null 2>&1 | FileCheck %s 5 | 6 | # CHECK: error: corrupted .eh_frame: CIE is too small 7 | 8 | .section .eh_frame 9 | .byte 0x03 10 | .byte 0x00 11 | .byte 0x00 12 | .byte 0x00 13 | .byte 0x00 14 | .byte 0x00 15 | .byte 0x00 16 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/invalid/Inputs/binding.elf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/test/ELF/invalid/Inputs/binding.elf -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/invalid/Inputs/broken-relaxation-x64.elf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/test/ELF/invalid/Inputs/broken-relaxation-x64.elf -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/invalid/Inputs/common-symbol-alignment.elf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/test/ELF/invalid/Inputs/common-symbol-alignment.elf -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/invalid/Inputs/common-symbol-alignment2.elf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/test/ELF/invalid/Inputs/common-symbol-alignment2.elf -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/invalid/Inputs/data-encoding.a: -------------------------------------------------------------------------------- 1 | ! 2 | / 0 0 0 0 12 ` 3 | Pfootest.o/ 0 0 0 644 16 ` 4 | ELF -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/invalid/Inputs/dynamic-section-sh_size.elf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/test/ELF/invalid/Inputs/dynamic-section-sh_size.elf -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/invalid/Inputs/file-class.a: -------------------------------------------------------------------------------- 1 | ! 2 | / 0 0 0 0 12 ` 3 | Pfootest.o/ 0 0 0 644 16 ` 4 | ELF -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/invalid/Inputs/invalid-e_shnum.elf: -------------------------------------------------------------------------------- 1 | ELF0000000000>000000000000000000000000000000@0000 -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/invalid/Inputs/mips-invalid-options-descriptor.elf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/test/ELF/invalid/Inputs/mips-invalid-options-descriptor.elf -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/invalid/Inputs/multiple-eh-relocs.elf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/test/ELF/invalid/Inputs/multiple-eh-relocs.elf -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/invalid/Inputs/section-alignment-notpow2.elf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/test/ELF/invalid/Inputs/section-alignment-notpow2.elf -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/invalid/Inputs/section-index.elf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/test/ELF/invalid/Inputs/section-index.elf -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/invalid/Inputs/symbol-index.elf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/test/ELF/invalid/Inputs/symbol-index.elf -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/invalid/Inputs/symbol-name-offset.elf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/test/ELF/invalid/Inputs/symbol-name-offset.elf -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/invalid/Inputs/symtab-sh_info.elf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/test/ELF/invalid/Inputs/symtab-sh_info.elf -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/invalid/Inputs/symtab-sh_info2.elf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/test/ELF/invalid/Inputs/symtab-sh_info2.elf -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/invalid/Inputs/symtab-sh_info3.elf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/test/ELF/invalid/Inputs/symtab-sh_info3.elf -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/invalid/Inputs/tls-symbol.elf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/test/ELF/invalid/Inputs/tls-symbol.elf -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/invalid/Inputs/undefined-local-symbol-in-dso.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/test/ELF/invalid/Inputs/undefined-local-symbol-in-dso.so -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/invalid/dynamic-section-size.s: -------------------------------------------------------------------------------- 1 | ## dynamic-section-sh_size.elf has incorrect sh_size of dynamic section. 2 | # RUN: not ld.lld %p/Inputs/dynamic-section-sh_size.elf -o /dev/null 2>&1 | \ 3 | # RUN: FileCheck %s 4 | # CHECK: error: {{.*}}: invalid sh_entsize 5 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/invalid/executable.s: -------------------------------------------------------------------------------- 1 | # REQUIRES: x86 2 | # RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t.o 3 | # RUN: ld.lld -o %t1.exe %t.o 4 | # RUN: not ld.lld -o /dev/null %t1.exe 2>&1 | FileCheck %s 5 | # CHECK: unknown file type 6 | 7 | .global _start 8 | _start: 9 | ret 10 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/invalid/invalid-e_shnum.s: -------------------------------------------------------------------------------- 1 | ## Spec says that "If a file has no section header table, e_shnum holds the value zero.", though 2 | ## in this test case it holds non-zero and lld used to crash. 3 | # RUN: ld.lld %p/Inputs/invalid-e_shnum.elf -o /dev/null 4 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/invalid/merge-invalid-size.s: -------------------------------------------------------------------------------- 1 | // REQUIRES: x86 2 | // RUN: llvm-mc %s -o %t.o -filetype=obj -triple=x86_64-pc-linux 3 | // RUN: not ld.lld %t.o -o /dev/null 2>&1 | FileCheck %s 4 | // CHECK: SHF_MERGE section size must be a multiple of sh_entsize 5 | 6 | .section .foo,"aM",@progbits,4 7 | .short 42 8 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/invalid/mips-invalid-options-descriptor.s: -------------------------------------------------------------------------------- 1 | ## mips-invalid-options-descriptor.elf has option descriptor in 2 | ## .MIPS.options with size of zero. 3 | # RUN: not ld.lld %p/Inputs/mips-invalid-options-descriptor.elf -o /dev/null 2>&1 | \ 4 | # RUN: FileCheck %s 5 | # CHECK: error: {{.*}}: invalid section offset 6 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/invalid/section-alignment2.s: -------------------------------------------------------------------------------- 1 | ## section-alignment-notpow2.elf has section alignment 2 | ## 0xFFFFFFFF which is not a power of 2. 3 | # RUN: not ld.lld %p/Inputs/section-alignment-notpow2.elf -o /dev/null 2>&1 | \ 4 | # RUN: FileCheck %s 5 | # CHECK: section sh_addralign is not a power of 2 6 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/invalid/symbol-name.s: -------------------------------------------------------------------------------- 1 | # REQUIRES: x86 2 | 3 | ## symbol-name-offset.elf contains symbol with invalid (too large) 4 | ## st_name value. 5 | # RUN: not ld.lld %S/Inputs/symbol-name-offset.elf \ 6 | # RUN: -o /dev/null 2>&1 | FileCheck %s 7 | # CHECK: invalid symbol name offset 8 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/invalid/tls-symbol.s: -------------------------------------------------------------------------------- 1 | # REQUIRES: x86 2 | 3 | ## The test file contains an STT_TLS symbol but has no TLS section. 4 | # RUN: not ld.lld %S/Inputs/tls-symbol.elf -o /dev/null 2>&1 | FileCheck %s 5 | # CHECK: has an STT_TLS symbol but doesn't have an SHF_TLS section 6 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/lazy-arch-conflict.s: -------------------------------------------------------------------------------- 1 | # REQUIRES: x86 2 | 3 | # RUN: echo '.globl foo; .weak foo; .quad foo;' | llvm-mc -filetype=obj -triple=x86_64-unknown-linux - -o %t64.o 4 | # RUN: echo '.globl foo; foo:' | llvm-mc -filetype=obj -triple=i686-pc-linux - -o %t32.o 5 | # RUN: not ld.lld %t64.o --start-lib %t32.o --end-lib -o /dev/null 2>&1 | FileCheck %s 6 | 7 | # CHECK: error: incompatible file: {{.*}}32.o 8 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/linkerscript/Inputs/addr.s: -------------------------------------------------------------------------------- 1 | .text 2 | .globl _start 3 | _start: 4 | 5 | .section .foo.1,"a" 6 | .quad 1 7 | 8 | .section .foo.2,"a" 9 | .quad 2 10 | 11 | .section .foo.3,"a" 12 | .quad 3 13 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/linkerscript/Inputs/align.s: -------------------------------------------------------------------------------- 1 | .global _start 2 | _start: 3 | nop 4 | 5 | .section .aaa, "a" 6 | .quad 0 7 | 8 | .section .bbb, "a" 9 | .quad 0 10 | 11 | .section .ccc, "a" 12 | .quad 0 13 | 14 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/linkerscript/Inputs/alignof.s: -------------------------------------------------------------------------------- 1 | .global _start 2 | _start: 3 | nop 4 | 5 | .section .aaa,"a" 6 | .align 8 7 | .quad 0 8 | 9 | .section .bbb,"a" 10 | .align 16 11 | .quad 0 12 | 13 | .section .ccc,"a" 14 | .align 32 15 | .quad 0 16 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/linkerscript/Inputs/at2.s: -------------------------------------------------------------------------------- 1 | .section .foo1, "ax" 2 | .quad 0 3 | 4 | .section .foo2, "ax" 5 | .quad 0 6 | 7 | .section .bar1, "aw" 8 | .quad 0 9 | 10 | .section .bar2, "aw" 11 | .quad 0 12 | 13 | .section .bar3, "aw" 14 | .quad 0 15 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/linkerscript/Inputs/at3.s: -------------------------------------------------------------------------------- 1 | .section .foo1, "a" 2 | .quad 0 3 | 4 | .section .foo2, "ax" 5 | .quad 0 6 | 7 | .section .foo3, "ax" 8 | .quad 0 9 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/linkerscript/Inputs/at6.s: -------------------------------------------------------------------------------- 1 | .global _start 2 | .text 3 | _start: 4 | nop 5 | 6 | .section .sec1,"aw",@progbits 7 | .long 1 8 | 9 | .section .sec2,"aw",@progbits 10 | .long 2 11 | 12 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/linkerscript/Inputs/at7.s: -------------------------------------------------------------------------------- 1 | .global _start 2 | .text 3 | _start: 4 | nop 5 | 6 | .section .sec, "aw" 7 | .word 4 8 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/linkerscript/Inputs/at8.s: -------------------------------------------------------------------------------- 1 | .section .sec1,"aw",@progbits 2 | .quad 1 3 | 4 | .section .sec2,"aw",@progbits 5 | .quad 2 6 | 7 | .section .sec3,"aw",@progbits 8 | .quad 3 9 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/linkerscript/Inputs/comdat-gc.s: -------------------------------------------------------------------------------- 1 | .file 1 "test/ELF/linkerscript/Inputs/comdat_gc.s" 2 | 3 | .section .text._Z3fooIiEvv,"axG",@progbits,_Z3fooIiEvv,comdat 4 | .loc 1 5 5 | ret 6 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/linkerscript/Inputs/common-filespec1.s: -------------------------------------------------------------------------------- 1 | .comm common_uniq_1,8,8 2 | .comm common_multiple,16,8 3 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/linkerscript/Inputs/common-filespec2.s: -------------------------------------------------------------------------------- 1 | .comm common_uniq_2,16,16 2 | .comm common_multiple,32,8 3 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/linkerscript/Inputs/compress-debug-sections.s: -------------------------------------------------------------------------------- 1 | .section .debug_str 2 | .asciz "CCC" 3 | .asciz "DDD" 4 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/linkerscript/Inputs/copy-rel-symbol-value.s: -------------------------------------------------------------------------------- 1 | .global bar 2 | .type bar, @object 3 | .size bar, 8 4 | bar: 5 | .quad 0 6 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/linkerscript/Inputs/data-segment-relro.s: -------------------------------------------------------------------------------- 1 | .global _start 2 | _start: 3 | .long bar 4 | jmp *bar2@GOTPCREL(%rip) 5 | 6 | .section .data,"aw" 7 | .quad 0 8 | 9 | .zero 4 10 | .section .foo,"aw" 11 | .section .bss,"",@nobits 12 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/linkerscript/Inputs/define.s: -------------------------------------------------------------------------------- 1 | .global defined 2 | defined = 0 3 | 4 | .section .foo,"a" 5 | .quad 1 6 | 7 | .section .bar,"a" 8 | .quad 1 9 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/linkerscript/Inputs/eh-frame-reloc-out-of-range.s: -------------------------------------------------------------------------------- 1 | .text 2 | .globl _start 3 | _start: 4 | .cfi_startproc 5 | .cfi_lsda 0, _ex 6 | nop 7 | .cfi_endproc 8 | 9 | .data 10 | _ex: 11 | .word 0 12 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/linkerscript/Inputs/exclude-multiple1.s: -------------------------------------------------------------------------------- 1 | .section .foo.1,"a" 2 | .quad 4 3 | 4 | .section .foo.2,"a" 5 | .quad 5 6 | 7 | .section .foo.3,"a" 8 | .quad 6 9 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/linkerscript/Inputs/exclude-multiple2.s: -------------------------------------------------------------------------------- 1 | .section .foo.1,"a" 2 | .quad 7 3 | 4 | .section .foo.2,"a" 5 | .quad 8 6 | 7 | .section .foo.3,"a" 8 | .quad 9 9 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/linkerscript/Inputs/extend-pt-load.s: -------------------------------------------------------------------------------- 1 | nop 2 | .section .data.rel.ro, "aw" 3 | .byte 0 4 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/linkerscript/Inputs/filename-spec.s: -------------------------------------------------------------------------------- 1 | .section .foo,"a" 2 | .quad 0x11 3 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/linkerscript/Inputs/fill.s: -------------------------------------------------------------------------------- 1 | .text 2 | .globl _start 3 | _start: 4 | 5 | .section .aaa, "a" 6 | .align 1 7 | .byte 0xAA 8 | 9 | .section .bbb, "a" 10 | .align 1 11 | .byte 0xBB 12 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/linkerscript/Inputs/include.s: -------------------------------------------------------------------------------- 1 | .section .text 2 | .globl _potato 3 | _potato: 4 | nop 5 | nop 6 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/linkerscript/Inputs/insert-after.s: -------------------------------------------------------------------------------- 1 | .section .foo.text,"ax" 2 | .quad 0 3 | 4 | .section .foo.data,"aw" 5 | .quad 0 6 | 7 | .section .text.1,"ax" 8 | .quad 0 9 | 10 | .section .data.1,"aw" 11 | .quad 0 12 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/linkerscript/Inputs/insert-after.script: -------------------------------------------------------------------------------- 1 | SECTIONS { 2 | .text : { *(.text.*) } 3 | .data : { *(.data.*) } 4 | } 5 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/linkerscript/Inputs/keep.s: -------------------------------------------------------------------------------- 1 | .section .keep, "a" 2 | .long 0x41414141 3 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/linkerscript/Inputs/lazy-symbols.s: -------------------------------------------------------------------------------- 1 | .globl foo 2 | foo: 3 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/linkerscript/Inputs/libsearch-dyn.s: -------------------------------------------------------------------------------- 1 | .globl _bar,_dynamic 2 | _bar: 3 | _dynamic: 4 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/linkerscript/Inputs/libsearch-st.s: -------------------------------------------------------------------------------- 1 | .globl _bar,_static 2 | _bar: 3 | _static: 4 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/linkerscript/Inputs/map-file2.s: -------------------------------------------------------------------------------- 1 | .global _start 2 | _start: 3 | .global _Z1fi 4 | _Z1fi: 5 | .cfi_startproc 6 | nop 7 | .cfi_endproc 8 | 9 | .section .aaa, "a"; 10 | .quad 1; 11 | 12 | .section .bbb, "a"; 13 | .quad 2; 14 | 15 | .section .ccc, "a"; 16 | .quad 3; 17 | 18 | .section .ddd, "a"; 19 | .quad 4 20 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/linkerscript/Inputs/merge-sections-reloc.s: -------------------------------------------------------------------------------- 1 | .globl _start 2 | _start: 3 | .quad 0x11223344 4 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/linkerscript/Inputs/notinclude.s: -------------------------------------------------------------------------------- 1 | .section .text 2 | .globl tomato 3 | tomato: 4 | movl $1, %eax 5 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/linkerscript/Inputs/provide-shared.s: -------------------------------------------------------------------------------- 1 | .global foo 2 | .size foo, 8 3 | .type foo, @object 4 | foo: 5 | .quad 42 6 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/linkerscript/Inputs/provide-shared2.s: -------------------------------------------------------------------------------- 1 | .global foo 2 | .data 3 | .dc.a foo 4 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/linkerscript/Inputs/sections-va-overflow.s: -------------------------------------------------------------------------------- 1 | .global _start 2 | _start: 3 | retq 4 | 5 | .bss 6 | .space 0x2000 7 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/linkerscript/Inputs/segment-start.script: -------------------------------------------------------------------------------- 1 | SECTIONS 2 | { 3 | PROVIDE (foobar1 = SEGMENT_START("text-segment", 0x8001)); 4 | PROVIDE (foobar2 = SEGMENT_START("data-segment", 0x8002)); 5 | PROVIDE (foobar3 = SEGMENT_START("bss-segment", 0x8000 + (4 - 1))); 6 | PROVIDE (foobar4 = SEGMENT_START("abc-segment", 0x8004)); 7 | } 8 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/linkerscript/Inputs/shared.s: -------------------------------------------------------------------------------- 1 | .global bar 2 | .type bar, @function 3 | bar: 4 | 5 | .global bar2 6 | .type bar2, @function 7 | bar2: 8 | 9 | .global zed 10 | zed: 11 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/linkerscript/Inputs/sort-nested.s: -------------------------------------------------------------------------------- 1 | .section .aaa.1, "a" 2 | .align 16 3 | .quad 0x11 4 | 5 | .section .aaa.2, "a" 6 | .align 4 7 | .quad 0x22 8 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/linkerscript/Inputs/sort.s: -------------------------------------------------------------------------------- 1 | .section .aaa.5, "a" 2 | .align 2 3 | .quad 0x55 4 | 5 | .section .aaa.1, "a" 6 | .align 32 7 | .quad 0x11 8 | 9 | .section .aaa.3, "a" 10 | .align 8 11 | .quad 0x33 12 | 13 | .section .aaa.2, "a" 14 | .align 16 15 | .quad 0x22 16 | 17 | .section .aaa.4, "a" 18 | .align 4 19 | .quad 0x44 20 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/linkerscript/Inputs/symbol-reserved.script: -------------------------------------------------------------------------------- 1 | SECTIONS 2 | { 3 | .text : { *(.text) } 4 | PROVIDE_HIDDEN(_end = .); 5 | } 6 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/linkerscript/Inputs/synthetic-symbols.s: -------------------------------------------------------------------------------- 1 | .global _start 2 | _start: 3 | nop 4 | 5 | .section .foo,"a" 6 | .quad 0 7 | 8 | .section .bar,"a" 9 | .long 0 10 | 11 | .section .dah,"ax",@progbits 12 | .cfi_startproc 13 | nop 14 | .cfi_endproc 15 | 16 | .global _begin_sec, _end_sec, _end_sec_abs 17 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/linkerscript/align-section.test: -------------------------------------------------------------------------------- 1 | # REQUIRES: x86 2 | # RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux /dev/null -o %t.o 3 | # RUN: ld.lld -o %t --script %s %t.o -shared 4 | 5 | # lld shouldn't crash. 6 | 7 | SECTIONS { .foo : ALIGN(2M) {} } 8 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/linkerscript/bss-fill.test: -------------------------------------------------------------------------------- 1 | # REQUIRES: x86 2 | # RUN: echo '.section .bss,"",@nobits; .short 0' \ 3 | # RUN: | llvm-mc -filetype=obj -triple=x86_64-unknown-linux - -o %t.o 4 | # RUN: ld.lld -o %t --script %s %t.o 5 | 6 | ## Check we do not crash. 7 | 8 | SECTIONS { 9 | .bss : { 10 | . += 0x10000; 11 | *(.bss) 12 | } =0xFF 13 | } 14 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/linkerscript/diag6.test: -------------------------------------------------------------------------------- 1 | # REQUIRES: x86 2 | # RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux /dev/null -o %t.o 3 | # RUN: not ld.lld -shared %t.o -o %t --script %s 2>&1 | FileCheck %s 4 | 5 | SECTIONS /* 6 | 7 | CHECK: error: unclosed comment in a linker script 8 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/linkerscript/exidx-crash.test: -------------------------------------------------------------------------------- 1 | # REQUIRES: aarch64 2 | 3 | # We used to crash on this. 4 | 5 | # RUN: llvm-mc /dev/null -o %t.o -filetype=obj -triple=aarch64-pc-linux 6 | # RUN: ld.lld -T %s %t.o -o %t 7 | 8 | SECTIONS { 9 | .ARM.exidx : { *(.foo) } 10 | } 11 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/linkerscript/expr-invalid-sec.test: -------------------------------------------------------------------------------- 1 | # REQUIRES: x86 2 | # RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux /dev/null -o %t.o 3 | # RUN: not ld.lld -o %t.so --script %s %t.o -shared 2>&1 | FileCheck %s 4 | 5 | # CHECK: error: {{.*}}.test:8: at least one side of the expression must be absolute 6 | 7 | SECTIONS { 8 | foo = ADDR(.text) + ADDR(.text); 9 | }; 10 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/linkerscript/icf.s: -------------------------------------------------------------------------------- 1 | # REQUIRES: x86 2 | 3 | # RUN: echo "foo = 1; bar = 2;" > %t.script 4 | # RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o 5 | # RUN: ld.lld %t.o %t.script -o %t --icf=all --print-icf-sections | count 0 6 | 7 | .section .text.foo,"ax",@progbits 8 | jmp foo 9 | 10 | .section .text.bar,"ax",@progbits 11 | jmp bar 12 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/linkerscript/insert-broken.test: -------------------------------------------------------------------------------- 1 | SECTIONS { 2 | .foo : { *(.bar) } 3 | } INSERT .data; 4 | 5 | # RUN: not ld.lld -o %t1 --script %s 2>&1 | FileCheck %s 6 | # CHECK: {{.*}}:3: expected AFTER/BEFORE, but got '.data' 7 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/linkerscript/locationcountererr.test: -------------------------------------------------------------------------------- 1 | # REQUIRES: x86 2 | # RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux /dev/null -o %t 3 | # RUN: not ld.lld %t --script %s -o %t1 2>&1 | FileCheck %s 4 | # CHECK: {{.*}}.test:8: unable to move location counter backward for: .text 5 | 6 | SECTIONS { 7 | .text 0x2000 : { 8 | . = 0x10; 9 | *(.text) 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/linkerscript/no-pt-load.test: -------------------------------------------------------------------------------- 1 | # REQUIRES: x86 2 | # RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux /dev/null -o %t.o 3 | # RUN: ld.lld -o %t1 --script %s %t.o 4 | 5 | ## Check we do not crash. 6 | 7 | PHDRS { foo PT_DYNAMIC; } 8 | 9 | SECTIONS { 10 | .text : { *(.text) } : foo 11 | } 12 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/linkerscript/openbsd-bootdata.test: -------------------------------------------------------------------------------- 1 | # REQUIRES: x86 2 | # RUN: llvm-mc -filetype=obj -triple=i686-unknown-linux /dev/null -o %t.o 3 | # RUN: ld.lld --script %s %t.o -o %t 4 | # RUN: llvm-readobj --program-headers -s %t | FileCheck %s 5 | 6 | PHDRS { boot PT_OPENBSD_BOOTDATA; } 7 | 8 | # CHECK: ProgramHeader { 9 | # CHECK: Type: PT_OPENBSD_BOOTDATA (0x65A41BE6) 10 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/linkerscript/output-too-large.s: -------------------------------------------------------------------------------- 1 | # REQUIRES: x86 2 | # RUN: llvm-mc -filetype=obj -triple=i686-unknown-linux %s -o %t.o 3 | # RUN: echo "SECTIONS { .text : { . = 0xffffffff; *(.text*); } }" > %t.script 4 | # RUN: not ld.lld --no-check-sections --script %t.script %t.o -o /dev/null 2>&1 | FileCheck %s 5 | # CHECK: error: output file too large 6 | 7 | .global _start 8 | _start: 9 | nop 10 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/linkerscript/outputarch.test: -------------------------------------------------------------------------------- 1 | # REQUIRES: x86 2 | # RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-freebsd /dev/null -o %t1 3 | # RUN: ld.lld -shared -o %t2 %t1 %s 4 | 5 | OUTPUT_ARCH(All data written here is ignored) 6 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/linkerscript/parse-section-in-addr.test: -------------------------------------------------------------------------------- 1 | # REQUIRES: x86 2 | # RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux /dev/null -o %t.o 3 | # RUN: ld.lld -o %t.so --script %s %t.o -shared 4 | # RUN: llvm-readelf -S %t.so | FileCheck %s 5 | 6 | SECTIONS { 7 | .foo-bar : AT(ADDR(.foo-bar)) { *(.text) } 8 | } 9 | 10 | # CHECK: .foo-bar 11 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/linkerscript/pt_gnu_eh_frame.s: -------------------------------------------------------------------------------- 1 | # REQUIRES: x86 2 | # RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t 3 | # RUN: echo "SECTIONS { /DISCARD/ : { *(.eh_frame*) *(.eh_frame_hdr*) } }" > %t.script 4 | # RUN: ld.lld -o /dev/null --eh-frame-hdr --script %t.script %t 5 | 6 | .global _start 7 | _start: 8 | nop 9 | 10 | .section .dah,"ax",@progbits 11 | .cfi_startproc 12 | nop 13 | .cfi_endproc 14 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/linkerscript/sections-constraint3.s: -------------------------------------------------------------------------------- 1 | # REQUIRES: x86 2 | # RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o 3 | # RUN: echo "SECTIONS { zed : ONLY_IF_RO { abc = 1; *(foo) } }" > %t.script 4 | # RUN: ld.lld -T %t.script %t.o -o %t.so -shared 5 | # RUN: llvm-readobj -t %t.so | FileCheck %s 6 | 7 | # CHECK: Symbols [ 8 | # CHECK-NOT: abc 9 | 10 | .section foo,"aw" 11 | .quad 1 12 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/linkerscript/sort-constructors.test: -------------------------------------------------------------------------------- 1 | # REQUIRES: x86 2 | # RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux /dev/null -o %t1.o 3 | # RUN: ld.lld -shared -o %t1 --script %s %t1.o 4 | # RUN: llvm-readobj %t1 > /dev/null 5 | 6 | SECTIONS { 7 | .aaa : { SORT(CONSTRUCTORS) } 8 | } 9 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/linkerscript/start-end.test: -------------------------------------------------------------------------------- 1 | # REQUIRES: x86 2 | # RUN: echo '.section .init_array, "aw"; .quad 0' \ 3 | # RUN: | llvm-mc -filetype=obj -triple=x86_64-unknown-linux - -o %t.o 4 | # RUN: ld.lld %t.o -script %s -o %t 2>&1 5 | 6 | SECTIONS { 7 | .init_array : { 8 | __init_array_start = .; 9 | *(.init_array) 10 | __init_array_end = .; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/linkerscript/undef.s: -------------------------------------------------------------------------------- 1 | # REQUIRES: x86 2 | # RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t 3 | 4 | # RUN: echo "SECTIONS { patatino = 0x1234; }" > %t.script 5 | # RUN: ld.lld -o %t1 --script %t.script %t 6 | # RUN: llvm-objdump -t %t1 | FileCheck %s 7 | # CHECK: 0000000000001234 *ABS* 00000000 patatino 8 | 9 | .global _start 10 | _start: 11 | call patatino 12 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/lit.local.cfg: -------------------------------------------------------------------------------- 1 | config.suffixes = ['.test', '.s', '.ll'] 2 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/local-undefined-symbol.s: -------------------------------------------------------------------------------- 1 | # REQUIRES: x86 2 | # RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t 3 | # RUN: ld.lld %t -o %t1 4 | # RUN: llvm-readobj -t %t1 | FileCheck %s 5 | 6 | # CHECK: Symbols [ 7 | # CHECK-NOT: Name: foo 8 | 9 | .global _start 10 | _start: 11 | jmp foo 12 | 13 | .local foo 14 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/lto/Inputs/absolute.s: -------------------------------------------------------------------------------- 1 | .globl blah 2 | blah = 0xdeadbeef 3 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/lto/Inputs/archive-2.ll: -------------------------------------------------------------------------------- 1 | target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" 2 | target triple = "x86_64-unknown-linux-gnu" 3 | 4 | define void @_start() { 5 | ret void 6 | } 7 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/lto/Inputs/archive-3.ll: -------------------------------------------------------------------------------- 1 | target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" 2 | target triple = "x86_64-unknown-linux-gnu" 3 | 4 | define void @foo() { 5 | ret void 6 | } 7 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/lto/Inputs/archive.ll: -------------------------------------------------------------------------------- 1 | target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" 2 | target triple = "x86_64-unknown-linux-gnu" 3 | 4 | define void @f() { 5 | ret void 6 | } 7 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/lto/Inputs/asmundef.ll: -------------------------------------------------------------------------------- 1 | target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" 2 | target triple = "x86_64-unknown-linux-gnu" 3 | 4 | declare void @patatino() 5 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/lto/Inputs/available-externally.ll: -------------------------------------------------------------------------------- 1 | target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" 2 | target triple = "x86_64-unknown-linux-gnu" 3 | 4 | define void @zed() { 5 | ret void 6 | } 7 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/lto/Inputs/cache.ll: -------------------------------------------------------------------------------- 1 | target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" 2 | target triple = "x86_64-unknown-linux-gnu" 3 | 4 | define i32 @_start() { 5 | entry: 6 | call void (...) @globalfunc() 7 | ret i32 0 8 | } 9 | 10 | declare void @globalfunc(...) 11 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/lto/Inputs/comdat.s: -------------------------------------------------------------------------------- 1 | .section .text.f,"axG",@progbits,c,comdat 2 | .globl foo 3 | 4 | foo: 5 | retq 6 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/lto/Inputs/common.s: -------------------------------------------------------------------------------- 1 | .comm a,8,4 2 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/lto/Inputs/common3.ll: -------------------------------------------------------------------------------- 1 | target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" 2 | target triple = "x86_64-unknown-linux-gnu" 3 | 4 | @a = common hidden global i64 0, align 4 5 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/lto/Inputs/data-ordering-lto.ll: -------------------------------------------------------------------------------- 1 | target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" 2 | target triple = "x86_64-scei-ps4" 3 | 4 | @pat = global i32 33, align 4 5 | @tin = global i32 33, align 4 6 | @dipsy = global i32 33, align 4 7 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/lto/Inputs/drop-debug-info.bc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/test/ELF/lto/Inputs/drop-debug-info.bc -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/lto/Inputs/drop-linkage.ll: -------------------------------------------------------------------------------- 1 | target triple = "x86_64-unknown-linux-gnu" 2 | target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" 3 | 4 | $foo = comdat any 5 | define linkonce void @foo() comdat { 6 | ret void 7 | } 8 | 9 | define void @bar() { 10 | call void @foo() 11 | ret void 12 | } 13 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/lto/Inputs/duplicated-name.ll: -------------------------------------------------------------------------------- 1 | target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" 2 | target triple = "x86_64-unknown-linux-gnu" 3 | 4 | define void @f2() { 5 | ret void 6 | } 7 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/lto/Inputs/dynsym.s: -------------------------------------------------------------------------------- 1 | .globl foo 2 | foo: 3 | ret 4 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/lto/Inputs/i386-empty.ll: -------------------------------------------------------------------------------- 1 | target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" 2 | target triple = "i686-linux-gnu" 3 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/lto/Inputs/internalize-exportdyn.ll: -------------------------------------------------------------------------------- 1 | target triple = "x86_64-unknown-linux-gnu" 2 | target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" 3 | 4 | define weak_odr void @bah() { 5 | ret void 6 | } 7 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/lto/Inputs/internalize-undef.ll: -------------------------------------------------------------------------------- 1 | target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" 2 | target triple = "x86_64-unknown-linux-gnu" 3 | 4 | define void @f() { 5 | ret void 6 | } 7 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/lto/Inputs/irmover-error.ll: -------------------------------------------------------------------------------- 1 | target triple = "x86_64-unknown-linux-gnu" 2 | target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" 3 | 4 | !0 = !{ i32 1, !"foo", i32 2 } 5 | 6 | !llvm.module.flags = !{ !0 } 7 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/lto/Inputs/lazy-internal.ll: -------------------------------------------------------------------------------- 1 | target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" 2 | target triple = "x86_64-unknown-linux-gnu" 3 | 4 | define hidden void @bar() { 5 | ret void 6 | } 7 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/lto/Inputs/libcall-archive.ll: -------------------------------------------------------------------------------- 1 | target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" 2 | target triple = "x86_64-unknown-linux-gnu" 3 | 4 | define void @memcpy() { 5 | ret void 6 | } 7 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/lto/Inputs/libcall-archive.s: -------------------------------------------------------------------------------- 1 | .globl __sync_val_compare_and_swap_8 2 | __sync_val_compare_and_swap_8: 3 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/lto/Inputs/linker-script-symbols-ipo.ll: -------------------------------------------------------------------------------- 1 | target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" 2 | target triple = "x86_64-unknown-linux-gnu" 3 | 4 | declare i32 @bar() 5 | 6 | define i32 @_start() { 7 | %1 = tail call i32 @bar() 8 | ret i32 %1 9 | } 10 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/lto/Inputs/linkonce-odr.ll: -------------------------------------------------------------------------------- 1 | target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" 2 | target triple = "x86_64-unknown-linux-gnu" 3 | 4 | define linkonce_odr void @f() { 5 | ret void 6 | } 7 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/lto/Inputs/linkonce.ll: -------------------------------------------------------------------------------- 1 | target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" 2 | target triple = "x86_64-unknown-linux-gnu" 3 | 4 | define linkonce void @f() { 5 | ret void 6 | } 7 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/lto/Inputs/relocation-model-pic.ll: -------------------------------------------------------------------------------- 1 | target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" 2 | target triple = "x86_64-unknown-linux-gnu" 3 | 4 | @foo = external global i32 5 | define i32 @main() { 6 | %t = load i32, i32* @foo 7 | ret i32 %t 8 | } 9 | 10 | !llvm.module.flags = !{!0} 11 | !0 = !{i32 1, !"PIC Level", i32 2} 12 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/lto/Inputs/resolution.s: -------------------------------------------------------------------------------- 1 | .data 2 | .global a 3 | a: 4 | .long 9 5 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/lto/Inputs/sample-profile.prof: -------------------------------------------------------------------------------- 1 | f:0:0 2 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/lto/Inputs/save-temps.ll: -------------------------------------------------------------------------------- 1 | target triple = "x86_64-unknown-linux-gnu" 2 | target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" 3 | 4 | define void @bar() { 5 | ret void 6 | } 7 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/lto/Inputs/shared.s: -------------------------------------------------------------------------------- 1 | .globl printf 2 | .type printf, @function 3 | printf: 4 | 5 | .globl puts 6 | .type puts, @function 7 | puts: 8 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/lto/Inputs/start-lib1.ll: -------------------------------------------------------------------------------- 1 | target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" 2 | target triple = "x86_64-unknown-linux-gnu" 3 | 4 | declare void @bar() 5 | 6 | define void @foo() { 7 | ret void 8 | } 9 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/lto/Inputs/start-lib2.ll: -------------------------------------------------------------------------------- 1 | target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" 2 | target triple = "x86_64-unknown-linux-gnu" 3 | 4 | define void @bar() { 5 | ret void 6 | } 7 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/lto/Inputs/symbol-ordering-lto.ll: -------------------------------------------------------------------------------- 1 | target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" 2 | target triple = "x86_64-scei-ps4" 3 | 4 | define i32 @tin() { 5 | ret i32 22 6 | } 7 | 8 | define i32 @pat() { 9 | ret i32 42 10 | } 11 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/lto/Inputs/thin1.ll: -------------------------------------------------------------------------------- 1 | target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" 2 | target triple = "x86_64-scei-ps4" 3 | 4 | define i32 @foo(i32 %goo) { 5 | entry: 6 | %goo.addr = alloca i32, align 4 7 | store i32 %goo, i32* %goo.addr, align 4 8 | %0 = load i32, i32* %goo.addr, align 4 9 | %1 = load i32, i32* %goo.addr, align 4 10 | %mul = mul nsw i32 %0, %1 11 | ret i32 %mul 12 | } 13 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/lto/Inputs/thin2.ll: -------------------------------------------------------------------------------- 1 | target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" 2 | target triple = "x86_64-scei-ps4" 3 | 4 | define i32 @blah(i32 %meh) #0 { 5 | entry: 6 | %meh.addr = alloca i32, align 4 7 | store i32 %meh, i32* %meh.addr, align 4 8 | %0 = load i32, i32* %meh.addr, align 4 9 | %sub = sub nsw i32 %0, 48 10 | ret i32 %sub 11 | } 12 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/lto/Inputs/thinlto.ll: -------------------------------------------------------------------------------- 1 | target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" 2 | target triple = "x86_64-unknown-linux-gnu" 3 | 4 | define void @g() { 5 | entry: 6 | ret void 7 | } 8 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/lto/Inputs/thinlto_empty.ll: -------------------------------------------------------------------------------- 1 | target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" 2 | target triple = "x86_64-unknown-linux-gnu" 3 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/lto/Inputs/tls-mixed.s: -------------------------------------------------------------------------------- 1 | .globl foo 2 | .section .tbss,"awT",@nobits 3 | foo: 4 | .long 0 5 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/lto/Inputs/type-merge.ll: -------------------------------------------------------------------------------- 1 | target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" 2 | target triple = "x86_64-unknown-linux-gnu" 3 | 4 | define void @zed() { 5 | call void @bar() 6 | ret void 7 | } 8 | declare void @bar() 9 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/lto/Inputs/type-merge2.ll: -------------------------------------------------------------------------------- 1 | target triple = "x86_64-unknown-linux-gnu" 2 | target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" 3 | 4 | %zed = type { i16 } 5 | define void @bar(%zed* %this) { 6 | store %zed* %this, %zed** null 7 | ret void 8 | } 9 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/lto/Inputs/undef-mixed.s: -------------------------------------------------------------------------------- 1 | .globl bar 2 | bar: 3 | retq 4 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/lto/Inputs/unnamed-addr-drop.ll: -------------------------------------------------------------------------------- 1 | target triple = "x86_64-unknown-linux-gnu" 2 | target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" 3 | 4 | @foo = unnamed_addr constant i32 42 5 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/lto/Inputs/unnamed-addr-lib.s: -------------------------------------------------------------------------------- 1 | .protected foo 2 | .global foo 3 | foo: 4 | 5 | .global bar 6 | bar: 7 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/lto/Inputs/visibility.s: -------------------------------------------------------------------------------- 1 | .global g 2 | g: 3 | ret 4 | 5 | .data 6 | .global a 7 | a: 8 | .long 41 9 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/lto/Inputs/weakodr-visibility.ll: -------------------------------------------------------------------------------- 1 | target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" 2 | target triple = "x86_64-unknown-linux-gnu" 3 | 4 | define weak_odr protected i32 @foo(i8* %this) { 5 | ret i32 42 6 | } 7 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/lto/Inputs/wrap-bar.ll: -------------------------------------------------------------------------------- 1 | target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" 2 | target triple = "x86_64-unknown-linux-gnu" 3 | 4 | define hidden void @bar() { 5 | ret void 6 | } 7 | 8 | define hidden void @__real_bar() { 9 | ret void 10 | } 11 | 12 | define hidden void @__wrap_bar() { 13 | ret void 14 | } 15 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/lto/bitcode-nodatalayout.ll: -------------------------------------------------------------------------------- 1 | ; REQUIRES: x86 2 | ; RUN: llvm-as %s -o %t.o 3 | ; RUN: not ld.lld %t.o -o %t 2>&1 | FileCheck %s 4 | 5 | ; CHECK: input module has no datalayout 6 | 7 | ; This bitcode file has no datalayout. 8 | ; Check that we error out producing a reasonable diagnostic. 9 | target triple = "x86_64-unknown-linux-gnu" 10 | 11 | define void @_start() { 12 | ret void 13 | } 14 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/lto/drop-debug-info.ll: -------------------------------------------------------------------------------- 1 | ; REQUIRES: x86 2 | ; 3 | ; drop-debug-info.bc was created from "void f(void) {}" with clang 3.5 and 4 | ; -gline-tables-only, so it contains old debug info. 5 | ; 6 | ; RUN: ld.lld -shared %p/Inputs/drop-debug-info.bc \ 7 | ; RUN: -disable-verify -o %t 2>&1 | FileCheck %s 8 | ; CHECK: ignoring debug info with an invalid version (1) in {{.*}}drop-debug-info.bc 9 | 10 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/lto/inline-asm.ll: -------------------------------------------------------------------------------- 1 | ; REQUIRES: x86 2 | ; RUN: llvm-as %s -o %t.o 3 | ; RUN: ld.lld %t.o -o %t.so -shared 4 | 5 | target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" 6 | target triple = "x86_64-unknown-linux-gnu" 7 | 8 | define void @foo() { 9 | call void asm "nop", ""() 10 | ret void 11 | } 12 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/lto/mix-platforms2.ll: -------------------------------------------------------------------------------- 1 | ; REQUIRES: x86 2 | ; RUN: llvm-as %s -o %tx64.o 3 | ; RUN: llvm-as %S/Inputs/i386-empty.ll -o %ti386.o 4 | ; RUN: not ld.lld %ti386.o %tx64.o -o %t.out 2>&1 | FileCheck %s 5 | 6 | ; CHECK: {{.*}}x64.o is incompatible with {{.*}}i386.o 7 | 8 | target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" 9 | target triple = "x86_64-unknown-linux-gnu" 10 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/lto/ppc64le.ll: -------------------------------------------------------------------------------- 1 | ; REQUIRES: ppc 2 | 3 | ; RUN: llvm-as %s -o %t.o 4 | ; RUN: ld.lld %t.o -o %t 5 | 6 | target datalayout = "e-m:e-i64:64-n32:64" 7 | target triple = "powerpc64le-unknown-linux-gnu" 8 | 9 | define void @__start() { 10 | entry: 11 | ret void 12 | } 13 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/lto/r600.ll: -------------------------------------------------------------------------------- 1 | ; REQUIRES: amdgpu 2 | ; RUN: llvm-as %s -o %t.o 3 | ; RUN: ld.lld %t.o -o %t 4 | 5 | ; Make sure the r600 triple is handled 6 | 7 | target triple = "r600-mesa-mesa3d" 8 | target datalayout = "e-p:32:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-v2048:2048-n32:64-S32-A5" 9 | 10 | define void @_start() { 11 | ret void 12 | } 13 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/map-gc-sections.s: -------------------------------------------------------------------------------- 1 | // REQUIRES: x86 2 | // RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o 3 | // RUN: ld.lld %t.o -o /dev/null -Map=- --gc-sections | FileCheck %s 4 | 5 | .section .tbss,"awT",@nobits 6 | // CHECK-NOT: foo 7 | .globl foo 8 | foo: 9 | .align 8 10 | .long 0 11 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/merge-string-empty.s: -------------------------------------------------------------------------------- 1 | // REQUIRES: x86 2 | // Ensure that a mergeable string with size 0 does not cause any issue. 3 | 4 | // RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o 5 | // RUN: ld.lld %t.o -o /dev/null 6 | 7 | .globl _start, s 8 | .section .rodata.str1.1,"aMS",@progbits,1 9 | s: 10 | .text 11 | _start: 12 | .quad s 13 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/merge-string-error.s: -------------------------------------------------------------------------------- 1 | // REQUIRES: x86 2 | // RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o 3 | // RUN: not ld.lld %t.o -o /dev/null -shared 2>&1 | FileCheck %s 4 | 5 | .section .rodata.str1.1,"aMS",@progbits,1 6 | .asciz "abc" 7 | 8 | .data 9 | .long .rodata.str1.1 + 4 10 | 11 | // CHECK: merge-string-error.s.tmp.o:(.rodata.str1.1): offset is outside the section 12 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/merge-string-no-null.s: -------------------------------------------------------------------------------- 1 | // REQUIRES: x86 2 | // RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o 3 | // RUN: not ld.lld %t.o -o /dev/null -shared 2>&1 | FileCheck %s 4 | 5 | .section .rodata.str1.1,"aMS",@progbits,1 6 | .ascii "abc" 7 | 8 | // CHECK: string is not null terminated 9 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/mips-no-objects.s: -------------------------------------------------------------------------------- 1 | # REQUIRES: mips 2 | # RUN: llvm-mc -filetype=obj -triple=mips-unknown-linux %s -o %t.o 3 | # RUN: ld.lld %t.o -shared -o %t.so 4 | # RUN: ld.lld %t.so -shared -o %t2.so 5 | # RUN: llvm-readobj %t2.so > /dev/null 2>&1 6 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/no-obj.s: -------------------------------------------------------------------------------- 1 | // REQUIRES: x86 2 | // RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o 3 | // RUN: rm -f %t.a 4 | // RUN: llvm-ar rcs %t.a %t.o 5 | // RUN: not ld.lld -o /dev/null -u _start %t.a 2>&1 | FileCheck %s 6 | 7 | // CHECK: target emulation unknown: -m or at least one .o file required 8 | 9 | .global _start 10 | _start: 11 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/no-symtab.s: -------------------------------------------------------------------------------- 1 | // REQUIRES: x86 2 | // RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o 3 | // RUN: ld.lld %t.o %p/Inputs/no-symtab.o -o /dev/null 4 | .global _start 5 | _start: 6 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/no-undefined.s: -------------------------------------------------------------------------------- 1 | # REQUIRES: x86 2 | # RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t 3 | # RUN: not ld.lld --no-undefined -shared %t -o /dev/null 4 | # RUN: ld.lld -shared %t -o /dev/null 5 | 6 | .globl _shared 7 | _shared: 8 | callq _unresolved@PLT 9 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/note-noalloc2.s: -------------------------------------------------------------------------------- 1 | # REQUIRES: x86 2 | # RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o 3 | # RUN: ld.lld %t.o -o %t 4 | # RUN: llvm-readobj -program-headers %t | FileCheck %s 5 | 6 | ## Check we do not create a PT_NOTE segment for non-allocatable note section. 7 | 8 | # CHECK-NOT: PT_NOTE 9 | 10 | .section .note,"",@note 11 | .quad 0 12 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/ppc-rela.s: -------------------------------------------------------------------------------- 1 | # REQUIRES: ppc 2 | # RUN: llvm-mc -filetype=obj -triple=powerpc-unknown-freebsd %s -o %t 3 | # RUN: ld.lld %t -o %t2 -shared 4 | # RUN: llvm-readobj -r %t2 | FileCheck %s 5 | 6 | .data 7 | .long foo 8 | 9 | // CHECK: Section ({{.*}}) .rela.dyn { 10 | // CHECK-NEXT: 0x1000 R_PPC_ADDR32 foo 0x0 11 | // CHECK-NEXT: } 12 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/ppc64-tocopt-option.s: -------------------------------------------------------------------------------- 1 | # REQUIRES: x86 2 | 3 | # RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t 4 | # RUN: not ld.lld %t --toc-optimize -o /dev/null 2>&1 | FileCheck %s 5 | 6 | # CHECK: error: --toc-optimize is only supported on the PowerPC64 target 7 | 8 | .global __start 9 | .type __start,@function 10 | 11 | .text 12 | .quad 0 13 | __start: 14 | 15 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/pr37735.s: -------------------------------------------------------------------------------- 1 | # REQUIRES: x86 2 | # RUN: llvm-mc -filetype=obj -triple=i386-pc-linux-gnu %s -o %t.o 3 | # RUN: ld.lld -r %t.o %t.o -o %t1.o 4 | # RUN: llvm-objdump -s -section=.bar %t1.o | FileCheck %s 5 | 6 | .section .foo 7 | .byte 0 8 | 9 | # CHECK: Contents of section .bar: 10 | # CHECK-NEXT: 0000 00000000 01000000 11 | .section .bar 12 | .dc.a .foo 13 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/relocatable-build-id.s: -------------------------------------------------------------------------------- 1 | # REQUIRES: x86 2 | # RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t1.o 3 | # RUN: ld.lld --build-id=0xcafebabe -o %t2.o %t1.o -r 4 | # RUN: ld.lld --build-id=0xdeadbeef -o %t.exe %t2.o 5 | # RUN: llvm-objdump -s %t.exe | FileCheck %s 6 | 7 | # CHECK-NOT: cafebabe 8 | # CHECK: deadbeef 9 | 10 | .global _start 11 | _start: 12 | ret 13 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/relocatable-eh-frame-hdr.s: -------------------------------------------------------------------------------- 1 | # REQUIRES: x86 2 | # RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o 3 | # RUN: ld.lld --eh-frame-hdr -r %t.o -o %t 4 | # RUN: llvm-readobj -s %t | FileCheck %s 5 | 6 | # CHECK: Sections [ 7 | # CHECK-NOT: Name: .eh_frame_hdr 8 | 9 | .section .foo,"ax",@progbits 10 | .cfi_startproc 11 | .cfi_endproc 12 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/relocatable-empty-archive.s: -------------------------------------------------------------------------------- 1 | # REQUIRES: x86 2 | # RUN: rm -f %t.a 3 | # RUN: llvm-ar rc %t.a 4 | # RUN: ld.lld -m elf_x86_64 %t.a -o %t -r 5 | # RUN: llvm-readobj -file-headers %t | FileCheck %s 6 | 7 | # CHECK: Format: ELF64-x86-64 8 | # CHECK: Arch: x86_64 9 | # CHECK: AddressSize: 64bit 10 | # CHECK: Type: Relocatable 11 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/relocatable-non-alloc.s: -------------------------------------------------------------------------------- 1 | # REQUIRES: x86 2 | # RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t1.o 3 | # RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %S/Inputs/relocatable-non-alloc.s -o %t2.o 4 | # RUN: ld.lld %t2.o %t2.o -r -o %t3.o 5 | # RUN: ld.lld %t1.o %t3.o -o %t.o | FileCheck -allow-empty %s 6 | 7 | # CHECK-NOT: has non-ABS reloc 8 | 9 | .globl _start 10 | _start: 11 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/relocatable-script.s: -------------------------------------------------------------------------------- 1 | # REQUIRES: x86 2 | # RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux -o %t1.o %s 3 | # RUN: echo "SECTIONS { .foo : { BYTE(0x0) } }" > %t.script 4 | # RUN: ld.lld -r %t1.o -script %t.script -o %t2.o 5 | # RUN: llvm-readobj -sections %t2.o | FileCheck %s 6 | 7 | # CHECK: Name: .foo 8 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/relocatable-versioned.s: -------------------------------------------------------------------------------- 1 | # REQUIRES: x86 2 | # RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t1.o 3 | # RUN: ld.lld -o %t2.o -r %t1.o 4 | # RUN: llvm-nm %t2.o | FileCheck %s 5 | # CHECK: foo@VERSION 6 | 7 | .global "foo@VERSION" 8 | "foo@VERSION": 9 | ret 10 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/relocation-absolute.s: -------------------------------------------------------------------------------- 1 | // REQUIRES: x86 2 | // RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %S/Inputs/abs.s -o %tabs 3 | // RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t 4 | // RUN: ld.lld %tabs %t -o %tout 5 | // RUN: llvm-objdump -d %tout | FileCheck %s 6 | 7 | .global _start 8 | _start: 9 | movl $abs, %edx 10 | 11 | //CHECK: start: 12 | //CHECK-NEXT: movl $66, %edx 13 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/relocation-before-merge-start.s: -------------------------------------------------------------------------------- 1 | // REQUIRES: x86 2 | // RUN: llvm-mc %s -o %t.o -filetype=obj -triple=x86_64-pc-linux 3 | // RUN: not ld.lld %t.o -o /dev/null -shared 2>&1 | FileCheck %s 4 | // CHECK: relocation-before-merge-start.s.tmp.o:(.foo): offset is outside the section 5 | 6 | .data 7 | .long .foo - 1 8 | .section .foo,"aM",@progbits,4 9 | .quad 0 10 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/relocation-past-merge-end.s: -------------------------------------------------------------------------------- 1 | // REQUIRES: x86 2 | // RUN: llvm-mc %s -o %t.o -filetype=obj -triple=x86_64-pc-linux 3 | // RUN: not ld.lld %t.o -o /dev/null -shared 2>&1 | FileCheck %s 4 | // CHECK: relocation-past-merge-end.s.tmp.o:(.foo): offset is outside the section 5 | 6 | .data 7 | .long .foo + 10 8 | .section .foo,"aM",@progbits,4 9 | .quad 0 10 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/relocation-relative-synthetic.s: -------------------------------------------------------------------------------- 1 | # REQUIRES: x86 2 | # RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o 3 | # RUN: ld.lld %t.o -o %t -pie 4 | # RUN: llvm-readobj -dyn-relocations %t | FileCheck %s 5 | 6 | # CHECK: Dynamic Relocations { 7 | # CHECK-NEXT: } 8 | 9 | .globl _start 10 | _start: 11 | call __init_array_start@PLT 12 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/relocation-relative-weak.s: -------------------------------------------------------------------------------- 1 | # REQUIRES: x86 2 | # RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o 3 | # RUN: ld.lld %t.o -o %t -pie 4 | # RUN: llvm-readobj -dyn-relocations %t | FileCheck %s 5 | 6 | # CHECK: Dynamic Relocations { 7 | # CHECK-NEXT: 0x2018 R_X86_64_JUMP_SLOT w 0x0 8 | # CHECK-NEXT: } 9 | 10 | .globl _start 11 | _start: 12 | 13 | .globl w 14 | .weak w 15 | call w@PLT 16 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/reproduce-backslash.s: -------------------------------------------------------------------------------- 1 | # REQUIRES: x86, shell 2 | 3 | # Test that we don't erroneously replace \ with / on UNIX, as it's 4 | # legal for a filename to contain backslashes. 5 | # RUN: llvm-mc %s -o %T/foo\\.o -filetype=obj -triple=x86_64-pc-linux 6 | # RUN: ld.lld %T/foo\\.o --reproduce %T/repro.tar -o /dev/null 7 | # RUN: tar tf %T/repro.tar | FileCheck %s 8 | 9 | # CHECK: repro/{{.*}}/foo\\.o 10 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/soname2.s: -------------------------------------------------------------------------------- 1 | // REQUIRES: x86 2 | // RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o 3 | // RUN: ld.lld %t.o -shared -soname=foo.so -o %t 4 | // RUN: llvm-readobj --dynamic-table %t | FileCheck %s 5 | 6 | // CHECK: 0x000000000000000E SONAME Library soname: [foo.so] 7 | 8 | .global _start 9 | _start: 10 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/tls-archive.s: -------------------------------------------------------------------------------- 1 | // REQUIRES: x86 2 | // RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t 3 | // RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %p/Inputs/tls-mismatch.s -o %t2 4 | // RUN: rm -f %t.a 5 | // RUN: llvm-ar cru %t.a %t2 6 | // RUN: ld.lld %t.a %t -o /dev/null 7 | 8 | .globl _start,tlsvar 9 | _start: 10 | movq tlsvar@GOTTPOFF(%rip),%rdx 11 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/tls-error.s: -------------------------------------------------------------------------------- 1 | // REQUIRES: x86 2 | // RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t 3 | // RUN: not ld.lld %t -o /dev/null 2>&1 | FileCheck %s 4 | // CHECK: R_X86_64_TPOFF32 out of range 5 | 6 | .global _start 7 | _start: 8 | movl %fs:a@tpoff, %eax 9 | .global a 10 | .section .tbss,"awT",@nobits 11 | a: 12 | .zero 0x80000001 13 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/trace.s: -------------------------------------------------------------------------------- 1 | # REQUIRES: x86 2 | # RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t.foo.o 3 | 4 | ## Check -t 5 | # RUN: ld.lld -shared %t.foo.o -o %t.so -t 2>&1 | FileCheck %s 6 | # CHECK: {{.*}}.foo.o 7 | 8 | ## Check --trace alias 9 | # RUN: ld.lld -shared %t.foo.o -o %t.so -t 2>&1 | FileCheck %s 10 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/typed-undef.s: -------------------------------------------------------------------------------- 1 | # REQUIRES: x86 2 | 3 | # We used to crash on this, check that we don't 4 | 5 | # RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o 6 | # RUN: ld.lld %t.o -o /dev/null -pie --unresolved-symbols=ignore-all 7 | 8 | .global _start 9 | _start: 10 | .quad foo - . 11 | .type foo, @object 12 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/undef-start.s: -------------------------------------------------------------------------------- 1 | # REQUIRES: x86 2 | # RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t.o 3 | # RUN: ld.lld %t.o -o /dev/null 2>&1 | FileCheck %s 4 | 5 | # CHECK: warning: cannot find entry symbol _start 6 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/version-script-missing.s: -------------------------------------------------------------------------------- 1 | # REQUIRES: x86 2 | 3 | # We used to crash if a symbol in a version script was not in the symbol table. 4 | 5 | # RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o 6 | # RUN: echo "{ foobar; };" > %t.script 7 | # RUN: ld.lld --version-script %t.script -shared %t.o -o /dev/null 8 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/version-script-symver.s: -------------------------------------------------------------------------------- 1 | # REQUIRES: x86 2 | # RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t.o 3 | # RUN: ld.lld %t.o -o /dev/null 4 | 5 | .global _start 6 | .global bar 7 | .symver _start, bar@@VERSION 8 | _start: 9 | jmp bar 10 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/version-symbol-error.s: -------------------------------------------------------------------------------- 1 | // REQUIRES: x86 2 | // RUN: llvm-mc %s -o %t.o -filetype=obj -triple=x86_64-pc-linux 3 | // RUN: echo "V1 {};" > %t.script 4 | // RUN: not ld.lld -shared -version-script=%t.script %t.o -o /dev/null 2>&1 \ 5 | // RUN: | FileCheck %s 6 | 7 | // CHECK: .o: symbol foo@V2 has undefined version V2 8 | 9 | .globl foo@V2 10 | .text 11 | foo@V2: 12 | ret 13 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/version-use.s: -------------------------------------------------------------------------------- 1 | // REQUIRES: x86 2 | // RUN: llvm-mc %s -o %t.o -filetype=obj -triple=x86_64-pc-linux 3 | // RUN: ld.lld %t.o %p/Inputs/version-use.so -o %t.so -shared -z defs 4 | // RUN: llvm-readobj -s %t.so | FileCheck %s 5 | 6 | 7 | call bar@PLT 8 | 9 | // CHECK-NOT: SHT_GNU_versym 10 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/weak-entry.s: -------------------------------------------------------------------------------- 1 | # REQUIRES: x86 2 | # RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t 3 | # RUN: ld.lld %t -o %tout 4 | # RUN: llvm-nm %tout | FileCheck %s 5 | 6 | # CHECK: w _start 7 | # CHECK-NEXT: T foo 8 | 9 | .global foo 10 | .weak _start 11 | .text 12 | foo: 13 | .dc.a _start 14 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/weak-undef-lazy.s: -------------------------------------------------------------------------------- 1 | # REQUIRES: x86 2 | # RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o 3 | # RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %S/Inputs/weak-undef-lazy.s -o %t2.o 4 | # RUN: rm -f %t2.a 5 | # RUN: llvm-ar rc %t2.a %t2.o 6 | # RUN: ld.lld %t.o %t2.a -o /dev/null --export-dynamic 7 | 8 | .global _start 9 | _start: 10 | .weak foobar 11 | .quad foobar 12 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/weak-undef-rw.s: -------------------------------------------------------------------------------- 1 | # REQUIRES: x86 2 | # RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o 3 | # RUN: ld.lld %t.o -o %t --export-dynamic 4 | # RUN: llvm-readobj -r %t | FileCheck %s 5 | 6 | # CHECK: R_X86_64_64 foobar 0x0 7 | 8 | .global _start 9 | _start: 10 | .data 11 | .weak foobar 12 | .quad foobar 13 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/wrap-entry.s: -------------------------------------------------------------------------------- 1 | // REQUIRES: x86 2 | // RUN: llvm-mc -filetype=obj -triple=x86_64-pc-linux %s -o %t.o 3 | 4 | // RUN: ld.lld -o %t.exe %t.o -wrap=_start 5 | // RUN: llvm-readobj -file-headers %t.exe | FileCheck %s 6 | 7 | // CHECK: Entry: 0x201001 8 | 9 | .global _start, __wrap__start 10 | _start: 11 | nop 12 | __wrap__start: 13 | nop 14 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/writable-merge.s: -------------------------------------------------------------------------------- 1 | // REQUIRES: x86 2 | // RUN: llvm-mc %s -o %t.o -filetype=obj -triple=x86_64-pc-linux 3 | // RUN: not ld.lld %t.o -o /dev/null 2>&1 | FileCheck %s 4 | // CHECK: writable SHF_MERGE section is not supported 5 | 6 | .section .foo,"awM",@progbits,4 7 | .quad 0 8 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/x86-64-reloc-32-fpic.s: -------------------------------------------------------------------------------- 1 | # REQUIRES: x86 2 | # RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t.o 3 | # RUN: not ld.lld -shared %t.o -o /dev/null 2>&1 | FileCheck %s 4 | 5 | # CHECK: relocation R_X86_64_32 cannot be used against symbol _shared; recompile with -fPIC 6 | # CHECK: >>> defined in {{.*}} 7 | # CHECK: >>> referenced by {{.*}}:(.data+0x0) 8 | 9 | .data 10 | .long _shared 11 | -------------------------------------------------------------------------------- /fuzzle/lld/test/ELF/zdefs.s: -------------------------------------------------------------------------------- 1 | # REQUIRES: x86 2 | # RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t.o 3 | # RUN: ld.lld -shared %t.o -o %t1.so 4 | 5 | # RUN: not ld.lld -z defs -shared %t.o -o %t1.so 2>&1 | FileCheck -check-prefix=ERR %s 6 | # ERR: error: undefined symbol: foo 7 | # ERR: >>> referenced by {{.*}}:(.text+0x1) 8 | 9 | callq foo@PLT 10 | -------------------------------------------------------------------------------- /fuzzle/lld/test/darwin/cmdline-lto_library.objtxt: -------------------------------------------------------------------------------- 1 | # RUN: ld64.lld -arch x86_64 -lto_library %t -print-atoms -r %s 2>&1 | FileCheck %s 2 | # 3 | # Test that the -lto_library option does not result in an error. 4 | # 5 | 6 | # CHECK-NOT: -lto_library 7 | 8 | --- !native 9 | defined-atoms: 10 | - name: _foo 11 | ... 12 | -------------------------------------------------------------------------------- /fuzzle/lld/test/darwin/cmdline-objc_gc.objtxt: -------------------------------------------------------------------------------- 1 | # RUN: not ld64.lld -arch x86_64 -objc_gc %s 2>&1 | FileCheck %s 2 | # 3 | # Test that the -objc_gc is rejected. 4 | # 5 | 6 | # CHECK: error: -objc_gc is not supported 7 | 8 | --- !native 9 | defined-atoms: 10 | - name: _main 11 | type: code 12 | scope: global 13 | content: [ 0x90 ] 14 | 15 | ... 16 | -------------------------------------------------------------------------------- /fuzzle/lld/test/mach-o/Inputs/PIE.yaml: -------------------------------------------------------------------------------- 1 | --- !mach-o 2 | arch: x86_64 3 | file-type: MH_DYLIB 4 | install-name: /usr/lib/libSystem.B.dylib 5 | exports: 6 | - name: dyld_stub_binder 7 | -------------------------------------------------------------------------------- /fuzzle/lld/test/mach-o/Inputs/arm64/libSystem.yaml: -------------------------------------------------------------------------------- 1 | # 2 | # For use by test cases that create dynamic output types which may needs stubs 3 | # and therefore will need a dylib definition of dyld_stub_binder. 4 | # 5 | 6 | --- !mach-o 7 | arch: arm64 8 | file-type: MH_DYLIB 9 | install-name: /usr/lib/libSystem.B.dylib 10 | exports: 11 | - name: dyld_stub_binder 12 | 13 | ... 14 | -------------------------------------------------------------------------------- /fuzzle/lld/test/mach-o/Inputs/armv7/libSystem.yaml: -------------------------------------------------------------------------------- 1 | # 2 | # For use by test cases that create dynamic output types which may needs stubs 3 | # and therefore will need a dylib definition of dyld_stub_binder. 4 | # 5 | 6 | --- !mach-o 7 | arch: armv7 8 | file-type: MH_DYLIB 9 | install-name: /usr/lib/libSystem.B.dylib 10 | exports: 11 | - name: dyld_stub_binder 12 | 13 | ... 14 | -------------------------------------------------------------------------------- /fuzzle/lld/test/mach-o/Inputs/exported_symbols_list.exp: -------------------------------------------------------------------------------- 1 | # 2 | # For use with exported_symbols_list.yaml 3 | # 4 | _foo 5 | _b 6 | 7 | -------------------------------------------------------------------------------- /fuzzle/lld/test/mach-o/Inputs/full.filelist: -------------------------------------------------------------------------------- 1 | /foo/bar/a.o 2 | /foo/bar/b.o 3 | /foo/x.a 4 | -------------------------------------------------------------------------------- /fuzzle/lld/test/mach-o/Inputs/got-order2.yaml: -------------------------------------------------------------------------------- 1 | --- !mach-o 2 | arch: x86_64 3 | file-type: MH_DYLIB 4 | install-name: /usr/lib/libfoobar.dylib 5 | exports: 6 | - name: _bar 7 | - name: _zazzle 8 | - name: _foo 9 | - name: _aaa 10 | - name: _fff 11 | - name: _zzz 12 | -------------------------------------------------------------------------------- /fuzzle/lld/test/mach-o/Inputs/hello-world-arm64.yaml: -------------------------------------------------------------------------------- 1 | --- !mach-o 2 | arch: arm64 3 | file-type: MH_DYLIB 4 | install-name: /usr/lib/libSystem.B.dylib 5 | exports: 6 | - name: _fprintf 7 | - name: ___stdoutp 8 | - name: dyld_stub_binder 9 | -------------------------------------------------------------------------------- /fuzzle/lld/test/mach-o/Inputs/hello-world-armv6.yaml: -------------------------------------------------------------------------------- 1 | --- !mach-o 2 | arch: armv6 3 | file-type: MH_DYLIB 4 | install-name: /usr/lib/libSystem.B.dylib 5 | exports: 6 | - name: _printf 7 | - name: dyld_stub_binder 8 | -------------------------------------------------------------------------------- /fuzzle/lld/test/mach-o/Inputs/hello-world-armv7.yaml: -------------------------------------------------------------------------------- 1 | --- !mach-o 2 | arch: armv7 3 | file-type: MH_DYLIB 4 | install-name: /usr/lib/libSystem.B.dylib 5 | exports: 6 | - name: _printf 7 | - name: dyld_stub_binder 8 | -------------------------------------------------------------------------------- /fuzzle/lld/test/mach-o/Inputs/hello-world-x86.yaml: -------------------------------------------------------------------------------- 1 | --- !mach-o 2 | arch: x86 3 | file-type: MH_DYLIB 4 | install-name: /usr/lib/libSystem.B.dylib 5 | exports: 6 | - name: _printf 7 | - name: dyld_stub_binder 8 | -------------------------------------------------------------------------------- /fuzzle/lld/test/mach-o/Inputs/hello-world-x86_64.yaml: -------------------------------------------------------------------------------- 1 | --- !mach-o 2 | arch: x86_64 3 | file-type: MH_DYLIB 4 | install-name: /usr/lib/libSystem.B.dylib 5 | exports: 6 | - name: _fprintf 7 | - name: dyld_stub_binder 8 | - name: ___stdoutp 9 | -------------------------------------------------------------------------------- /fuzzle/lld/test/mach-o/Inputs/hw.raw_bytes: -------------------------------------------------------------------------------- 1 | hello 2 | -------------------------------------------------------------------------------- /fuzzle/lld/test/mach-o/Inputs/interposing-section.yaml: -------------------------------------------------------------------------------- 1 | --- !mach-o 2 | arch: x86_64 3 | file-type: MH_DYLIB 4 | install-name: /usr/lib/libSystem.B.dylib 5 | exports: 6 | - name: _open 7 | -------------------------------------------------------------------------------- /fuzzle/lld/test/mach-o/Inputs/lazy-bind-x86_64-2.yaml: -------------------------------------------------------------------------------- 1 | --- !mach-o 2 | arch: x86_64 3 | file-type: MH_DYLIB 4 | install-name: /usr/lib/libfoo.dylib 5 | compat-version: 2.0 6 | current-version: 3.4 7 | exports: 8 | - name: _foo 9 | -------------------------------------------------------------------------------- /fuzzle/lld/test/mach-o/Inputs/lazy-bind-x86_64-3.yaml: -------------------------------------------------------------------------------- 1 | --- !mach-o 2 | arch: x86_64 3 | file-type: MH_DYLIB 4 | install-name: /usr/lib/libbaz.dylib 5 | compat-version: 3.0 6 | current-version: 4.5 7 | exports: 8 | - name: _baz 9 | -------------------------------------------------------------------------------- /fuzzle/lld/test/mach-o/Inputs/lazy-bind-x86_64.yaml: -------------------------------------------------------------------------------- 1 | --- !mach-o 2 | arch: x86_64 3 | file-type: MH_DYLIB 4 | install-name: /usr/lib/libbar.dylib 5 | compat-version: 1.0 6 | current-version: 2.3 7 | exports: 8 | - name: _bar 9 | -------------------------------------------------------------------------------- /fuzzle/lld/test/mach-o/Inputs/lib-search-paths/usr/lib/libmyshared.dylib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/test/mach-o/Inputs/lib-search-paths/usr/lib/libmyshared.dylib -------------------------------------------------------------------------------- /fuzzle/lld/test/mach-o/Inputs/lib-search-paths/usr/lib/libmystatic.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/test/mach-o/Inputs/lib-search-paths/usr/lib/libmystatic.a -------------------------------------------------------------------------------- /fuzzle/lld/test/mach-o/Inputs/lib-search-paths/usr/local/lib/file.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/test/mach-o/Inputs/lib-search-paths/usr/local/lib/file.o -------------------------------------------------------------------------------- /fuzzle/lld/test/mach-o/Inputs/libbar.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/test/mach-o/Inputs/libbar.a -------------------------------------------------------------------------------- /fuzzle/lld/test/mach-o/Inputs/libfoo.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/lld/test/mach-o/Inputs/libfoo.a -------------------------------------------------------------------------------- /fuzzle/lld/test/mach-o/Inputs/linker-as-ld.yaml: -------------------------------------------------------------------------------- 1 | --- !mach-o 2 | arch: x86_64 3 | file-type: MH_DYLIB 4 | install-name: /usr/lib/libSystem.B.dylib 5 | exports: 6 | - name: dyld_stub_binder 7 | -------------------------------------------------------------------------------- /fuzzle/lld/test/mach-o/Inputs/order_file-basic.order: -------------------------------------------------------------------------------- 1 | 2 | # input file for order_file-basic.yaml 3 | 4 | _func2 5 | libfoo.a(foo.o):_foo # tests file specific ordering within archive 6 | i386:_func3 # wrong arch, so ignored 7 | armv7:_func3 # wrong arch, so ignored 8 | _func1 9 | _notfound # unknown symbol silently ignored 10 | _data3 # data symbols should be orderable 11 | 12 | -------------------------------------------------------------------------------- /fuzzle/lld/test/mach-o/Inputs/partial.filelist: -------------------------------------------------------------------------------- 1 | bar/a.o 2 | bar/b.o 3 | x.a 4 | -------------------------------------------------------------------------------- /fuzzle/lld/test/mach-o/Inputs/x86/libSystem.yaml: -------------------------------------------------------------------------------- 1 | # 2 | # For use by test cases that create dynamic output types which may needs stubs 3 | # and therefore will need a dylib definition of dyld_stub_binder. 4 | # 5 | 6 | --- !mach-o 7 | arch: x86 8 | file-type: MH_DYLIB 9 | install-name: /usr/lib/libSystem.B.dylib 10 | exports: 11 | - name: dyld_stub_binder 12 | 13 | ... 14 | -------------------------------------------------------------------------------- /fuzzle/lld/test/mach-o/Inputs/x86_64/libSystem.yaml: -------------------------------------------------------------------------------- 1 | # 2 | # For use by test cases that create dynamic output types which may needs stubs 3 | # and therefore will need a dylib definition of dyld_stub_binder. 4 | # 5 | 6 | --- !mach-o 7 | arch: x86_64 8 | file-type: MH_DYLIB 9 | install-name: /usr/lib/libSystem.B.dylib 10 | exports: 11 | - name: dyld_stub_binder 12 | 13 | ... 14 | -------------------------------------------------------------------------------- /fuzzle/lld/test/mach-o/lit.local.cfg: -------------------------------------------------------------------------------- 1 | 2 | # mach-o test cases encode input files in yaml and use .yaml extension 3 | config.suffixes = ['.yaml'] 4 | config.excludes = ['Inputs'] 5 | -------------------------------------------------------------------------------- /fuzzle/lld/test/mach-o/usage.yaml: -------------------------------------------------------------------------------- 1 | # RUN: not ld64.lld | FileCheck %s 2 | # 3 | # Test that running darwin linker with no option prints out usage message. 4 | # 5 | 6 | 7 | # CHECK: USAGE: 8 | # CHECK: -arch 9 | -------------------------------------------------------------------------------- /fuzzle/lld/test/wasm/Inputs/archive1.ll: -------------------------------------------------------------------------------- 1 | target triple = "wasm32-unknown-unknown" 2 | 3 | declare i32 @bar() local_unnamed_addr #1 4 | 5 | define i32 @foo() local_unnamed_addr #0 { 6 | entry: 7 | %call = tail call i32 @bar() #2 8 | ret i32 %call 9 | } 10 | -------------------------------------------------------------------------------- /fuzzle/lld/test/wasm/Inputs/archive2.ll: -------------------------------------------------------------------------------- 1 | target triple = "wasm32-unknown-unknown" 2 | 3 | declare i32 @foo() local_unnamed_addr #1 4 | 5 | define i32 @bar() local_unnamed_addr #0 { 6 | entry: 7 | %call = tail call i32 @foo() #2 8 | ret i32 %call 9 | } 10 | 11 | define void @archive2_symbol() local_unnamed_addr #0 { 12 | entry: 13 | ret void 14 | } 15 | -------------------------------------------------------------------------------- /fuzzle/lld/test/wasm/Inputs/archive3.ll: -------------------------------------------------------------------------------- 1 | target triple = "wasm32-unknown-unknown" 2 | 3 | define i32 @bar() local_unnamed_addr #0 { 4 | entry: 5 | ret i32 1 6 | } 7 | 8 | define void @archive3_symbol() local_unnamed_addr #0 { 9 | entry: 10 | ret void 11 | } 12 | -------------------------------------------------------------------------------- /fuzzle/lld/test/wasm/Inputs/comdat1.ll: -------------------------------------------------------------------------------- 1 | target triple = "wasm32-unknown-unknown" 2 | 3 | $inlineFn = comdat any 4 | @constantData = weak_odr constant [3 x i8] c"abc", comdat($inlineFn) 5 | define linkonce_odr i32 @inlineFn() comdat { 6 | entry: 7 | ret i32 ptrtoint ([3 x i8]* @constantData to i32) 8 | } 9 | 10 | define i32 @callInline1() { 11 | entry: 12 | ret i32 ptrtoint (i32 ()* @inlineFn to i32) 13 | } 14 | -------------------------------------------------------------------------------- /fuzzle/lld/test/wasm/Inputs/comdat2.ll: -------------------------------------------------------------------------------- 1 | target triple = "wasm32-unknown-unknown" 2 | 3 | $inlineFn = comdat any 4 | @constantData = weak_odr constant [3 x i8] c"abc", comdat($inlineFn) 5 | define linkonce_odr i32 @inlineFn() comdat { 6 | entry: 7 | ret i32 ptrtoint ([3 x i8]* @constantData to i32) 8 | } 9 | 10 | define i32 @callInline2() { 11 | entry: 12 | ret i32 ptrtoint (i32 ()* @inlineFn to i32) 13 | } 14 | -------------------------------------------------------------------------------- /fuzzle/lld/test/wasm/Inputs/custom.ll: -------------------------------------------------------------------------------- 1 | target triple = "wasm32-unknown-unknown" 2 | 3 | !0 = !{ !"red", !"foo" } 4 | !1 = !{ !"green", !"bar" } 5 | !2 = !{ !"green", !"qux" } 6 | !wasm.custom_sections = !{ !0, !1, !2 } 7 | -------------------------------------------------------------------------------- /fuzzle/lld/test/wasm/Inputs/hidden.ll: -------------------------------------------------------------------------------- 1 | target triple = "wasm32-unknown-unknown" 2 | 3 | ; Function Attrs: norecurse nounwind readnone 4 | define hidden i32 @archiveHidden() #0 { 5 | entry: 6 | ret i32 0 7 | } 8 | 9 | ; Function Attrs: norecurse nounwind readnone 10 | define i32 @archiveDefault() #1 { 11 | entry: 12 | ret i32 0 13 | } 14 | -------------------------------------------------------------------------------- /fuzzle/lld/test/wasm/Inputs/ret32.ll: -------------------------------------------------------------------------------- 1 | target triple = "wasm32-unknown-unknown" 2 | 3 | define hidden i32 @ret32(float %arg) { 4 | entry: 5 | ret i32 0 6 | } 7 | -------------------------------------------------------------------------------- /fuzzle/lld/test/wasm/Inputs/ret64.ll: -------------------------------------------------------------------------------- 1 | target triple = "wasm32-unknown-unknown" 2 | 3 | define hidden i64 @ret64(double %arg) { 4 | entry: 5 | ret i64 1 6 | } 7 | -------------------------------------------------------------------------------- /fuzzle/lld/test/wasm/Inputs/start.ll: -------------------------------------------------------------------------------- 1 | target triple = "wasm32-unknown-unknown" 2 | 3 | define void @_start() local_unnamed_addr { 4 | entry: 5 | ret void 6 | } 7 | -------------------------------------------------------------------------------- /fuzzle/lld/test/wasm/Inputs/strong-symbol.ll: -------------------------------------------------------------------------------- 1 | target triple = "wasm32-unknown-unknown" 2 | 3 | define i64 @weakFn() #0 { 4 | entry: 5 | ret i64 1 6 | } 7 | -------------------------------------------------------------------------------- /fuzzle/lld/test/wasm/Inputs/weak-symbol1.ll: -------------------------------------------------------------------------------- 1 | target triple = "wasm32-unknown-unknown" 2 | 3 | define weak i32 @weakFn() #0 { 4 | entry: 5 | ret i32 1 6 | } 7 | 8 | define i32 @exportWeak1() { 9 | entry: 10 | ret i32 ptrtoint (i32 ()* @weakFn to i32) 11 | } 12 | 13 | @weakGlobal = weak global i32 1 14 | -------------------------------------------------------------------------------- /fuzzle/lld/test/wasm/Inputs/weak-symbol2.ll: -------------------------------------------------------------------------------- 1 | target triple = "wasm32-unknown-unknown" 2 | 3 | define weak i32 @weakFn() #0 { 4 | entry: 5 | ret i32 2 6 | } 7 | 8 | define i32 @exportWeak2() { 9 | entry: 10 | ret i32 ptrtoint (i32 ()* @weakFn to i32) 11 | } 12 | 13 | @weakGlobal = weak global i32 2 14 | -------------------------------------------------------------------------------- /fuzzle/lld/test/wasm/conflict.test: -------------------------------------------------------------------------------- 1 | # RUN: llc -filetype=obj %p/Inputs/ret32.ll -o %t.ret32.o 2 | # RUN: not wasm-ld -o %t.wasm %t.ret32.o %t.ret32.o 2>&1 | FileCheck %s 3 | 4 | # CHECK: duplicate symbol: ret32 5 | # CHECK-NEXT: >>> defined in {{.*}}conflict.test.tmp.ret32.o 6 | # CHECK-NEXT: >>> defined in {{.*}}conflict.test.tmp.ret32.o 7 | -------------------------------------------------------------------------------- /fuzzle/lld/test/wasm/entry-signature.ll: -------------------------------------------------------------------------------- 1 | ; Verify that the entry point signauture can be flexible. 2 | ; RUN: llc -filetype=obj %s -o %t.o 3 | ; RUN: wasm-ld -o %t1.wasm %t.o 4 | 5 | target triple = "wasm32-unknown-unknown-wasm" 6 | 7 | define hidden i32 @_start(i32, i64) local_unnamed_addr #0 { 8 | entry: 9 | ret i32 0 10 | } 11 | -------------------------------------------------------------------------------- /fuzzle/lld/test/wasm/invalid-stack-size.test: -------------------------------------------------------------------------------- 1 | ; RUN: llc -filetype=obj %p/Inputs/start.ll -o %t.o 2 | ; RUN: not wasm-ld -o %t.wasm -z stack-size=1 %t.o 2>&1 | FileCheck %s 3 | 4 | ; CHECK: error: stack size must be 16-byte aligned 5 | -------------------------------------------------------------------------------- /fuzzle/lld/test/wasm/lit.local.cfg: -------------------------------------------------------------------------------- 1 | if 'wasm' not in config.available_features: 2 | config.unsupported = True 3 | 4 | config.suffixes = ['.test', '.yaml', '.ll'] 5 | -------------------------------------------------------------------------------- /fuzzle/lld/test/wasm/lto/Inputs/archive.ll: -------------------------------------------------------------------------------- 1 | target datalayout = "e-m:e-p:32:32-i64:64-n32:64-S128" 2 | target triple = "wasm32-unknown-unknown" 3 | 4 | define void @f() { 5 | ret void 6 | } 7 | -------------------------------------------------------------------------------- /fuzzle/lld/test/wasm/lto/Inputs/cache.ll: -------------------------------------------------------------------------------- 1 | target datalayout = "e-m:e-p:32:32-i64:64-n32:64-S128" 2 | target triple = "wasm32-unknown-unknown" 3 | 4 | define i32 @_start() { 5 | entry: 6 | call void (...) @globalfunc() 7 | ret i32 0 8 | } 9 | 10 | declare void @globalfunc(...) 11 | -------------------------------------------------------------------------------- /fuzzle/lld/test/wasm/lto/Inputs/save-temps.ll: -------------------------------------------------------------------------------- 1 | target datalayout = "e-m:e-p:32:32-i64:64-n32:64-S128" 2 | target triple = "wasm32-unknown-unknown" 3 | 4 | define void @bar() { 5 | ret void 6 | } 7 | -------------------------------------------------------------------------------- /fuzzle/lld/test/wasm/lto/Inputs/thinlto.ll: -------------------------------------------------------------------------------- 1 | target datalayout = "e-m:e-p:32:32-i64:64-n32:64-S128" 2 | target triple = "wasm32-unknown-unknown" 3 | 4 | define void @g() { 5 | entry: 6 | ret void 7 | } 8 | -------------------------------------------------------------------------------- /fuzzle/lld/test/wasm/lto/Inputs/used.ll: -------------------------------------------------------------------------------- 1 | target datalayout = "e-m:e-p:32:32-i64:64-n32:64-S128" 2 | target triple = "wasm32-unknown-unknown" 3 | 4 | @foo = hidden global i32 1 5 | 6 | define hidden void @bar() { 7 | ret void 8 | } 9 | -------------------------------------------------------------------------------- /fuzzle/lld/test/wasm/lto/incompatible.ll: -------------------------------------------------------------------------------- 1 | ; REQUIRES: x86 2 | ; RUN: llvm-as %s -o %t.bc 3 | ; RUN: not wasm-ld %t.bc -o out.wasm 2>&1 | FileCheck %s 4 | 5 | target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" 6 | target triple = "x86_64-unknown-linux-gnu" 7 | 8 | ; CHECK: {{.*}}incompatible.ll.tmp.bc: machine type must be wasm32 9 | -------------------------------------------------------------------------------- /fuzzle/lld/test/wasm/strip-all.test: -------------------------------------------------------------------------------- 1 | RUN: llc -filetype=obj %p/Inputs/start.ll -o %t.start.o 2 | RUN: wasm-ld --strip-all -o %t.wasm %t.start.o 3 | RUN: obj2yaml %t.wasm | FileCheck %s 4 | 5 | # Test alias -s 6 | RUN: wasm-ld -s -o %t.wasm %t.start.o 7 | RUN: obj2yaml %t.wasm | FileCheck %s 8 | 9 | # Check that there is no name section 10 | CHECK-NOT: Name: name 11 | -------------------------------------------------------------------------------- /fuzzle/lld/test/wasm/strip-debug.test: -------------------------------------------------------------------------------- 1 | RUN: llc -filetype=obj %p/Inputs/start.ll -o %t.start.o 2 | RUN: wasm-ld --strip-debug -o %t.wasm %t.start.o 3 | RUN: obj2yaml %t.wasm | FileCheck %s 4 | 5 | # Test alias -S 6 | RUN: wasm-ld -S -o %t.wasm %t.start.o 7 | RUN: obj2yaml %t.wasm | FileCheck %s 8 | 9 | # Check that there is no name section 10 | CHECK-NOT: Name: name 11 | -------------------------------------------------------------------------------- /fuzzle/lld/unittests/DriverTests/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_lld_unittest(DriverTests 2 | DarwinLdDriverTest.cpp 3 | ) 4 | 5 | target_link_libraries(DriverTests 6 | PRIVATE 7 | lldDriver 8 | lldMachO 9 | ) 10 | -------------------------------------------------------------------------------- /fuzzle/lld/unittests/MachOTests/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | add_lld_unittest(lldMachOTests 3 | MachONormalizedFileBinaryReaderTests.cpp 4 | MachONormalizedFileBinaryWriterTests.cpp 5 | MachONormalizedFileToAtomsTests.cpp 6 | MachONormalizedFileYAMLTests.cpp 7 | ) 8 | 9 | target_link_libraries(lldMachOTests 10 | PRIVATE 11 | lldDriver 12 | lldMachO 13 | lldYAML 14 | ) 15 | -------------------------------------------------------------------------------- /fuzzle/puzzle/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.10.0) 2 | project(puzzle) 3 | 4 | # Flags 5 | set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall") 6 | 7 | # Includes 8 | include_directories(include) 9 | 10 | # Output 11 | set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib) 12 | set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) 13 | 14 | # Add subdirectories 15 | add_subdirectory(src) 16 | -------------------------------------------------------------------------------- /fuzzle/puzzle/tests/packed.uzl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/puzzle/tests/packed.uzl -------------------------------------------------------------------------------- /fuzzle/uuzzle/examples/README.md: -------------------------------------------------------------------------------- 1 | # Examples 2 | ## Hello World 3 | ## HTTP Server 4 | -------------------------------------------------------------------------------- /fuzzle/uuzzle/examples/hello_world/hello_world.uzl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/uuzzle/examples/hello_world/hello_world.uzl -------------------------------------------------------------------------------- /fuzzle/uuzzle/examples/hello_world/src/Makefile: -------------------------------------------------------------------------------- 1 | all: hello_world 2 | 3 | clean: 4 | @rm -rf hello_world 5 | 6 | hello_world: hello_world.c 7 | gcc -g -o hello_world hello_world.c 8 | -------------------------------------------------------------------------------- /fuzzle/uuzzle/examples/http_example/server_child.uzl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/uuzzle/examples/http_example/server_child.uzl -------------------------------------------------------------------------------- /fuzzle/uuzzle/examples/http_example/server_parent.uzl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JeffJerseyCow/fuzzle/4ce3a9c7795182717e1e64b2243e120fd6b3525e/fuzzle/uuzzle/examples/http_example/server_parent.uzl -------------------------------------------------------------------------------- /fuzzle/uuzzle/examples/http_example/src/Makefile: -------------------------------------------------------------------------------- 1 | all: server 2 | 3 | clean: 4 | @rm -rf *.o 5 | @rm -rf server 6 | 7 | server: main.o httpd.o 8 | gcc -o server $^ 9 | 10 | main.o: main.c httpd.h 11 | gcc -c -o main.o main.c 12 | 13 | httpd.o: httpd.c httpd.h 14 | gcc -c -o httpd.o httpd.c 15 | 16 | -------------------------------------------------------------------------------- /fuzzle/uuzzle/include/examples.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #ifndef __EXAMPLES_H__ 4 | #define __EXAMPLES_H__ 5 | 6 | /* Prototypes */ 7 | #if defined __WITH_TRACE__ 8 | void example000_emulator_hook_code(uc_engine *uc, uint64_t address, 9 | uint32_t size, void *usr_data); 10 | bool init_capstone(pzl_ctx_t *pzl_ctx); 11 | #endif 12 | 13 | #endif 14 | -------------------------------------------------------------------------------- /fuzzle/uuzzle/src/arch/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Add libraries 2 | add_library(arch_x86_64 SHARED x86_64.c) 3 | -------------------------------------------------------------------------------- /fuzzle/uuzzle/src/examples/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Add executables 2 | add_executable(example000_emulator example000_emulator.c) 3 | add_executable(example001_emulator example001_emulator.c) 4 | 5 | # Reference libraries 6 | target_link_libraries(example000_emulator ${LIBS}) 7 | target_link_libraries(example001_emulator ${LIBS}) 8 | -------------------------------------------------------------------------------- /fuzzle/uuzzle/src/syscalls/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Add libraries 2 | add_library(syscalls_linux_x86_64 SHARED linux_x86_64.c) 3 | --------------------------------------------------------------------------------