├── .github └── workflows │ └── test.yml ├── .gitignore ├── .swift-format ├── Fixtures ├── .gitignore ├── Makefile ├── main.swift ├── output │ └── .gitkeep └── scripts │ ├── config.sh │ ├── emit-object.sh │ └── link-shared-lib.sh ├── LICENSE ├── Package.resolved ├── Package.swift ├── README.md ├── Sources ├── ChibiLink │ ├── BinaryFormat │ │ ├── BinaryFormat.swift │ │ ├── BinaryReader.swift │ │ ├── BinaryWriter.swift │ │ └── LEB128.swift │ ├── InputBinary.swift │ ├── InputSections │ │ ├── InputDataSection.swift │ │ ├── InputElementSection.swift │ │ └── InputSection.swift │ ├── LinkInfoCollector.swift │ ├── Linker.swift │ ├── OutputSections │ │ ├── OutputCodeSection.swift │ │ ├── OutputDataSection.swift │ │ ├── OutputElementSection.swift │ │ ├── OutputExportSection.swift │ │ ├── OutputFunctionSection.swift │ │ ├── OutputGlobalSection.swift │ │ ├── OutputImportSeciton.swift │ │ ├── OutputMemorySection.swift │ │ ├── OutputNameSection.swift │ │ ├── OutputSection.swift │ │ ├── OutputStartSection.swift │ │ ├── OutputTableSection.swift │ │ └── OutputTypeSection.swift │ ├── OutputWriter.swift │ ├── Relocation.swift │ ├── SymbolTable.swift │ └── Utility │ │ ├── Errors.swift │ │ ├── FileSystem.swift │ │ ├── Log.swift │ │ ├── MathExtras.swift │ │ └── OutputByteStream.swift └── chibi-link │ └── main.swift └── Tests ├── ChibiLinkTests ├── BinaryReaderTests.swift ├── IntegrationTests.swift ├── LEB128Tests.swift ├── LinkBinaryTests.swift ├── LinkerTests.swift ├── OutputByteStreamTests.swift ├── OutputSectionsTests.swift └── misc.swift └── LinuxMain.swift /.github/workflows/test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kateinoigakukun/chibi-link/HEAD/.github/workflows/test.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | /.build 3 | /Packages 4 | /*.xcodeproj 5 | xcuserdata/ 6 | /.swiftpm 7 | -------------------------------------------------------------------------------- /.swift-format: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kateinoigakukun/chibi-link/HEAD/.swift-format -------------------------------------------------------------------------------- /Fixtures/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kateinoigakukun/chibi-link/HEAD/Fixtures/.gitignore -------------------------------------------------------------------------------- /Fixtures/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kateinoigakukun/chibi-link/HEAD/Fixtures/Makefile -------------------------------------------------------------------------------- /Fixtures/main.swift: -------------------------------------------------------------------------------- 1 | print("Hello, world") 2 | 3 | protocol P { 4 | init() 5 | } 6 | -------------------------------------------------------------------------------- /Fixtures/output/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Fixtures/scripts/config.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kateinoigakukun/chibi-link/HEAD/Fixtures/scripts/config.sh -------------------------------------------------------------------------------- /Fixtures/scripts/emit-object.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kateinoigakukun/chibi-link/HEAD/Fixtures/scripts/emit-object.sh -------------------------------------------------------------------------------- /Fixtures/scripts/link-shared-lib.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kateinoigakukun/chibi-link/HEAD/Fixtures/scripts/link-shared-lib.sh -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kateinoigakukun/chibi-link/HEAD/LICENSE -------------------------------------------------------------------------------- /Package.resolved: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kateinoigakukun/chibi-link/HEAD/Package.resolved -------------------------------------------------------------------------------- /Package.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kateinoigakukun/chibi-link/HEAD/Package.swift -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kateinoigakukun/chibi-link/HEAD/README.md -------------------------------------------------------------------------------- /Sources/ChibiLink/BinaryFormat/BinaryFormat.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kateinoigakukun/chibi-link/HEAD/Sources/ChibiLink/BinaryFormat/BinaryFormat.swift -------------------------------------------------------------------------------- /Sources/ChibiLink/BinaryFormat/BinaryReader.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kateinoigakukun/chibi-link/HEAD/Sources/ChibiLink/BinaryFormat/BinaryReader.swift -------------------------------------------------------------------------------- /Sources/ChibiLink/BinaryFormat/BinaryWriter.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kateinoigakukun/chibi-link/HEAD/Sources/ChibiLink/BinaryFormat/BinaryWriter.swift -------------------------------------------------------------------------------- /Sources/ChibiLink/BinaryFormat/LEB128.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kateinoigakukun/chibi-link/HEAD/Sources/ChibiLink/BinaryFormat/LEB128.swift -------------------------------------------------------------------------------- /Sources/ChibiLink/InputBinary.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kateinoigakukun/chibi-link/HEAD/Sources/ChibiLink/InputBinary.swift -------------------------------------------------------------------------------- /Sources/ChibiLink/InputSections/InputDataSection.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kateinoigakukun/chibi-link/HEAD/Sources/ChibiLink/InputSections/InputDataSection.swift -------------------------------------------------------------------------------- /Sources/ChibiLink/InputSections/InputElementSection.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kateinoigakukun/chibi-link/HEAD/Sources/ChibiLink/InputSections/InputElementSection.swift -------------------------------------------------------------------------------- /Sources/ChibiLink/InputSections/InputSection.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kateinoigakukun/chibi-link/HEAD/Sources/ChibiLink/InputSections/InputSection.swift -------------------------------------------------------------------------------- /Sources/ChibiLink/LinkInfoCollector.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kateinoigakukun/chibi-link/HEAD/Sources/ChibiLink/LinkInfoCollector.swift -------------------------------------------------------------------------------- /Sources/ChibiLink/Linker.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kateinoigakukun/chibi-link/HEAD/Sources/ChibiLink/Linker.swift -------------------------------------------------------------------------------- /Sources/ChibiLink/OutputSections/OutputCodeSection.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kateinoigakukun/chibi-link/HEAD/Sources/ChibiLink/OutputSections/OutputCodeSection.swift -------------------------------------------------------------------------------- /Sources/ChibiLink/OutputSections/OutputDataSection.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kateinoigakukun/chibi-link/HEAD/Sources/ChibiLink/OutputSections/OutputDataSection.swift -------------------------------------------------------------------------------- /Sources/ChibiLink/OutputSections/OutputElementSection.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kateinoigakukun/chibi-link/HEAD/Sources/ChibiLink/OutputSections/OutputElementSection.swift -------------------------------------------------------------------------------- /Sources/ChibiLink/OutputSections/OutputExportSection.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kateinoigakukun/chibi-link/HEAD/Sources/ChibiLink/OutputSections/OutputExportSection.swift -------------------------------------------------------------------------------- /Sources/ChibiLink/OutputSections/OutputFunctionSection.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kateinoigakukun/chibi-link/HEAD/Sources/ChibiLink/OutputSections/OutputFunctionSection.swift -------------------------------------------------------------------------------- /Sources/ChibiLink/OutputSections/OutputGlobalSection.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kateinoigakukun/chibi-link/HEAD/Sources/ChibiLink/OutputSections/OutputGlobalSection.swift -------------------------------------------------------------------------------- /Sources/ChibiLink/OutputSections/OutputImportSeciton.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kateinoigakukun/chibi-link/HEAD/Sources/ChibiLink/OutputSections/OutputImportSeciton.swift -------------------------------------------------------------------------------- /Sources/ChibiLink/OutputSections/OutputMemorySection.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kateinoigakukun/chibi-link/HEAD/Sources/ChibiLink/OutputSections/OutputMemorySection.swift -------------------------------------------------------------------------------- /Sources/ChibiLink/OutputSections/OutputNameSection.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kateinoigakukun/chibi-link/HEAD/Sources/ChibiLink/OutputSections/OutputNameSection.swift -------------------------------------------------------------------------------- /Sources/ChibiLink/OutputSections/OutputSection.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kateinoigakukun/chibi-link/HEAD/Sources/ChibiLink/OutputSections/OutputSection.swift -------------------------------------------------------------------------------- /Sources/ChibiLink/OutputSections/OutputStartSection.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kateinoigakukun/chibi-link/HEAD/Sources/ChibiLink/OutputSections/OutputStartSection.swift -------------------------------------------------------------------------------- /Sources/ChibiLink/OutputSections/OutputTableSection.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kateinoigakukun/chibi-link/HEAD/Sources/ChibiLink/OutputSections/OutputTableSection.swift -------------------------------------------------------------------------------- /Sources/ChibiLink/OutputSections/OutputTypeSection.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kateinoigakukun/chibi-link/HEAD/Sources/ChibiLink/OutputSections/OutputTypeSection.swift -------------------------------------------------------------------------------- /Sources/ChibiLink/OutputWriter.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kateinoigakukun/chibi-link/HEAD/Sources/ChibiLink/OutputWriter.swift -------------------------------------------------------------------------------- /Sources/ChibiLink/Relocation.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kateinoigakukun/chibi-link/HEAD/Sources/ChibiLink/Relocation.swift -------------------------------------------------------------------------------- /Sources/ChibiLink/SymbolTable.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kateinoigakukun/chibi-link/HEAD/Sources/ChibiLink/SymbolTable.swift -------------------------------------------------------------------------------- /Sources/ChibiLink/Utility/Errors.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kateinoigakukun/chibi-link/HEAD/Sources/ChibiLink/Utility/Errors.swift -------------------------------------------------------------------------------- /Sources/ChibiLink/Utility/FileSystem.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kateinoigakukun/chibi-link/HEAD/Sources/ChibiLink/Utility/FileSystem.swift -------------------------------------------------------------------------------- /Sources/ChibiLink/Utility/Log.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kateinoigakukun/chibi-link/HEAD/Sources/ChibiLink/Utility/Log.swift -------------------------------------------------------------------------------- /Sources/ChibiLink/Utility/MathExtras.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kateinoigakukun/chibi-link/HEAD/Sources/ChibiLink/Utility/MathExtras.swift -------------------------------------------------------------------------------- /Sources/ChibiLink/Utility/OutputByteStream.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kateinoigakukun/chibi-link/HEAD/Sources/ChibiLink/Utility/OutputByteStream.swift -------------------------------------------------------------------------------- /Sources/chibi-link/main.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kateinoigakukun/chibi-link/HEAD/Sources/chibi-link/main.swift -------------------------------------------------------------------------------- /Tests/ChibiLinkTests/BinaryReaderTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kateinoigakukun/chibi-link/HEAD/Tests/ChibiLinkTests/BinaryReaderTests.swift -------------------------------------------------------------------------------- /Tests/ChibiLinkTests/IntegrationTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kateinoigakukun/chibi-link/HEAD/Tests/ChibiLinkTests/IntegrationTests.swift -------------------------------------------------------------------------------- /Tests/ChibiLinkTests/LEB128Tests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kateinoigakukun/chibi-link/HEAD/Tests/ChibiLinkTests/LEB128Tests.swift -------------------------------------------------------------------------------- /Tests/ChibiLinkTests/LinkBinaryTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kateinoigakukun/chibi-link/HEAD/Tests/ChibiLinkTests/LinkBinaryTests.swift -------------------------------------------------------------------------------- /Tests/ChibiLinkTests/LinkerTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kateinoigakukun/chibi-link/HEAD/Tests/ChibiLinkTests/LinkerTests.swift -------------------------------------------------------------------------------- /Tests/ChibiLinkTests/OutputByteStreamTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kateinoigakukun/chibi-link/HEAD/Tests/ChibiLinkTests/OutputByteStreamTests.swift -------------------------------------------------------------------------------- /Tests/ChibiLinkTests/OutputSectionsTests.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kateinoigakukun/chibi-link/HEAD/Tests/ChibiLinkTests/OutputSectionsTests.swift -------------------------------------------------------------------------------- /Tests/ChibiLinkTests/misc.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kateinoigakukun/chibi-link/HEAD/Tests/ChibiLinkTests/misc.swift -------------------------------------------------------------------------------- /Tests/LinuxMain.swift: -------------------------------------------------------------------------------- 1 | --------------------------------------------------------------------------------