From e54711a4b0adcceb7f8c1a0e417224d2260a15c5 Mon Sep 17 00:00:00 2001 From: Ayke van Laethem Date: Sat, 18 May 2024 12:17:41 +0200 Subject: [PATCH] Impossible stack trace... --- builder/build.go | 14 +++++++++++--- go.mod | 4 ++-- go.sum | 3 +++ 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/builder/build.go b/builder/build.go index c569bb1d2..a81dde7ce 100644 --- a/builder/build.go +++ b/builder/build.go @@ -243,6 +243,7 @@ func Build(pkgName, outpath, tmpdir string, config *compileopts.Config) (BuildRe // Create the *ssa.Program. This does not yet build the entire SSA of the // program so it's pretty fast and doesn't need to be parallelized. program := lprogram.LoadSSA() + program.Build() // Add jobs to compile each package. // Packages that have a cache hit will not be compiled again. @@ -354,8 +355,8 @@ func Build(pkgName, outpath, tmpdir string, config *compileopts.Config) (BuildRe packageActionIDJobs[pkg.ImportPath] = packageActionIDJob // Build the SSA for the given package. - ssaPkg := program.Package(pkg.Pkg) - ssaPkg.Build() + //ssaPkg := program.Package(pkg.Pkg) + //ssaPkg.Build() // Now create the job to actually build the package. It will exit early // if the package is already compiled. @@ -370,7 +371,12 @@ func Build(pkgName, outpath, tmpdir string, config *compileopts.Config) (BuildRe if _, err := os.Stat(job.result); err == nil { // Already cached, don't recreate this package. - return nil + switch pkg.ImportPath { + case "context": // seems to be needed + case "time": // often crashes in this package, so probably needed + default: + return nil + } } // Compile AST to IR. The compiler.CompilePackage function will @@ -517,6 +523,8 @@ func Build(pkgName, outpath, tmpdir string, config *compileopts.Config) (BuildRe run: func(*compileJob) error { // Load and link all the bitcode files. This does not yet optimize // anything, it only links the bitcode files together. + println("exit") + os.Exit(0) ctx := llvm.NewContext() mod = ctx.NewModule("main") for _, pkgJob := range packageJobs { diff --git a/go.mod b/go.mod index 6d40cd649..015ec4e00 100644 --- a/go.mod +++ b/go.mod @@ -14,12 +14,12 @@ require ( github.com/marcinbor85/gohex v0.0.0-20200531091804-343a4b548892 github.com/mattn/go-colorable v0.1.13 github.com/mattn/go-tty v0.0.4 - github.com/mgechev/revive v1.3.7 + github.com/mgechev/revive v1.3.4 github.com/sigurn/crc16 v0.0.0-20211026045750-20ab5afb07e3 go.bug.st/serial v1.6.0 golang.org/x/net v0.20.0 golang.org/x/sys v0.16.0 - golang.org/x/tools v0.17.0 + golang.org/x/tools v0.14.1-0.20231101221057-75ff53bc6b14 gopkg.in/yaml.v2 v2.4.0 tinygo.org/x/go-llvm v0.0.0-20240518103902-697964f2a9dc ) diff --git a/go.sum b/go.sum index 59d33c94b..dc8fce79a 100644 --- a/go.sum +++ b/go.sum @@ -57,6 +57,7 @@ github.com/mattn/go-tty v0.0.4 h1:NVikla9X8MN0SQAqCYzpGyXv0jY7MNl3HOWD2dkle7E= github.com/mattn/go-tty v0.0.4/go.mod h1:u5GGXBtZU6RQoKV8gY5W6UhMudbR5vXnUe7j3pxse28= github.com/mgechev/dots v0.0.0-20210922191527-e955255bf517 h1:zpIH83+oKzcpryru8ceC6BxnoG8TBrhgAvRg8obzup0= github.com/mgechev/dots v0.0.0-20210922191527-e955255bf517/go.mod h1:KQ7+USdGKfpPjXk4Ga+5XxQM4Lm4e3gAogrreFAYpOg= +github.com/mgechev/revive v1.3.4/go.mod h1:W+pZCMu9qj8Uhfs1iJMQsEFLRozUfvwFwqVvRbSNLVw= github.com/mgechev/revive v1.3.7 h1:502QY0vQGe9KtYJ9FpxMz9rL+Fc/P13CI5POL4uHCcE= github.com/mgechev/revive v1.3.7/go.mod h1:RJ16jUbF0OWC3co/+XTxmFNgEpUPwnnA0BRllX2aDNA= github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= @@ -96,6 +97,8 @@ golang.org/x/sys v0.16.0 h1:xWw16ngr6ZMtmxDyKyIgsE93KNKz5HKmMa3b8ALHidU= golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/tools v0.14.1-0.20231101221057-75ff53bc6b14 h1:fA5UFab6DHvlP8kqChpKvHh9zS8dLvTV2x23xJ4lH/c= +golang.org/x/tools v0.14.1-0.20231101221057-75ff53bc6b14/go.mod h1:uYBEerGOWcJyEORxN+Ek8+TT266gXkNlHdJBwexUsBg= golang.org/x/tools v0.17.0 h1:FvmRgNOcs3kOa+T20R1uhfP9F6HgG2mfxDv1vrx1Htc= golang.org/x/tools v0.17.0/go.mod h1:xsh6VxdV005rRVaS6SSAf9oiAqljS7UZUacMZ8Bnsps= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=