aboutsummaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
2024-03-13Makefile: allow overriding the packages to test in `make test`makefile-test-pkgsAyke van Laethem
This way you can for example run `make test GOTESTPKGS=./builder` to only test the builder package. I've often done this by manually modifying the Makefile, so having a make parameter available would make this much easier.
2024-03-10docs: update CHANGELOG for 0.31.2 patch releasev0.31.2deadprogram
Signed-off-by: deadprogram <[email protected]>
2024-03-10goenv: update to v0.31.2 for patch releasedeadprogram
Signed-off-by: deadprogram <[email protected]>
2024-03-09net: update to net package with Buffers implementationdeadprogram
Signed-off-by: deadprogram <[email protected]>
2024-03-04goenv: update to new v0.32.0 development versionsago35
2024-03-02runtime: add Frame.Entry fieldRandy Reddig
This enables compatibility with golang.org/x/tools/internal/pkgbits. https://github.com/golang/tools/blob/master/internal/pkgbits/frames_go17.go
2024-03-02syscall: add wasm_unknown to some additional files so it can compile more codedeadprogram
Signed-off-by: deadprogram <[email protected]>
2024-02-28all: update for 0.31.1v0.31.1deadprogram
Signed-off-by: deadprogram <[email protected]>
2024-02-28net: update to latest maindeadprogram
Signed-off-by: deadprogram <[email protected]>
2024-02-28build: only use GHA cache for docker dev builds, ignore the previous saved ↵deadprogram
build-context Signed-off-by: deadprogram <[email protected]>
2024-02-27interp: make getelementptr offsets signedAyke van Laethem
getelementptr offsets are signed, not unsigned. Yet they were used as unsigned integers in interp. Somehow this worked most of the time, until finally there was some code that did a getelementptr with a negative index.
2024-02-27interp: return a proper error message when indexing out of rangeAyke van Laethem
This helps debug issues inside interp.
2024-02-27docker: update final build stage to go1.22deadprogram
Signed-off-by: deadprogram <[email protected]>
2024-02-26ci: fix binaryen buildv0.31.0Ayke van Laethem
Disable the googletest dependency so that we can avoid that submodule dependency.
2024-02-26all: version 0.31.0Ayke van Laethem
2024-02-25Stub CallSlice for ValueAkshay Pai
2024-02-23targets: add support for Thumbydeadprogram
Signed-off-by: deadprogram <[email protected]>
2024-02-23main: make `ports` subcommand more verboseAyke van Laethem
By listing column headers and printing a message when no ports are found, it should be a bit easier to use.
2024-02-23main: change `monitor -info` to `ports`Ayke van Laethem
I believe this provides a better UX.
2024-02-20ci: switch to Go 1.22Ayke van Laethem
2024-02-20Dockerfile: reduce size of resulting imageAyke van Laethem
This reduces the size of the Docker image from 13GB to 1.71GB, and should therefore make CI of the drivers package much faster. It should hopefully also avoid the out-of-space problem we currently have when building the smoke tests for the drivers repo. This size reduction is done by using multistage builds and only copying the necessary files in the final stage.
2024-02-19compileopts: remove workaround for LLVM 16Ayke van Laethem
This workaround is no longer needed now that we've switched to LLVM 17 where this bug has been fixed upstream: https://github.com/espressif/llvm-project/pull/84
2024-02-19interp: do not register runtime timers during interpAyke van Laethem
The runtime hasn't been initialized yet so this leads to problems. This fixes https://github.com/tinygo-org/tinygo/issues/4123.
2024-02-19device: update SVD filesAyke van Laethem
This updates lib/cmsis-svd, pulling in the updates to the Espressif SVD files here: https://github.com/cmsis-svd/cmsis-svd-data/pull/3 This is needed for wifi/BLE support on the ESP32-C3 (the older SVD files were missing some necessary interrupts).
2024-02-19compileopts: always enable CGoAyke van Laethem
CGo is needed for the rp2040 and for macOS (GOOS=darwin), without it these targets just won't work. And there really isn't a benefit from disabling CGo: we don't need any external linkers for example. This avoids a somewhat common issue of people having CGO_ENABLED=0 somewhere in their environment and not understanding why things don't work. See for example: https://github.com/tinygo-org/tinygo/issues/3450
2024-02-19all: make TinyGo code usable with "big Go" CGoAyke van Laethem
I managed to get CGo sort-of working in VSCode (meaning that it will typecheck code in the IDE itself) using a few crude hacks, but it requires a few minor changes to the TinyGo standard library. I intend to eventually add this support in the TinyGo extension for VSCode directly, but for now I've manually updated .vscode/settings.json to get IDE support. In any case, it would be nice to have this for when I hopefully add this to the TinyGo extension eventually.
2024-02-17targets/wasm_unknown: remove _start to _initialize to match WASIdeadprogram
Signed-off-by: deadprogram <[email protected]>
2024-02-17builder: add 'wasm-unknown' to list of targets for clang features verificationdeadprogram
Signed-off-by: deadprogram <[email protected]>
2024-02-17targets/wasm_unknown: use proper defaults for GCdeadprogram
Signed-off-by: deadprogram <[email protected]>
2024-02-15make: add smoketest for wasm-unknown targetdeadprogram
Signed-off-by: deadprogram <[email protected]>
2024-02-15examples: add example for use with wasm-unknown targetdeadprogram
Signed-off-by: deadprogram <[email protected]>
2024-02-15target/wasm_unknown: remove bulk memory and use imported memory for extreme ↵deadprogram
tinyness Signed-off-by: deadprogram <[email protected]>
2024-02-15runtime, targets: some WIP on wasm unknown in part from PR #3072deadprogram
Signed-off-by: deadprogram <[email protected]>
2024-02-12nrf52840: generic board support (#4121)BCG
machine/nrf52840: generic board support
2024-02-11machine/rp2040: set XOSC startup delay multiplierXudong Zheng
XOSC requires additional time to stablize on certain RP2040 boards. Signed-off-by: Xudong Zheng <[email protected]>
2024-02-11compileopts: set 'purego' build tag by defaultAyke van Laethem
This is needed for various crypto libraries.
2024-02-11ci: update from Node.js 16 to Node.js 18Ayke van Laethem
Node.js 16 is no longer supported, so we can drop support for it as well. This also means updating a whole lot of GitHub Actions versions, because they were updated to work on Node.js 20 instead. For most actions this should be a relatively small change, but the upload-aftifact action has had some major changes (which should generally improve things a lot).
2024-02-09esp32: switch over to the official SVD fileAyke van Laethem
2024-02-07build: remove more files from host on Docker build to avoid running out of ↵deadprogram
disk space Signed-off-by: deadprogram <[email protected]>
2024-02-05gi: add macOS ARM64 builderAyke van Laethem
This means we can finally release native arm64 builds of TinyGo on macOS! Also update from macOS 11 to macOS 12, because macOS 11 is not supported anymore.
2024-01-31Allow larger systems to have a larger max stack allocDamian Gryski
Fixes #3331
2024-01-31flake.nix: explicitly add libcxx as dependencyElias Naur
Without this change, my tinygo builds crash with SIGSEGV: segmentation violation PC=0x10884f87c m=16 sigcode=2 signal arrived during cgo execution goroutine 378 [syscall]: runtime.cgocall(0x100631e44, 0x1401755be88) /nix/store/4hf287252ilsdf2w36mfm8fa0rvbf33w-go-1.21.4/share/go/src/runtime/cgocall.go:157 +0x44 fp=0x1401755be50 sp=0x1401755be10 pc=0x1002a5084 tinygo.org/x/go-llvm._Cfunc_LLVMGoWriteThinLTOBitcodeToMemoryBuffer(0x123614160) _cgo_gotypes.go:6078 +0x34 fp=0x1401755be80 sp=0x1401755be50 pc=0x1004b66b4 ... and reports using LLVM 16: $ tinygo version tinygo version 0.31.0-dev darwin/arm64 (using go version go1.21.4 and LLVM version 16.0.6) I don't know why libcxx-16 is being included, but explicitly specifying llvmPackages_17.libcxx fixes the crash and version skew.
2024-01-31reflect: move indirect values into interface when setting interfacesDamian Gryski
Fixes #4040
2024-01-29Remove unused value=
2024-01-29rp2040: add definition for machine.PinToggleBCG
2024-01-27esp32c3: update linker script to support binary blobsAyke van Laethem
To be able to link with the binary blobs that provide wifi and BLE, the linker script needs a few tweaks.
2024-01-27esp32c3: add more ROM functionsAyke van Laethem
These functions are used by the binary blobs that implement wifi/BLE on the ESP32-C3. While this is a lot of lines of linker script, I think it's a good idea to add them here (instead of in a separate library) because they're part of the ESP32-C3 hardware.
2024-01-26sync: implement trylocksoypat
2024-01-23targets: add motor control pin definitions for MKS Nano V3x boardsElias Naur
Signed-off-by: Elias Naur <[email protected]>
2024-01-23targets: add support for the MKS Robin Nano V3.xElias Naur
Signed-off-by: Elias Naur <[email protected]>