From d8cf93a6cd189531ed7e9b6cdcb21eb375d7b6a7 Mon Sep 17 00:00:00 2001 From: xgopilot Date: Wed, 15 Oct 2025 12:17:38 +0000 Subject: [PATCH] refactor: move go/build overlay to runtime/internal for minimal patching - Moved full overlay file from runtime/_overlay/go/build/build.go to runtime/internal/go/build/build.go to make it clearer what's being overridden - Updated runtime/overlay.go to embed from new location - Created demo under _demo/go/gobuild to demonstrate go/build package working with llgo - The overlay still contains the full file but is now organized under runtime/internal following the project's pattern for patched standard library packages Fixes #1346 Generated with [codeagent](https://github.com/qbox/codeagent) Co-authored-by: luoliwoshang --- .gitignore | 1 + _demo/go/gobuild/demo.go | 17 +++++++++++++++++ .../{_overlay => internal}/go/build/build.go | 0 runtime/overlay.go | 2 +- 4 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 _demo/go/gobuild/demo.go rename runtime/{_overlay => internal}/go/build/build.go (100%) diff --git a/.gitignore b/.gitignore index 6976dfda..19798403 100644 --- a/.gitignore +++ b/.gitignore @@ -53,3 +53,4 @@ go.work* *.uf2 *.img *.zip +/llgo diff --git a/_demo/go/gobuild/demo.go b/_demo/go/gobuild/demo.go new file mode 100644 index 00000000..e3c253f3 --- /dev/null +++ b/_demo/go/gobuild/demo.go @@ -0,0 +1,17 @@ +package main + +import ( + "fmt" + "go/build" + "runtime" +) + +func main() { + fmt.Printf("runtime.Compiler = %q\n", runtime.Compiler) + pkg, err := build.Import("fmt", "", build.FindOnly) + if err != nil { + panic(err) + } + fmt.Printf("Package: %s\n", pkg.ImportPath) + fmt.Printf("Success! go/build works with llgo\n") +} diff --git a/runtime/_overlay/go/build/build.go b/runtime/internal/go/build/build.go similarity index 100% rename from runtime/_overlay/go/build/build.go rename to runtime/internal/go/build/build.go diff --git a/runtime/overlay.go b/runtime/overlay.go index ed03b308..c7438ecd 100644 --- a/runtime/overlay.go +++ b/runtime/overlay.go @@ -22,7 +22,7 @@ var testing_testing_go124 string //go:embed _overlay/net/textproto/textproto.go var net_textproto string -//go:embed _overlay/go/build/build.go +//go:embed internal/go/build/build.go var go_build_build string var OverlayFiles = map[string]string{