diff --git a/CHANGELOG.md b/CHANGELOG.md index a15f408..697f269 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # Changelog -All notable changes to gasm-devkit are documented here. +All notable changes to gasm-sdk are documented here. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). @@ -41,6 +41,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 without testdata, assembles for all four architectures (250 of 250, 100 %); over the whole tree including testdata the measure is 271 of 322 (84.2 %). +- **The module moves to `sourcedock.dev/petrbalvin/gasm-sdk`.** The + repository and the module rename together with the product, now the + GAsm Software Development Kit. Fresh installs become + `go install sourcedock.dev/petrbalvin/gasm-sdk/cmd/gasm@latest`, and + installs pinned to the old `gasm-sdk` path stop resolving once the + repository takes the new name: reinstall from the new path. The + binary stays `gasm`. ### Fixed diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 40d30ac..92bc341 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,6 +1,6 @@ # Contributing -Contributions to **gasm-devkit** are governed by the Contributor terms +Contributions to **gasm-sdk** are governed by the Contributor terms below; submitting one means you accept them. ## Contributor terms @@ -29,8 +29,8 @@ compiler (gcc), because `just gates` includes `just race` and the race detector needs cgo. ```sh -git clone https://sourcedock.dev/petrbalvin/gasm-devkit.git -cd gasm-devkit +git clone https://sourcedock.dev/petrbalvin/gasm-sdk.git +cd gasm-sdk just build just gates ``` @@ -126,7 +126,7 @@ tag, where it would double the time and the memory a shared runner cannot spare. ## Reporting bugs -Open an issue at `https://sourcedock.dev/petrbalvin/gasm-devkit/issues` with the +Open an issue at `https://sourcedock.dev/petrbalvin/gasm-sdk/issues` with the version, the operating system and architecture, the exact command, the full output, and the expected against the actual behaviour. diff --git a/README.md b/README.md index e00468e..a06faae 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -# Plan 9 assembly tooling, inside and outside Go +# GAsm: Software Development Kit for Plan 9 Assembly -> **Warning: this is an experiment.** gasm-devkit is under active +> **Warning: this is an experiment.** gasm-sdk is under active > development and is not stable. The version is 0.x.x: commands, flags, > output formats and behaviour can change without warning at any time. > A 1.0.0 release is light years away. Nothing in this document is a @@ -13,7 +13,7 @@ there is no formatter, no linter and no debugger for `.s` files, and no assembler that works without a Go installation. Developers write assembly blind, validate it by benchmark, and debug it by print -statement. gasm-devkit is the missing toolkit: a single, self-contained +statement. gasm-sdk is the missing toolkit: a single, self-contained binary, `gasm`, that serves both purposes. - **Help develop Plan 9 assembly.** Formatting, linting, disassembly, @@ -58,7 +58,7 @@ Plan 9 (Go): MOVQ AX, total-16(SP) The same lines, but only one of them tells you what the number is for. The syntax is uppercase, regular and boring, which is the highest -compliment a language for machine code can earn. gasm-devkit exists +compliment a language for machine code can earn. gasm-sdk exists to give that syntax the tooling it deserves. ## Features @@ -233,11 +233,11 @@ The plan, in the order it is being worked: Prebuilt binaries for linux/amd64, linux/arm64, linux/riscv64 and linux/loong64 are on the -[releases page](https://sourcedock.dev/petrbalvin/gasm-devkit/releases). +[releases page](https://sourcedock.dev/petrbalvin/gasm-sdk/releases). From source (Go 1.27.1): ```sh -go install sourcedock.dev/petrbalvin/gasm-devkit/cmd/gasm@latest +go install sourcedock.dev/petrbalvin/gasm-sdk/cmd/gasm@latest ``` Or from a repository checkout: diff --git a/_gen/gen.go b/_gen/gen.go index 9d1420a..a2313c7 100644 --- a/_gen/gen.go +++ b/_gen/gen.go @@ -5,7 +5,7 @@ // toolchain's own assembler source. Go's Plan 9 assembler defines the exact, // complete set of mnemonics it accepts for each architecture in // $GOROOT/src/cmd/internal/obj//anames.go; this tool extracts those -// names so gasm-devkit supports every instruction the real assembler does, +// names so gasm-sdk supports every instruction the real assembler does, // with no hand-maintained (and therefore inevitably incomplete) lists. // // The same data feeds the generated instruction appendices of the assembly @@ -31,11 +31,11 @@ import ( "sort" "strings" - "sourcedock.dev/petrbalvin/gasm-devkit/arch" - "sourcedock.dev/petrbalvin/gasm-devkit/asm" + "sourcedock.dev/petrbalvin/gasm-sdk/arch" + "sourcedock.dev/petrbalvin/gasm-sdk/asm" ) -// archDirs maps a gasm-devkit architecture name to its obj sub-directory. +// archDirs maps a gasm-sdk architecture name to its obj sub-directory. var archDirs = []struct { arch string sub string @@ -119,7 +119,7 @@ func filterCommon(names []string) []string { // writeCommon emits arch/common_gen.go. func writeCommon(names []string) error { var b strings.Builder - b.WriteString("// Code generated by gasm-devkit _gen; DO NOT EDIT.\n") + b.WriteString("// Code generated by gasm-sdk _gen; DO NOT EDIT.\n") b.WriteString("// Source: cmd/internal/obj/util.go from the Go toolchain.\n") b.WriteString("//\n") b.WriteString("// Copyright (c) 2026 Petr Balvín (https://petrbalvin.org)\n") @@ -190,7 +190,7 @@ func stringLit(elt ast.Expr) string { // writeGen emits arch/_gen.go. func writeGen(arch, sub string, names []string) error { var b strings.Builder - b.WriteString("// Code generated by gasm-devkit _gen; DO NOT EDIT.\n") + b.WriteString("// Code generated by gasm-sdk _gen; DO NOT EDIT.\n") b.WriteString("// Source: cmd/internal/obj/" + sub + "/anames.go from the Go toolchain.\n") b.WriteString("//\n") b.WriteString("// Copyright (c) 2026 Petr Balvín (https://petrbalvin.org)\n") @@ -216,7 +216,7 @@ func writeDocPage(a arch.Arch, title, file, anames, version string, encodable bo var b strings.Builder b.WriteString("# " + title + ": instruction inventory\n\n") - b.WriteString("Generated by gasm-devkit's `_gen` from the Go toolchain's instruction table\n") + b.WriteString("Generated by gasm-sdk's `_gen` from the Go toolchain's instruction table\n") b.WriteString("(`" + anames + "`, " + version + "); DO NOT EDIT. This page lists every mnemonic\n") b.WriteString("`go tool asm` accepts on this target, which is the upper bound of the\n") b.WriteString("language on it: a name absent here is not an instruction of the target,\n") diff --git a/arch/amd64_gen.go b/arch/amd64_gen.go index 88c4716..df6dad4 100644 --- a/arch/amd64_gen.go +++ b/arch/amd64_gen.go @@ -1,4 +1,4 @@ -// Code generated by gasm-devkit _gen; DO NOT EDIT. +// Code generated by gasm-sdk _gen; DO NOT EDIT. // Source: cmd/internal/obj/x86/anames.go from the Go toolchain. // // Copyright (c) 2026 Petr Balvín (https://petrbalvin.org) diff --git a/arch/arm64_gen.go b/arch/arm64_gen.go index 10046fe..71f1d7e 100644 --- a/arch/arm64_gen.go +++ b/arch/arm64_gen.go @@ -1,4 +1,4 @@ -// Code generated by gasm-devkit _gen; DO NOT EDIT. +// Code generated by gasm-sdk _gen; DO NOT EDIT. // Source: cmd/internal/obj/arm64/anames.go from the Go toolchain. // // Copyright (c) 2026 Petr Balvín (https://petrbalvin.org) diff --git a/arch/common_gen.go b/arch/common_gen.go index 78a0e2d..6aaf040 100644 --- a/arch/common_gen.go +++ b/arch/common_gen.go @@ -1,4 +1,4 @@ -// Code generated by gasm-devkit _gen; DO NOT EDIT. +// Code generated by gasm-sdk _gen; DO NOT EDIT. // Source: cmd/internal/obj/util.go from the Go toolchain. // // Copyright (c) 2026 Petr Balvín (https://petrbalvin.org) diff --git a/arch/loong64_gen.go b/arch/loong64_gen.go index 87f356e..5d0c4fd 100644 --- a/arch/loong64_gen.go +++ b/arch/loong64_gen.go @@ -1,4 +1,4 @@ -// Code generated by gasm-devkit _gen; DO NOT EDIT. +// Code generated by gasm-sdk _gen; DO NOT EDIT. // Source: cmd/internal/obj/loong64/anames.go from the Go toolchain. // // Copyright (c) 2026 Petr Balvín (https://petrbalvin.org) diff --git a/arch/riscv_gen.go b/arch/riscv_gen.go index b83d9e6..8d3e13d 100644 --- a/arch/riscv_gen.go +++ b/arch/riscv_gen.go @@ -1,4 +1,4 @@ -// Code generated by gasm-devkit _gen; DO NOT EDIT. +// Code generated by gasm-sdk _gen; DO NOT EDIT. // Source: cmd/internal/obj/riscv/anames.go from the Go toolchain. // // Copyright (c) 2026 Petr Balvín (https://petrbalvin.org) diff --git a/asm/aarch64_goobj_test.go b/asm/aarch64_goobj_test.go index 1552af7..738b431 100644 --- a/asm/aarch64_goobj_test.go +++ b/asm/aarch64_goobj_test.go @@ -11,7 +11,7 @@ import ( "strings" "testing" - "sourcedock.dev/petrbalvin/gasm-devkit/parser" + "sourcedock.dev/petrbalvin/gasm-sdk/parser" ) // TestGOObjectAARCH64Structure checks the basic structure of the emitted diff --git a/asm/arm64_assemble.go b/asm/arm64_assemble.go index 9d53d8a..3e4ff81 100644 --- a/asm/arm64_assemble.go +++ b/asm/arm64_assemble.go @@ -9,7 +9,7 @@ import ( "strconv" "strings" - "sourcedock.dev/petrbalvin/gasm-devkit/ast" + "sourcedock.dev/petrbalvin/gasm-sdk/ast" ) // assembleARM64 assembles an AArch64 (arm64) TEXT function body into machine diff --git a/asm/arm64_encode.go b/asm/arm64_encode.go index 19ca963..8b44aa2 100644 --- a/asm/arm64_encode.go +++ b/asm/arm64_encode.go @@ -33,7 +33,7 @@ import ( "strconv" "strings" - "sourcedock.dev/petrbalvin/gasm-devkit/ast" + "sourcedock.dev/petrbalvin/gasm-sdk/ast" ) // arm64RegNum returns the 5-bit register number for an AArch64 register name: diff --git a/asm/arm64_encode_test.go b/asm/arm64_encode_test.go index 7bdafc7..3c2b1a0 100644 --- a/asm/arm64_encode_test.go +++ b/asm/arm64_encode_test.go @@ -7,8 +7,8 @@ import ( "strings" "testing" - "sourcedock.dev/petrbalvin/gasm-devkit/ast" - "sourcedock.dev/petrbalvin/gasm-devkit/parser" + "sourcedock.dev/petrbalvin/gasm-sdk/ast" + "sourcedock.dev/petrbalvin/gasm-sdk/parser" ) func TestArm64LDRSTREncoding(t *testing.T) { diff --git a/asm/arm64_frame.go b/asm/arm64_frame.go index e9b7af7..e74953c 100644 --- a/asm/arm64_frame.go +++ b/asm/arm64_frame.go @@ -53,7 +53,7 @@ package asm import ( "strings" - "sourcedock.dev/petrbalvin/gasm-devkit/ast" + "sourcedock.dev/petrbalvin/gasm-sdk/ast" ) // arm64FrameInfo holds the frame layout derived from a TEXT directive. diff --git a/asm/arm64_reloc_test.go b/asm/arm64_reloc_test.go index 5a57e44..3d5c47d 100644 --- a/asm/arm64_reloc_test.go +++ b/asm/arm64_reloc_test.go @@ -7,7 +7,7 @@ import ( "encoding/binary" "testing" - "sourcedock.dev/petrbalvin/gasm-devkit/parser" + "sourcedock.dev/petrbalvin/gasm-sdk/parser" ) // parseArm64File is a helper assembling one arm64 source file. diff --git a/asm/assemble.go b/asm/assemble.go index e72225f..d7bad42 100644 --- a/asm/assemble.go +++ b/asm/assemble.go @@ -8,7 +8,7 @@ import ( "strconv" "strings" - "sourcedock.dev/petrbalvin/gasm-devkit/ast" + "sourcedock.dev/petrbalvin/gasm-sdk/ast" ) // Assemble encodes the body of a TEXT function into x86-64 machine code, diff --git a/asm/assemble_test.go b/asm/assemble_test.go index 67a2273..bb8b251 100644 --- a/asm/assemble_test.go +++ b/asm/assemble_test.go @@ -10,8 +10,8 @@ import ( "golang.org/x/arch/x86/x86asm" - "sourcedock.dev/petrbalvin/gasm-devkit/ast" - "sourcedock.dev/petrbalvin/gasm-devkit/parser" + "sourcedock.dev/petrbalvin/gasm-sdk/ast" + "sourcedock.dev/petrbalvin/gasm-sdk/parser" ) // firstText parses src and returns its first TEXT function. diff --git a/asm/elf_dwarf_test.go b/asm/elf_dwarf_test.go index e476f00..f33027e 100644 --- a/asm/elf_dwarf_test.go +++ b/asm/elf_dwarf_test.go @@ -8,7 +8,7 @@ import ( "encoding/binary" "testing" - "sourcedock.dev/petrbalvin/gasm-devkit/parser" + "sourcedock.dev/petrbalvin/gasm-sdk/parser" ) // ulebIter reads ULEB128 values, the .debug_abbrev and line-header diff --git a/asm/elf_test.go b/asm/elf_test.go index 8f92834..a2657af 100644 --- a/asm/elf_test.go +++ b/asm/elf_test.go @@ -12,8 +12,8 @@ import ( "path/filepath" "testing" - "sourcedock.dev/petrbalvin/gasm-devkit/ast" - "sourcedock.dev/petrbalvin/gasm-devkit/parser" + "sourcedock.dev/petrbalvin/gasm-sdk/ast" + "sourcedock.dev/petrbalvin/gasm-sdk/parser" ) // The object-file tests share one source: two exported functions, one diff --git a/asm/elfarm64_test.go b/asm/elfarm64_test.go index 0230dc1..8b388d3 100644 --- a/asm/elfarm64_test.go +++ b/asm/elfarm64_test.go @@ -9,7 +9,7 @@ import ( "encoding/binary" "testing" - "sourcedock.dev/petrbalvin/gasm-devkit/parser" + "sourcedock.dev/petrbalvin/gasm-sdk/parser" ) // TestELFAARCH64Object checks the structure of the emitted AArch64 ELF64 diff --git a/asm/elfloong64_test.go b/asm/elfloong64_test.go index 4017860..f050035 100644 --- a/asm/elfloong64_test.go +++ b/asm/elfloong64_test.go @@ -9,7 +9,7 @@ import ( "encoding/binary" "testing" - "sourcedock.dev/petrbalvin/gasm-devkit/parser" + "sourcedock.dev/petrbalvin/gasm-sdk/parser" ) // TestELFLOONG64Object checks the structure of the emitted LoongArch ELF64 diff --git a/asm/elfriscv_test.go b/asm/elfriscv_test.go index dee53e6..012bb11 100644 --- a/asm/elfriscv_test.go +++ b/asm/elfriscv_test.go @@ -9,7 +9,7 @@ import ( "encoding/binary" "testing" - "sourcedock.dev/petrbalvin/gasm-devkit/parser" + "sourcedock.dev/petrbalvin/gasm-sdk/parser" ) // TestELFRISCVObjectDataRelocation checks that a symbol-valued DATA field diff --git a/asm/encode_test.go b/asm/encode_test.go index 06daa09..036d7c1 100644 --- a/asm/encode_test.go +++ b/asm/encode_test.go @@ -10,8 +10,8 @@ import ( "golang.org/x/arch/x86/x86asm" - "sourcedock.dev/petrbalvin/gasm-devkit/ast" - "sourcedock.dev/petrbalvin/gasm-devkit/parser" + "sourcedock.dev/petrbalvin/gasm-sdk/ast" + "sourcedock.dev/petrbalvin/gasm-sdk/parser" ) // decode encodes an instruction and decodes it back, returning the decoded diff --git a/asm/goobj_test.go b/asm/goobj_test.go index 393d185..f0b5d7d 100644 --- a/asm/goobj_test.go +++ b/asm/goobj_test.go @@ -12,7 +12,7 @@ import ( "strings" "testing" - "sourcedock.dev/petrbalvin/gasm-devkit/parser" + "sourcedock.dev/petrbalvin/gasm-sdk/parser" ) // goobjView is a minimal parsed view of a GOOBJ payload, enough to check diff --git a/asm/guard_test.go b/asm/guard_test.go index cd1324b..b3bfec1 100644 --- a/asm/guard_test.go +++ b/asm/guard_test.go @@ -9,8 +9,8 @@ import ( "strings" "testing" - "sourcedock.dev/petrbalvin/gasm-devkit/ast" - "sourcedock.dev/petrbalvin/gasm-devkit/parser" + "sourcedock.dev/petrbalvin/gasm-sdk/ast" + "sourcedock.dev/petrbalvin/gasm-sdk/parser" ) // The expected bytes are pinned from `go tool asm` output (Go 1.27, amd64, diff --git a/asm/integration_test.go b/asm/integration_test.go index edf5a86..cc60e28 100644 --- a/asm/integration_test.go +++ b/asm/integration_test.go @@ -16,7 +16,7 @@ import ( "golang.org/x/arch/x86/x86asm" - "sourcedock.dev/petrbalvin/gasm-devkit/parser" + "sourcedock.dev/petrbalvin/gasm-sdk/parser" ) // TestAssembleGoFlacAVX2Kernel assembles the whole production AVX2 kernel; @@ -25,7 +25,7 @@ import ( func TestAssembleGoFlacAVX2Kernel(t *testing.T) { path := "../../go-libraries/go-flac/avx2_amd64.s" if _, err := os.Stat(path); err != nil { - t.Skip("go-libraries repository not present next to gasm-devkit") + t.Skip("go-libraries repository not present next to gasm-sdk") } src, err := os.ReadFile(path) if err != nil { @@ -86,7 +86,7 @@ func TestAssembleGoFlacAVX2Kernel(t *testing.T) { func TestAssembleGoFlacAVX512Kernel(t *testing.T) { path := "../../go-libraries/go-flac/avx512_amd64.s" if _, err := os.Stat(path); err != nil { - t.Skip("go-libraries repository not present next to gasm-devkit") + t.Skip("go-libraries repository not present next to gasm-sdk") } src, err := os.ReadFile(path) if err != nil { diff --git a/asm/kernels_differential_test.go b/asm/kernels_differential_test.go index 7c7ef3a..7cf2c75 100644 --- a/asm/kernels_differential_test.go +++ b/asm/kernels_differential_test.go @@ -13,7 +13,7 @@ import ( "strings" "testing" - "sourcedock.dev/petrbalvin/gasm-devkit/parser" + "sourcedock.dev/petrbalvin/gasm-sdk/parser" ) // The differential kernels for the DATA-path and front-end gaps are kept in diff --git a/asm/l64_goobj_test.go b/asm/l64_goobj_test.go index f87f56c..da5cc90 100644 --- a/asm/l64_goobj_test.go +++ b/asm/l64_goobj_test.go @@ -12,7 +12,7 @@ import ( "strings" "testing" - "sourcedock.dev/petrbalvin/gasm-devkit/parser" + "sourcedock.dev/petrbalvin/gasm-sdk/parser" ) // TestGOObjectLOONG64Structure checks the emitted loong64 object's blocks: diff --git a/asm/link.go b/asm/link.go index fb664ce..0d87ad4 100644 --- a/asm/link.go +++ b/asm/link.go @@ -9,7 +9,7 @@ import ( "sort" "strconv" - "sourcedock.dev/petrbalvin/gasm-devkit/ast" + "sourcedock.dev/petrbalvin/gasm-sdk/ast" ) // Image is an assembled file: the function bodies laid out in source order, diff --git a/asm/link_test.go b/asm/link_test.go index d6fd2b6..659c6d0 100644 --- a/asm/link_test.go +++ b/asm/link_test.go @@ -12,7 +12,7 @@ import ( "strings" "testing" - "sourcedock.dev/petrbalvin/gasm-devkit/parser" + "sourcedock.dev/petrbalvin/gasm-sdk/parser" ) // TestAssembleFileStaticData checks the whole-image layout; code, padding diff --git a/asm/loong64_assemble.go b/asm/loong64_assemble.go index 3855882..ece5719 100644 --- a/asm/loong64_assemble.go +++ b/asm/loong64_assemble.go @@ -9,7 +9,7 @@ import ( "strconv" "strings" - "sourcedock.dev/petrbalvin/gasm-devkit/ast" + "sourcedock.dev/petrbalvin/gasm-sdk/ast" ) // assembleLOONG64 assembles a LoongArch (loong64) TEXT function body into diff --git a/asm/loong64_encode_test.go b/asm/loong64_encode_test.go index 19a7a09..77ac945 100644 --- a/asm/loong64_encode_test.go +++ b/asm/loong64_encode_test.go @@ -8,8 +8,8 @@ import ( "encoding/binary" "testing" - "sourcedock.dev/petrbalvin/gasm-devkit/ast" - "sourcedock.dev/petrbalvin/gasm-devkit/parser" + "sourcedock.dev/petrbalvin/gasm-sdk/ast" + "sourcedock.dev/petrbalvin/gasm-sdk/parser" ) // firstTextLOONG64 parses assembly source and returns the first TEXT body. diff --git a/asm/loong64_frame.go b/asm/loong64_frame.go index 9cbe295..1a167b2 100644 --- a/asm/loong64_frame.go +++ b/asm/loong64_frame.go @@ -6,7 +6,7 @@ package asm import ( "strings" - "sourcedock.dev/petrbalvin/gasm-devkit/ast" + "sourcedock.dev/petrbalvin/gasm-sdk/ast" ) // Loong64 frame mapping, matching the Go toolchain's loong64 backend. diff --git a/asm/loong64_more_test.go b/asm/loong64_more_test.go index 693f51a..d517a6b 100644 --- a/asm/loong64_more_test.go +++ b/asm/loong64_more_test.go @@ -7,7 +7,7 @@ import ( "bytes" "testing" - "sourcedock.dev/petrbalvin/gasm-devkit/parser" + "sourcedock.dev/petrbalvin/gasm-sdk/parser" ) // TestLOONG64_sys exercises the no-operand system instructions and the diff --git a/asm/loong64_reloc_test.go b/asm/loong64_reloc_test.go index c58256f..1d675ee 100644 --- a/asm/loong64_reloc_test.go +++ b/asm/loong64_reloc_test.go @@ -6,7 +6,7 @@ package asm import ( "testing" - "sourcedock.dev/petrbalvin/gasm-devkit/parser" + "sourcedock.dev/petrbalvin/gasm-sdk/parser" ) // TestLOONG64RelocOffsetsIncludePrologue pins the function-relative diff --git a/asm/riscv_assemble.go b/asm/riscv_assemble.go index c9a1bb8..7f44eaa 100644 --- a/asm/riscv_assemble.go +++ b/asm/riscv_assemble.go @@ -10,7 +10,7 @@ import ( "slices" "strings" - "sourcedock.dev/petrbalvin/gasm-devkit/ast" + "sourcedock.dev/petrbalvin/gasm-sdk/ast" ) // assembleRISCV assembles a RISC-V TEXT function body into machine code. diff --git a/asm/riscv_encode_test.go b/asm/riscv_encode_test.go index 230f4b2..68f4384 100644 --- a/asm/riscv_encode_test.go +++ b/asm/riscv_encode_test.go @@ -10,8 +10,8 @@ import ( "strings" "testing" - "sourcedock.dev/petrbalvin/gasm-devkit/ast" - "sourcedock.dev/petrbalvin/gasm-devkit/parser" + "sourcedock.dev/petrbalvin/gasm-sdk/ast" + "sourcedock.dev/petrbalvin/gasm-sdk/parser" ) // firstTextRISCV parses assembly source and returns the first TEXT function body. diff --git a/asm/riscv_frame.go b/asm/riscv_frame.go index aeee94a..8769459 100644 --- a/asm/riscv_frame.go +++ b/asm/riscv_frame.go @@ -7,7 +7,7 @@ import ( "fmt" "strings" - "sourcedock.dev/petrbalvin/gasm-devkit/ast" + "sourcedock.dev/petrbalvin/gasm-sdk/ast" ) // RISC-V frame mapping, matching the Go toolchain's riscv64 backend. diff --git a/asm/riscv_frame_test.go b/asm/riscv_frame_test.go index 5a03510..24414ef 100644 --- a/asm/riscv_frame_test.go +++ b/asm/riscv_frame_test.go @@ -6,7 +6,7 @@ package asm import ( "testing" - "sourcedock.dev/petrbalvin/gasm-devkit/parser" + "sourcedock.dev/petrbalvin/gasm-sdk/parser" ) // TestRISCVFrameSpadjAndLines checks that a framed function records its diff --git a/asm/riscv_goobj_test.go b/asm/riscv_goobj_test.go index fdef996..816ab47 100644 --- a/asm/riscv_goobj_test.go +++ b/asm/riscv_goobj_test.go @@ -13,7 +13,7 @@ import ( "strings" "testing" - "sourcedock.dev/petrbalvin/gasm-devkit/parser" + "sourcedock.dev/petrbalvin/gasm-sdk/parser" ) // TestGOObjectRISCVCallReloc checks that CALL sym(SB) emits a single JAL diff --git a/ast/ast.go b/ast/ast.go index f6c3112..a1acbdb 100644 --- a/ast/ast.go +++ b/ast/ast.go @@ -8,7 +8,7 @@ // to the arch package; the AST records syntax only. package ast -import "sourcedock.dev/petrbalvin/gasm-devkit/token" +import "sourcedock.dev/petrbalvin/gasm-sdk/token" // File is the parsed representation of one .s source file. type File struct { diff --git a/ast/ast_test.go b/ast/ast_test.go index cdf2959..c9c029e 100644 --- a/ast/ast_test.go +++ b/ast/ast_test.go @@ -6,7 +6,7 @@ package ast import ( "testing" - "sourcedock.dev/petrbalvin/gasm-devkit/token" + "sourcedock.dev/petrbalvin/gasm-sdk/token" ) func pos(line, col int) token.Position { return token.Position{Line: line, Column: col} } diff --git a/cmd/gasm/asmhdr.go b/cmd/gasm/asmhdr.go index c76843f..e7b778d 100644 --- a/cmd/gasm/asmhdr.go +++ b/cmd/gasm/asmhdr.go @@ -17,7 +17,7 @@ import ( "regexp" "strings" - "sourcedock.dev/petrbalvin/gasm-devkit/arch" + "sourcedock.dev/petrbalvin/gasm-sdk/arch" ) // go_asm.h is the header the Go compiler writes for every package that diff --git a/cmd/gasm/audit.go b/cmd/gasm/audit.go index 62427e5..b2c2d28 100644 --- a/cmd/gasm/audit.go +++ b/cmd/gasm/audit.go @@ -16,9 +16,9 @@ import ( "strconv" "strings" - "sourcedock.dev/petrbalvin/gasm-devkit/arch" - "sourcedock.dev/petrbalvin/gasm-devkit/asm" - "sourcedock.dev/petrbalvin/gasm-devkit/parser" + "sourcedock.dev/petrbalvin/gasm-sdk/arch" + "sourcedock.dev/petrbalvin/gasm-sdk/asm" + "sourcedock.dev/petrbalvin/gasm-sdk/parser" ) // cmdAuditInstructions cross-checks a gasm encoder against the Go toolchain's diff --git a/cmd/gasm/audit_test.go b/cmd/gasm/audit_test.go index 03f26a0..3cc9472 100644 --- a/cmd/gasm/audit_test.go +++ b/cmd/gasm/audit_test.go @@ -7,7 +7,7 @@ import ( "runtime" "testing" - "sourcedock.dev/petrbalvin/gasm-devkit/arch" + "sourcedock.dev/petrbalvin/gasm-sdk/arch" ) func TestDerivedFamily(t *testing.T) { diff --git a/cmd/gasm/debug_ptrace.go b/cmd/gasm/debug_ptrace.go index 0c2eca3..4316d56 100644 --- a/cmd/gasm/debug_ptrace.go +++ b/cmd/gasm/debug_ptrace.go @@ -13,8 +13,8 @@ import ( "strings" "time" - "sourcedock.dev/petrbalvin/gasm-devkit/debug" - "sourcedock.dev/petrbalvin/gasm-devkit/verify" + "sourcedock.dev/petrbalvin/gasm-sdk/debug" + "sourcedock.dev/petrbalvin/gasm-sdk/verify" ) func cmdDebug(args []string) int { diff --git a/cmd/gasm/dis.go b/cmd/gasm/dis.go index a31cd83..8da7ade 100644 --- a/cmd/gasm/dis.go +++ b/cmd/gasm/dis.go @@ -9,9 +9,9 @@ import ( "sort" "strings" - "sourcedock.dev/petrbalvin/gasm-devkit/arch" - "sourcedock.dev/petrbalvin/gasm-devkit/disasm" - "sourcedock.dev/petrbalvin/gasm-devkit/parser" + "sourcedock.dev/petrbalvin/gasm-sdk/arch" + "sourcedock.dev/petrbalvin/gasm-sdk/disasm" + "sourcedock.dev/petrbalvin/gasm-sdk/parser" ) // cmdDis disassembles machine code: either a raw binary (standard input with diff --git a/cmd/gasm/main.go b/cmd/gasm/main.go index 01923e1..1f6f753 100644 --- a/cmd/gasm/main.go +++ b/cmd/gasm/main.go @@ -27,15 +27,15 @@ import ( "sync" "syscall" - "sourcedock.dev/petrbalvin/gasm-devkit/arch" - "sourcedock.dev/petrbalvin/gasm-devkit/asm" - "sourcedock.dev/petrbalvin/gasm-devkit/ast" - "sourcedock.dev/petrbalvin/gasm-devkit/format" - "sourcedock.dev/petrbalvin/gasm-devkit/lexer" - "sourcedock.dev/petrbalvin/gasm-devkit/lint" - "sourcedock.dev/petrbalvin/gasm-devkit/lsp" - "sourcedock.dev/petrbalvin/gasm-devkit/parser" - "sourcedock.dev/petrbalvin/gasm-devkit/verify" + "sourcedock.dev/petrbalvin/gasm-sdk/arch" + "sourcedock.dev/petrbalvin/gasm-sdk/asm" + "sourcedock.dev/petrbalvin/gasm-sdk/ast" + "sourcedock.dev/petrbalvin/gasm-sdk/format" + "sourcedock.dev/petrbalvin/gasm-sdk/lexer" + "sourcedock.dev/petrbalvin/gasm-sdk/lint" + "sourcedock.dev/petrbalvin/gasm-sdk/lsp" + "sourcedock.dev/petrbalvin/gasm-sdk/parser" + "sourcedock.dev/petrbalvin/gasm-sdk/verify" ) // version reports the release the toolchain recorded for this build: the diff --git a/cmd/gasm/main_test.go b/cmd/gasm/main_test.go index 13c1707..2b6b985 100644 --- a/cmd/gasm/main_test.go +++ b/cmd/gasm/main_test.go @@ -14,8 +14,8 @@ import ( "syscall" "testing" - "sourcedock.dev/petrbalvin/gasm-devkit/arch" - "sourcedock.dev/petrbalvin/gasm-devkit/asm" + "sourcedock.dev/petrbalvin/gasm-sdk/arch" + "sourcedock.dev/petrbalvin/gasm-sdk/asm" ) const clean = "#include \"textflag.h\"\n" + diff --git a/cmd/gasm/scaffold.go b/cmd/gasm/scaffold.go index 4e94ac1..a14513e 100644 --- a/cmd/gasm/scaffold.go +++ b/cmd/gasm/scaffold.go @@ -11,8 +11,8 @@ import ( "os" "strings" - gasmast "sourcedock.dev/petrbalvin/gasm-devkit/ast" - gasmparser "sourcedock.dev/petrbalvin/gasm-devkit/parser" + gasmast "sourcedock.dev/petrbalvin/gasm-sdk/ast" + gasmparser "sourcedock.dev/petrbalvin/gasm-sdk/parser" ) // cmdScaffold generates a differential test skeleton for every kernel in a diff --git a/debug/disasm_freebsd_amd64.go b/debug/disasm_freebsd_amd64.go index d9922c5..e8df9e5 100644 --- a/debug/disasm_freebsd_amd64.go +++ b/debug/disasm_freebsd_amd64.go @@ -9,8 +9,8 @@ import ( "fmt" "strings" - "sourcedock.dev/petrbalvin/gasm-devkit/arch" - "sourcedock.dev/petrbalvin/gasm-devkit/disasm" + "sourcedock.dev/petrbalvin/gasm-sdk/arch" + "sourcedock.dev/petrbalvin/gasm-sdk/disasm" ) // Disassemble decodes the instruction at the given address in the debuggee's diff --git a/debug/disasm_freebsd_arm64.go b/debug/disasm_freebsd_arm64.go index 07ad7f5..73ae137 100644 --- a/debug/disasm_freebsd_arm64.go +++ b/debug/disasm_freebsd_arm64.go @@ -9,8 +9,8 @@ import ( "fmt" "strings" - "sourcedock.dev/petrbalvin/gasm-devkit/arch" - "sourcedock.dev/petrbalvin/gasm-devkit/disasm" + "sourcedock.dev/petrbalvin/gasm-sdk/arch" + "sourcedock.dev/petrbalvin/gasm-sdk/disasm" ) // Disassemble decodes the instruction at the given address in the debuggee's diff --git a/debug/disasm_freebsd_riscv64.go b/debug/disasm_freebsd_riscv64.go index 310f5d9..0207101 100644 --- a/debug/disasm_freebsd_riscv64.go +++ b/debug/disasm_freebsd_riscv64.go @@ -9,8 +9,8 @@ import ( "fmt" "strings" - "sourcedock.dev/petrbalvin/gasm-devkit/arch" - "sourcedock.dev/petrbalvin/gasm-devkit/disasm" + "sourcedock.dev/petrbalvin/gasm-sdk/arch" + "sourcedock.dev/petrbalvin/gasm-sdk/disasm" ) // Disassemble decodes the instruction at the given address in the debuggee's diff --git a/debug/disasm_linux_amd64.go b/debug/disasm_linux_amd64.go index cc2b1c2..aec0b8f 100644 --- a/debug/disasm_linux_amd64.go +++ b/debug/disasm_linux_amd64.go @@ -9,8 +9,8 @@ import ( "fmt" "strings" - "sourcedock.dev/petrbalvin/gasm-devkit/arch" - "sourcedock.dev/petrbalvin/gasm-devkit/disasm" + "sourcedock.dev/petrbalvin/gasm-sdk/arch" + "sourcedock.dev/petrbalvin/gasm-sdk/disasm" ) // Disassemble decodes the instruction at the given address in the debuggee's diff --git a/debug/disasm_linux_arm64.go b/debug/disasm_linux_arm64.go index 64d9a84..a735833 100644 --- a/debug/disasm_linux_arm64.go +++ b/debug/disasm_linux_arm64.go @@ -9,8 +9,8 @@ import ( "fmt" "strings" - "sourcedock.dev/petrbalvin/gasm-devkit/arch" - "sourcedock.dev/petrbalvin/gasm-devkit/disasm" + "sourcedock.dev/petrbalvin/gasm-sdk/arch" + "sourcedock.dev/petrbalvin/gasm-sdk/disasm" ) // Disassemble decodes the instruction at the given address in the debuggee's diff --git a/debug/disasm_linux_loong64.go b/debug/disasm_linux_loong64.go index ac4a54a..d5098f0 100644 --- a/debug/disasm_linux_loong64.go +++ b/debug/disasm_linux_loong64.go @@ -9,8 +9,8 @@ import ( "fmt" "strings" - "sourcedock.dev/petrbalvin/gasm-devkit/arch" - "sourcedock.dev/petrbalvin/gasm-devkit/disasm" + "sourcedock.dev/petrbalvin/gasm-sdk/arch" + "sourcedock.dev/petrbalvin/gasm-sdk/disasm" ) // Disassemble decodes the instruction at the given address in the debuggee's diff --git a/debug/disasm_linux_riscv64.go b/debug/disasm_linux_riscv64.go index f81c9b7..39cf3d5 100644 --- a/debug/disasm_linux_riscv64.go +++ b/debug/disasm_linux_riscv64.go @@ -9,8 +9,8 @@ import ( "fmt" "strings" - "sourcedock.dev/petrbalvin/gasm-devkit/arch" - "sourcedock.dev/petrbalvin/gasm-devkit/disasm" + "sourcedock.dev/petrbalvin/gasm-sdk/arch" + "sourcedock.dev/petrbalvin/gasm-sdk/disasm" ) // Disassemble decodes the instruction at the given address in the debuggee's diff --git a/debug/ptrace_extra_test.go b/debug/ptrace_extra_test.go index 130a53c..18de46f 100644 --- a/debug/ptrace_extra_test.go +++ b/debug/ptrace_extra_test.go @@ -17,8 +17,8 @@ import ( "time" "unsafe" - "sourcedock.dev/petrbalvin/gasm-devkit/asm" - "sourcedock.dev/petrbalvin/gasm-devkit/verify" + "sourcedock.dev/petrbalvin/gasm-sdk/asm" + "sourcedock.dev/petrbalvin/gasm-sdk/verify" ) // Integration tests beyond the basic entry breakpoint: hardware watchpoints, diff --git a/debug/ptrace_integration_freebsd_test.go b/debug/ptrace_integration_freebsd_test.go index 9c3676d..c842176 100644 --- a/debug/ptrace_integration_freebsd_test.go +++ b/debug/ptrace_integration_freebsd_test.go @@ -11,7 +11,7 @@ import ( "runtime" "testing" - "sourcedock.dev/petrbalvin/gasm-devkit/verify" + "sourcedock.dev/petrbalvin/gasm-sdk/verify" ) // TestLaunchAndBreakpoint is the FreeBSD twin of the Linux integration @@ -29,7 +29,7 @@ func TestLaunchAndBreakpoint(t *testing.T) { defer runtime.UnlockOSThread() bin := filepath.Join(t.TempDir(), "gasm") - out, err := exec.Command("go", "build", "-o", bin, "sourcedock.dev/petrbalvin/gasm-devkit/cmd/gasm").CombinedOutput() + out, err := exec.Command("go", "build", "-o", bin, "sourcedock.dev/petrbalvin/gasm-sdk/cmd/gasm").CombinedOutput() if err != nil { t.Fatalf("build gasm: %v: %s", err, out) } diff --git a/debug/ptrace_integration_test.go b/debug/ptrace_integration_test.go index ee92009..f0288b1 100644 --- a/debug/ptrace_integration_test.go +++ b/debug/ptrace_integration_test.go @@ -14,7 +14,7 @@ import ( "strings" "testing" - "sourcedock.dev/petrbalvin/gasm-devkit/verify" + "sourcedock.dev/petrbalvin/gasm-sdk/verify" ) // buildGasm produces the gasm binary the debugger spawns as its debuggee. @@ -24,7 +24,7 @@ func buildGasm(t *testing.T) string { return p } bin := filepath.Join(t.TempDir(), "gasm") - cmd := exec.Command("go", "build", "-o", bin, "sourcedock.dev/petrbalvin/gasm-devkit/cmd/gasm") + cmd := exec.Command("go", "build", "-o", bin, "sourcedock.dev/petrbalvin/gasm-sdk/cmd/gasm") out, err := cmd.CombinedOutput() if err != nil { t.Fatalf("build gasm: %v: %s", err, out) diff --git a/debug/target_freebsd.go b/debug/target_freebsd.go index 324bd25..51e5c47 100644 --- a/debug/target_freebsd.go +++ b/debug/target_freebsd.go @@ -17,9 +17,9 @@ import ( "golang.org/x/sys/unix" - "sourcedock.dev/petrbalvin/gasm-devkit/asm" - "sourcedock.dev/petrbalvin/gasm-devkit/parser" - "sourcedock.dev/petrbalvin/gasm-devkit/verify" + "sourcedock.dev/petrbalvin/gasm-sdk/asm" + "sourcedock.dev/petrbalvin/gasm-sdk/parser" + "sourcedock.dev/petrbalvin/gasm-sdk/verify" ) // mapRWX maps code into a read-write-execute region. diff --git a/debug/target_linux_amd64.go b/debug/target_linux_amd64.go index 7eb12c9..0a86241 100644 --- a/debug/target_linux_amd64.go +++ b/debug/target_linux_amd64.go @@ -12,9 +12,9 @@ import ( "syscall" "unsafe" - "sourcedock.dev/petrbalvin/gasm-devkit/asm" - "sourcedock.dev/petrbalvin/gasm-devkit/parser" - "sourcedock.dev/petrbalvin/gasm-devkit/verify" + "sourcedock.dev/petrbalvin/gasm-sdk/asm" + "sourcedock.dev/petrbalvin/gasm-sdk/parser" + "sourcedock.dev/petrbalvin/gasm-sdk/verify" ) // RunTarget is the debuggee entry point (gasm debug --target). diff --git a/debug/target_linux_arm64.go b/debug/target_linux_arm64.go index 45be1ae..97a4cbb 100644 --- a/debug/target_linux_arm64.go +++ b/debug/target_linux_arm64.go @@ -12,9 +12,9 @@ import ( "syscall" "unsafe" - "sourcedock.dev/petrbalvin/gasm-devkit/asm" - "sourcedock.dev/petrbalvin/gasm-devkit/parser" - "sourcedock.dev/petrbalvin/gasm-devkit/verify" + "sourcedock.dev/petrbalvin/gasm-sdk/asm" + "sourcedock.dev/petrbalvin/gasm-sdk/parser" + "sourcedock.dev/petrbalvin/gasm-sdk/verify" ) // RunTarget is the debuggee entry point (gasm debug --target). diff --git a/debug/target_linux_loong64.go b/debug/target_linux_loong64.go index eeb2278..2a07e20 100644 --- a/debug/target_linux_loong64.go +++ b/debug/target_linux_loong64.go @@ -12,9 +12,9 @@ import ( "syscall" "unsafe" - "sourcedock.dev/petrbalvin/gasm-devkit/asm" - "sourcedock.dev/petrbalvin/gasm-devkit/parser" - "sourcedock.dev/petrbalvin/gasm-devkit/verify" + "sourcedock.dev/petrbalvin/gasm-sdk/asm" + "sourcedock.dev/petrbalvin/gasm-sdk/parser" + "sourcedock.dev/petrbalvin/gasm-sdk/verify" ) // RunTarget is the debuggee entry point (gasm debug --target). diff --git a/debug/target_linux_riscv64.go b/debug/target_linux_riscv64.go index 2baa2a7..e2320c1 100644 --- a/debug/target_linux_riscv64.go +++ b/debug/target_linux_riscv64.go @@ -12,9 +12,9 @@ import ( "syscall" "unsafe" - "sourcedock.dev/petrbalvin/gasm-devkit/asm" - "sourcedock.dev/petrbalvin/gasm-devkit/parser" - "sourcedock.dev/petrbalvin/gasm-devkit/verify" + "sourcedock.dev/petrbalvin/gasm-sdk/asm" + "sourcedock.dev/petrbalvin/gasm-sdk/parser" + "sourcedock.dev/petrbalvin/gasm-sdk/verify" ) // RunTarget is the debuggee entry point (gasm debug --target). diff --git a/disasm/disasm.go b/disasm/disasm.go index a0e36e3..464461c 100644 --- a/disasm/disasm.go +++ b/disasm/disasm.go @@ -15,7 +15,7 @@ import ( "golang.org/x/arch/riscv64/riscv64asm" "golang.org/x/arch/x86/x86asm" - "sourcedock.dev/petrbalvin/gasm-devkit/arch" + "sourcedock.dev/petrbalvin/gasm-sdk/arch" ) // Instruction is one decoded instruction: its text form, its length in bytes diff --git a/disasm/disasm_test.go b/disasm/disasm_test.go index 0fd61ba..85bc5e4 100644 --- a/disasm/disasm_test.go +++ b/disasm/disasm_test.go @@ -7,10 +7,10 @@ import ( "strings" "testing" - "sourcedock.dev/petrbalvin/gasm-devkit/arch" - "sourcedock.dev/petrbalvin/gasm-devkit/asm" - "sourcedock.dev/petrbalvin/gasm-devkit/ast" - "sourcedock.dev/petrbalvin/gasm-devkit/parser" + "sourcedock.dev/petrbalvin/gasm-sdk/arch" + "sourcedock.dev/petrbalvin/gasm-sdk/asm" + "sourcedock.dev/petrbalvin/gasm-sdk/ast" + "sourcedock.dev/petrbalvin/gasm-sdk/parser" ) func TestDecodeKnownBytes(t *testing.T) { diff --git a/docs/ARCHITECTURE.md b/docs/ARCHITECTURE.md index 27005f7..76293d8 100644 --- a/docs/ARCHITECTURE.md +++ b/docs/ARCHITECTURE.md @@ -1,8 +1,8 @@ # Architecture -How gasm-devkit is put together and why. +How gasm-sdk is put together and why. -Repository: [sourcedock.dev/petrbalvin/gasm-devkit](https://sourcedock.dev/petrbalvin/gasm-devkit) +Repository: [sourcedock.dev/petrbalvin/gasm-sdk](https://sourcedock.dev/petrbalvin/gasm-sdk) ## Overview diff --git a/docs/DEVELOPMENT.md b/docs/DEVELOPMENT.md index 56508b0..2d64bf7 100644 --- a/docs/DEVELOPMENT.md +++ b/docs/DEVELOPMENT.md @@ -1,6 +1,6 @@ # Development Guide -Repository: [sourcedock.dev/petrbalvin/gasm-devkit](https://sourcedock.dev/petrbalvin/gasm-devkit) +Repository: [sourcedock.dev/petrbalvin/gasm-sdk](https://sourcedock.dev/petrbalvin/gasm-sdk) ## Prerequisites @@ -19,8 +19,8 @@ Repository: [sourcedock.dev/petrbalvin/gasm-devkit](https://sourcedock.dev/petrb ## Setup ```sh -git clone https://sourcedock.dev/petrbalvin/gasm-devkit.git -cd gasm-devkit +git clone https://sourcedock.dev/petrbalvin/gasm-sdk.git +cd gasm-sdk just build # compile bin/gasm, zero errors and zero warnings just gates # build, fmt-check, vet, test, race: the definition of done ``` diff --git a/docs/GOOBJ.md b/docs/GOOBJ.md index 18c4c57..1ee1ee9 100644 --- a/docs/GOOBJ.md +++ b/docs/GOOBJ.md @@ -11,7 +11,7 @@ internal interface with no stability promise, and it can change in any release. This specification was therefore produced by reverse engineering that source and by parsing real objects produced by `go tool asm` and `go tool compile`, byte for byte, against the layout described here. Within -gasm-devkit it is kept honest by the differential tests in `asm/goobj_test.go` +gasm-sdk it is kept honest by the differential tests in `asm/goobj_test.go` and `asm/link_test.go`, which compare `gasm asm --format goobj` output against the toolchain's own products and feed gasm objects to `go build`. @@ -615,7 +615,7 @@ objects, in one place: 8. Compute the content hashes exactly as the toolchain does, or emit no hashed definitions at all. -## How gasm-devkit implements and verifies it +## How gasm-sdk implements and verifies it The writer lives in `asm/goobj.go`, which carries the shared container and the amd64 relocation emission, with per-architecture relocation emitters in diff --git a/docs/asm/INSTRUCTIONS-AMD64.md b/docs/asm/INSTRUCTIONS-AMD64.md index 6c6f842..589dc33 100644 --- a/docs/asm/INSTRUCTIONS-AMD64.md +++ b/docs/asm/INSTRUCTIONS-AMD64.md @@ -1,6 +1,6 @@ # AMD64: instruction inventory -Generated by gasm-devkit's `_gen` from the Go toolchain's instruction table +Generated by gasm-sdk's `_gen` from the Go toolchain's instruction table (`cmd/internal/obj/x86/anames.go`, go1.27.1); DO NOT EDIT. This page lists every mnemonic `go tool asm` accepts on this target, which is the upper bound of the language on it: a name absent here is not an instruction of the target, diff --git a/docs/asm/INSTRUCTIONS-ARM64.md b/docs/asm/INSTRUCTIONS-ARM64.md index 7cd344c..feec277 100644 --- a/docs/asm/INSTRUCTIONS-ARM64.md +++ b/docs/asm/INSTRUCTIONS-ARM64.md @@ -1,6 +1,6 @@ # ARM64: instruction inventory -Generated by gasm-devkit's `_gen` from the Go toolchain's instruction table +Generated by gasm-sdk's `_gen` from the Go toolchain's instruction table (`cmd/internal/obj/arm64/anames.go`, go1.27.1); DO NOT EDIT. This page lists every mnemonic `go tool asm` accepts on this target, which is the upper bound of the language on it: a name absent here is not an instruction of the target, diff --git a/docs/asm/INSTRUCTIONS-LOONG64.md b/docs/asm/INSTRUCTIONS-LOONG64.md index b953972..2933ac8 100644 --- a/docs/asm/INSTRUCTIONS-LOONG64.md +++ b/docs/asm/INSTRUCTIONS-LOONG64.md @@ -1,6 +1,6 @@ # LoongArch 64: instruction inventory -Generated by gasm-devkit's `_gen` from the Go toolchain's instruction table +Generated by gasm-sdk's `_gen` from the Go toolchain's instruction table (`cmd/internal/obj/loong64/anames.go`, go1.27.1); DO NOT EDIT. This page lists every mnemonic `go tool asm` accepts on this target, which is the upper bound of the language on it: a name absent here is not an instruction of the target, diff --git a/docs/asm/INSTRUCTIONS-RISCV64.md b/docs/asm/INSTRUCTIONS-RISCV64.md index b82e34d..5302116 100644 --- a/docs/asm/INSTRUCTIONS-RISCV64.md +++ b/docs/asm/INSTRUCTIONS-RISCV64.md @@ -1,6 +1,6 @@ # RISC-V 64: instruction inventory -Generated by gasm-devkit's `_gen` from the Go toolchain's instruction table +Generated by gasm-sdk's `_gen` from the Go toolchain's instruction table (`cmd/internal/obj/riscv/anames.go`, go1.27.1); DO NOT EDIT. This page lists every mnemonic `go tool asm` accepts on this target, which is the upper bound of the language on it: a name absent here is not an instruction of the target, diff --git a/docs/man/gasm.1 b/docs/man/gasm.1 index 2ab537a..2bb7782 100644 --- a/docs/man/gasm.1 +++ b/docs/man/gasm.1 @@ -97,5 +97,5 @@ the debuggee. .PP The full command reference, with worked examples and every flag, is in docs/CLI.md of the repository -.UR https://sourcedock.dev/petrbalvin/gasm-devkit +.UR https://sourcedock.dev/petrbalvin/gasm-sdk .UE . diff --git a/format/format.go b/format/format.go index 105e112..f909623 100644 --- a/format/format.go +++ b/format/format.go @@ -11,8 +11,8 @@ package format import ( "strings" - "sourcedock.dev/petrbalvin/gasm-devkit/lexer" - "sourcedock.dev/petrbalvin/gasm-devkit/token" + "sourcedock.dev/petrbalvin/gasm-sdk/lexer" + "sourcedock.dev/petrbalvin/gasm-sdk/token" ) // Source returns the canonical formatting of src. diff --git a/format/format_test.go b/format/format_test.go index b45340b..c4df860 100644 --- a/format/format_test.go +++ b/format/format_test.go @@ -9,10 +9,10 @@ import ( "strings" "testing" - "sourcedock.dev/petrbalvin/gasm-devkit/ast" - "sourcedock.dev/petrbalvin/gasm-devkit/lexer" - "sourcedock.dev/petrbalvin/gasm-devkit/parser" - "sourcedock.dev/petrbalvin/gasm-devkit/token" + "sourcedock.dev/petrbalvin/gasm-sdk/ast" + "sourcedock.dev/petrbalvin/gasm-sdk/lexer" + "sourcedock.dev/petrbalvin/gasm-sdk/parser" + "sourcedock.dev/petrbalvin/gasm-sdk/token" ) func TestGolden(t *testing.T) { diff --git a/format/fuzz_test.go b/format/fuzz_test.go index f3834d7..6bb8d8f 100644 --- a/format/fuzz_test.go +++ b/format/fuzz_test.go @@ -8,7 +8,7 @@ import ( "path/filepath" "testing" - "sourcedock.dev/petrbalvin/gasm-devkit/parser" + "sourcedock.dev/petrbalvin/gasm-sdk/parser" ) // FuzzFormatIdempotency hammers the formatter with arbitrary input. The diff --git a/format/integration_test.go b/format/integration_test.go index 99c7248..e3c0be7 100644 --- a/format/integration_test.go +++ b/format/integration_test.go @@ -14,7 +14,7 @@ import ( "strings" "testing" - "sourcedock.dev/petrbalvin/gasm-devkit/parser" + "sourcedock.dev/petrbalvin/gasm-sdk/parser" ) // TestRoundTripRealGoLibraries checks that formatting the production kernels diff --git a/go.mod b/go.mod index e1433af..c1594a8 100644 --- a/go.mod +++ b/go.mod @@ -1,4 +1,4 @@ -module sourcedock.dev/petrbalvin/gasm-devkit +module sourcedock.dev/petrbalvin/gasm-sdk go 1.27.1 diff --git a/justfile b/justfile index 4739b1f..90585a8 100644 --- a/justfile +++ b/justfile @@ -1,6 +1,6 @@ -# gasm-devkit. +# gasm-sdk. # -# Replace gasm-devkit here and the values in the variable block. Everything below the block +# Replace gasm-sdk here and the values in the variable block. Everything below the block # is the standard recipe set: the names and their meanings are fixed, identical in every # repository, and `gates` is the definition of done. binary := "gasm" diff --git a/lexer/lexer.go b/lexer/lexer.go index 44c8a81..7208b61 100644 --- a/lexer/lexer.go +++ b/lexer/lexer.go @@ -13,7 +13,7 @@ import ( "unicode" "unicode/utf8" - "sourcedock.dev/petrbalvin/gasm-devkit/token" + "sourcedock.dev/petrbalvin/gasm-sdk/token" ) const ( diff --git a/lexer/lexer_test.go b/lexer/lexer_test.go index db20ca4..06ced37 100644 --- a/lexer/lexer_test.go +++ b/lexer/lexer_test.go @@ -6,7 +6,7 @@ package lexer import ( "testing" - "sourcedock.dev/petrbalvin/gasm-devkit/token" + "sourcedock.dev/petrbalvin/gasm-sdk/token" ) // kinds tokenizes src and returns the kind sequence, dropping Newline/EOF. diff --git a/lint/abi0.go b/lint/abi0.go index 2b09fb3..5b87911 100644 --- a/lint/abi0.go +++ b/lint/abi0.go @@ -7,7 +7,7 @@ import ( "fmt" "strings" - "sourcedock.dev/petrbalvin/gasm-devkit/ast" + "sourcedock.dev/petrbalvin/gasm-sdk/ast" ) // checkABI0Args flags TEXT functions whose // func signature declares diff --git a/lint/analysis.go b/lint/analysis.go index 37e938b..68910e4 100644 --- a/lint/analysis.go +++ b/lint/analysis.go @@ -7,7 +7,7 @@ import ( "fmt" "strings" - "sourcedock.dev/petrbalvin/gasm-devkit/ast" + "sourcedock.dev/petrbalvin/gasm-sdk/ast" ) // checkFuncdata validates the structure of FUNCDATA and PCDATA directives, diff --git a/lint/corpus_test.go b/lint/corpus_test.go index b8be92a..08ecdd2 100644 --- a/lint/corpus_test.go +++ b/lint/corpus_test.go @@ -10,8 +10,8 @@ import ( "strings" "testing" - "sourcedock.dev/petrbalvin/gasm-devkit/arch" - "sourcedock.dev/petrbalvin/gasm-devkit/parser" + "sourcedock.dev/petrbalvin/gasm-sdk/arch" + "sourcedock.dev/petrbalvin/gasm-sdk/parser" ) // TestGoRuntimeCorpus parses and lints every runtime .s file the local Go diff --git a/lint/encodable_test.go b/lint/encodable_test.go index 2845b00..0553f60 100644 --- a/lint/encodable_test.go +++ b/lint/encodable_test.go @@ -6,7 +6,7 @@ package lint import ( "testing" - "sourcedock.dev/petrbalvin/gasm-devkit/asm" + "sourcedock.dev/petrbalvin/gasm-sdk/asm" ) func TestUnencodableInstruction(t *testing.T) { diff --git a/lint/integration_test.go b/lint/integration_test.go index 06fc84c..4b73615 100644 --- a/lint/integration_test.go +++ b/lint/integration_test.go @@ -13,8 +13,8 @@ import ( "path/filepath" "testing" - "sourcedock.dev/petrbalvin/gasm-devkit/arch" - "sourcedock.dev/petrbalvin/gasm-devkit/parser" + "sourcedock.dev/petrbalvin/gasm-sdk/arch" + "sourcedock.dev/petrbalvin/gasm-sdk/parser" ) // TestRealGoLibrariesHasNoErrors asserts that the production go-flac kernels diff --git a/lint/lint.go b/lint/lint.go index b9dc456..7c5edb0 100644 --- a/lint/lint.go +++ b/lint/lint.go @@ -14,10 +14,10 @@ import ( "strings" "unicode/utf8" - "sourcedock.dev/petrbalvin/gasm-devkit/arch" - "sourcedock.dev/petrbalvin/gasm-devkit/asm" - "sourcedock.dev/petrbalvin/gasm-devkit/ast" - "sourcedock.dev/petrbalvin/gasm-devkit/token" + "sourcedock.dev/petrbalvin/gasm-sdk/arch" + "sourcedock.dev/petrbalvin/gasm-sdk/asm" + "sourcedock.dev/petrbalvin/gasm-sdk/ast" + "sourcedock.dev/petrbalvin/gasm-sdk/token" ) // Severity ranks a diagnostic. diff --git a/lint/lint_test.go b/lint/lint_test.go index b1bca60..9c6a278 100644 --- a/lint/lint_test.go +++ b/lint/lint_test.go @@ -7,10 +7,10 @@ import ( "os" "testing" - "sourcedock.dev/petrbalvin/gasm-devkit/arch" - "sourcedock.dev/petrbalvin/gasm-devkit/asm" - "sourcedock.dev/petrbalvin/gasm-devkit/ast" - "sourcedock.dev/petrbalvin/gasm-devkit/parser" + "sourcedock.dev/petrbalvin/gasm-sdk/arch" + "sourcedock.dev/petrbalvin/gasm-sdk/asm" + "sourcedock.dev/petrbalvin/gasm-sdk/ast" + "sourcedock.dev/petrbalvin/gasm-sdk/parser" ) func lintSrc(t *testing.T, src string) []Diagnostic { diff --git a/lint/liveness.go b/lint/liveness.go index b395fd0..6ad3115 100644 --- a/lint/liveness.go +++ b/lint/liveness.go @@ -7,8 +7,8 @@ import ( "slices" "strings" - "sourcedock.dev/petrbalvin/gasm-devkit/arch" - "sourcedock.dev/petrbalvin/gasm-devkit/ast" + "sourcedock.dev/petrbalvin/gasm-sdk/arch" + "sourcedock.dev/petrbalvin/gasm-sdk/ast" ) // This file implements register liveness by dataflow over a function's diff --git a/lint/liveness_test.go b/lint/liveness_test.go index 8e74299..f62ddf2 100644 --- a/lint/liveness_test.go +++ b/lint/liveness_test.go @@ -6,8 +6,8 @@ package lint import ( "testing" - "sourcedock.dev/petrbalvin/gasm-devkit/arch" - "sourcedock.dev/petrbalvin/gasm-devkit/parser" + "sourcedock.dev/petrbalvin/gasm-sdk/arch" + "sourcedock.dev/petrbalvin/gasm-sdk/parser" ) // TestRegisterClobber checks the register-clobber audit is calibrated to the diff --git a/lint/registers.go b/lint/registers.go index 0c98bdf..5df11c1 100644 --- a/lint/registers.go +++ b/lint/registers.go @@ -7,8 +7,8 @@ import ( "fmt" "strings" - "sourcedock.dev/petrbalvin/gasm-devkit/ast" - "sourcedock.dev/petrbalvin/gasm-devkit/token" + "sourcedock.dev/petrbalvin/gasm-sdk/ast" + "sourcedock.dev/petrbalvin/gasm-sdk/token" ) // amd64WordNames are the canonical 64-bit register spellings of go tool asm: diff --git a/lint/reserved.go b/lint/reserved.go index 9531243..43ad977 100644 --- a/lint/reserved.go +++ b/lint/reserved.go @@ -7,8 +7,8 @@ import ( "fmt" "strings" - "sourcedock.dev/petrbalvin/gasm-devkit/arch" - "sourcedock.dev/petrbalvin/gasm-devkit/ast" + "sourcedock.dev/petrbalvin/gasm-sdk/arch" + "sourcedock.dev/petrbalvin/gasm-sdk/ast" ) // reservedRegister returns the platform-reserved general-purpose register of diff --git a/lsp/handlers.go b/lsp/handlers.go index ee2cda7..dd11c06 100644 --- a/lsp/handlers.go +++ b/lsp/handlers.go @@ -17,13 +17,13 @@ import ( "unicode/utf16" "unicode/utf8" - "sourcedock.dev/petrbalvin/gasm-devkit/arch" - "sourcedock.dev/petrbalvin/gasm-devkit/ast" - "sourcedock.dev/petrbalvin/gasm-devkit/format" - "sourcedock.dev/petrbalvin/gasm-devkit/lexer" - "sourcedock.dev/petrbalvin/gasm-devkit/lint" - "sourcedock.dev/petrbalvin/gasm-devkit/parser" - "sourcedock.dev/petrbalvin/gasm-devkit/token" + "sourcedock.dev/petrbalvin/gasm-sdk/arch" + "sourcedock.dev/petrbalvin/gasm-sdk/ast" + "sourcedock.dev/petrbalvin/gasm-sdk/format" + "sourcedock.dev/petrbalvin/gasm-sdk/lexer" + "sourcedock.dev/petrbalvin/gasm-sdk/lint" + "sourcedock.dev/petrbalvin/gasm-sdk/parser" + "sourcedock.dev/petrbalvin/gasm-sdk/token" ) // textflagMacros are the flag names defined by runtime/textflag.h; they are diff --git a/lsp/server.go b/lsp/server.go index 552fed6..095f14a 100644 --- a/lsp/server.go +++ b/lsp/server.go @@ -14,8 +14,8 @@ import ( "strings" "sync" - "sourcedock.dev/petrbalvin/gasm-devkit/lint" - "sourcedock.dev/petrbalvin/gasm-devkit/token" + "sourcedock.dev/petrbalvin/gasm-sdk/lint" + "sourcedock.dev/petrbalvin/gasm-sdk/token" ) // Server is a GAsm language server bound to a byte stream. diff --git a/lsp/workspace.go b/lsp/workspace.go index a8ea6ec..e739f97 100644 --- a/lsp/workspace.go +++ b/lsp/workspace.go @@ -13,8 +13,8 @@ import ( "strings" "time" - "sourcedock.dev/petrbalvin/gasm-devkit/ast" - "sourcedock.dev/petrbalvin/gasm-devkit/parser" + "sourcedock.dev/petrbalvin/gasm-sdk/ast" + "sourcedock.dev/petrbalvin/gasm-sdk/parser" ) // workspaceIndex indexes the .s files under the workspace roots that the diff --git a/parser/expr.go b/parser/expr.go index 9c066dd..5142b60 100644 --- a/parser/expr.go +++ b/parser/expr.go @@ -13,7 +13,7 @@ package parser import ( - "sourcedock.dev/petrbalvin/gasm-devkit/token" + "sourcedock.dev/petrbalvin/gasm-sdk/token" ) // foldExpr evaluates the constant integer expression at the head of ts and diff --git a/parser/integration_test.go b/parser/integration_test.go index d9db2ec..ec99e97 100644 --- a/parser/integration_test.go +++ b/parser/integration_test.go @@ -19,7 +19,7 @@ import ( func TestParseRealGoLibraries(t *testing.T) { matches, _ := filepath.Glob("../../go-libraries/go-*/*.s") if len(matches) == 0 { - t.Skip("go-libraries repository not present next to gasm-devkit") + t.Skip("go-libraries repository not present next to gasm-sdk") } for _, path := range matches { src, err := os.ReadFile(path) diff --git a/parser/parser.go b/parser/parser.go index 9739256..0117774 100644 --- a/parser/parser.go +++ b/parser/parser.go @@ -13,9 +13,9 @@ import ( "strconv" "strings" - "sourcedock.dev/petrbalvin/gasm-devkit/ast" - "sourcedock.dev/petrbalvin/gasm-devkit/lexer" - "sourcedock.dev/petrbalvin/gasm-devkit/token" + "sourcedock.dev/petrbalvin/gasm-sdk/ast" + "sourcedock.dev/petrbalvin/gasm-sdk/lexer" + "sourcedock.dev/petrbalvin/gasm-sdk/token" ) // Error is a single parse diagnostic. diff --git a/parser/parser_test.go b/parser/parser_test.go index 8e4e4f4..c75ab0c 100644 --- a/parser/parser_test.go +++ b/parser/parser_test.go @@ -10,7 +10,7 @@ import ( "strings" "testing" - "sourcedock.dev/petrbalvin/gasm-devkit/ast" + "sourcedock.dev/petrbalvin/gasm-sdk/ast" ) func mustParse(t *testing.T, path string) *ast.File { diff --git a/parser/preproc.go b/parser/preproc.go index 9f26079..c902368 100644 --- a/parser/preproc.go +++ b/parser/preproc.go @@ -20,9 +20,9 @@ import ( "strings" "unicode/utf8" - "sourcedock.dev/petrbalvin/gasm-devkit/ast" - "sourcedock.dev/petrbalvin/gasm-devkit/lexer" - "sourcedock.dev/petrbalvin/gasm-devkit/token" + "sourcedock.dev/petrbalvin/gasm-sdk/ast" + "sourcedock.dev/petrbalvin/gasm-sdk/lexer" + "sourcedock.dev/petrbalvin/gasm-sdk/token" ) // Options controls the optional preprocessing applied before a file is diff --git a/parser/preproc_test.go b/parser/preproc_test.go index 1bb8413..cc2c51e 100644 --- a/parser/preproc_test.go +++ b/parser/preproc_test.go @@ -9,7 +9,7 @@ import ( "strings" "testing" - "sourcedock.dev/petrbalvin/gasm-devkit/ast" + "sourcedock.dev/petrbalvin/gasm-sdk/ast" ) // expand parses src with preprocessing enabled and returns the first TEXT's diff --git a/verify/arm64_groundtruth_test.go b/verify/arm64_groundtruth_test.go index 20352f5..b1dd98d 100644 --- a/verify/arm64_groundtruth_test.go +++ b/verify/arm64_groundtruth_test.go @@ -8,8 +8,8 @@ import ( "os" "testing" - "sourcedock.dev/petrbalvin/gasm-devkit/asm" - "sourcedock.dev/petrbalvin/gasm-devkit/parser" + "sourcedock.dev/petrbalvin/gasm-sdk/asm" + "sourcedock.dev/petrbalvin/gasm-sdk/parser" ) // TestGroundTruthARM64 assembles the arm64 test kernels with gasm and diff --git a/verify/groundtruth_test.go b/verify/groundtruth_test.go index 7f7544a..d4f79c3 100644 --- a/verify/groundtruth_test.go +++ b/verify/groundtruth_test.go @@ -8,8 +8,8 @@ import ( "os" "testing" - "sourcedock.dev/petrbalvin/gasm-devkit/asm" - "sourcedock.dev/petrbalvin/gasm-devkit/parser" + "sourcedock.dev/petrbalvin/gasm-sdk/asm" + "sourcedock.dev/petrbalvin/gasm-sdk/parser" ) func mustRead(t *testing.T, path string) string { diff --git a/verify/l64_groundtruth_test.go b/verify/l64_groundtruth_test.go index ac6bb7e..f45e4b8 100644 --- a/verify/l64_groundtruth_test.go +++ b/verify/l64_groundtruth_test.go @@ -10,8 +10,8 @@ import ( "strings" "testing" - "sourcedock.dev/petrbalvin/gasm-devkit/asm" - "sourcedock.dev/petrbalvin/gasm-devkit/parser" + "sourcedock.dev/petrbalvin/gasm-sdk/asm" + "sourcedock.dev/petrbalvin/gasm-sdk/parser" ) // TestGroundTruthLOONG64 assembles the loong64 test kernels with gasm and diff --git a/verify/riscv_groundtruth_test.go b/verify/riscv_groundtruth_test.go index b13e94d..15312e4 100644 --- a/verify/riscv_groundtruth_test.go +++ b/verify/riscv_groundtruth_test.go @@ -8,8 +8,8 @@ import ( "os" "testing" - "sourcedock.dev/petrbalvin/gasm-devkit/asm" - "sourcedock.dev/petrbalvin/gasm-devkit/parser" + "sourcedock.dev/petrbalvin/gasm-sdk/asm" + "sourcedock.dev/petrbalvin/gasm-sdk/parser" ) // TestGroundTruthRISCV assembles the riscv64 test kernels with gasm and diff --git a/verify/verify.go b/verify/verify.go index 760e9d2..4148b3c 100644 --- a/verify/verify.go +++ b/verify/verify.go @@ -8,10 +8,10 @@ import ( "os" "runtime" - "sourcedock.dev/petrbalvin/gasm-devkit/arch" - "sourcedock.dev/petrbalvin/gasm-devkit/asm" - "sourcedock.dev/petrbalvin/gasm-devkit/ast" - "sourcedock.dev/petrbalvin/gasm-devkit/parser" + "sourcedock.dev/petrbalvin/gasm-sdk/arch" + "sourcedock.dev/petrbalvin/gasm-sdk/asm" + "sourcedock.dev/petrbalvin/gasm-sdk/ast" + "sourcedock.dev/petrbalvin/gasm-sdk/parser" ) // Kernel is a JIT-loaded assembly image ready for direct invocation.