├── .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 | Pfoo test.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 | Pfoo test.o/ 0 0 0 644 16 `
4 | ELF
--------------------------------------------------------------------------------
/fuzzle/lld/test/ELF/invalid/Inputs/invalid-e_shnum.elf:
--------------------------------------------------------------------------------
1 | ELF0000000000 > 00000000000000000000 0000000000@ 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 |
--------------------------------------------------------------------------------