aboutsummaryrefslogtreecommitdiffhomepage
path: root/go.sum
AgeCommit message (Collapse)Author
2023-08-11modules: update to go-serial package v1.6.0deadprogram
Signed-off-by: deadprogram <[email protected]>
2023-08-04all: Go 1.21 supportAyke van Laethem
2023-05-13builder: implement Nordic DFU file writer in GoAyke van Laethem
This avoids a dependency on nrfutil. I have verified that it creates equivalent zip files to a wasp-os DFU zip file I downloaded here: https://github.com/wasp-os/wasp-os/releases/ I have also tested that it produces valid DFU files that can be uploaded using the dfu.py program here to my PineTime: https://github.com/wasp-os/ota-dfu-python/tree/3d6fd30d33c2b20bc86ff6b9269fddf4a1d4c7c6 There are some minor differences in the generated file that should not matter in practice (JSON whitespace, firmware file name, zip compression).
2023-02-07all: update x/tools/go/ssa to include slice-to-array bugfixAyke van Laethem
For the bugfix, see: https://github.com/golang/go/issues/57790
2023-01-14compiler: update golang.org/x/tools/ssaAyke van Laethem
This package needs to be updated to support Go 1.20. There were a few backwards incompatible changes that required updates to the compiler package.
2022-10-31all: remove libffi warning on macosAyke van Laethem
Running `go install` on MacOS produces the following warning: # github.com/tinygo-org/tinygo ld: warning: directory not found for option '-L/opt/homebrew/opt/libffi/lib' It doesn't look like libffi is used anywhere, so I simply removed it. Not sure why it was included in the first place. (I updated the Makefile for consistency, but we really should be removing that Makefile especially because the Go bindings are removed in upstream LLVM).
2022-10-19ci: add support for LLVM 15Ayke van Laethem
This commit switches to LLVM 15 everywhere by default, while still keeping LLVM 14 support.
2022-10-19interp: change object.llvmType to the initializer typeAyke van Laethem
Previously it was a pointer type, which won't work with opaque pointers. Instead, use the global initializer type instead.
2022-10-19all: add type parameter to *GEP callsAyke van Laethem
This is necessary for LLVM 15.
2022-10-19all: add type parameter to CreateLoadAyke van Laethem
This is needed for LLVM 15.
2022-10-19all: add type parameter to CreateCallAyke van Laethem
This uses LLVMBuildCall2 in the background, which is the replacement for the deprecated LLVMBuildCall function.
2022-09-19go mod tidyAyke van Laethem
2022-09-16main: add serial port monitoring functionalitysago35
Co-authored-by: Ayke <[email protected]>
2022-09-15all: add flag for setting the goroutine stack sizeAyke van Laethem
This is helpful in some cases where the default stack size isn't big enough.
2022-09-15go mod tidyAyke van Laethem
2022-09-01flash: update serial package to v1.3.5 for latest bugfixesdeadprogram
Signed-off-by: deadprogram <[email protected]>
2022-08-30all: drop support for Go 1.16 and Go 1.17Ayke van Laethem
2022-08-04all: remove support for LLVM 13Ayke van Laethem
2022-06-28all: use LLVM 14 by defaultAyke van Laethem
This also adds support for LLVM 14 from Homebrew on MacOS.
2022-06-21wasm: update wasi-libc versionAyke van Laethem
This is necessary for the next commit. It also results in a nice wasm binary size saving of around 300 bytes.
2022-06-11compiler: add support for type parameters (aka generics)Ayke van Laethem
...that was surprisingly easy.
2022-04-23all: update to LLVM 14Ayke van Laethem
Switch over to LLVM 14 for static builds. Keep using LLVM 13 for regular builds for now. This uses a branch of the upstream Espressif branch to fix an issue, see: https://github.com/espressif/llvm-project/pull/59
2022-03-12all: add support for ThinLTOAyke van Laethem
ThinLTO optimizes across LLVM modules at link time. This means that optimizations (such as inlining and const-propagation) are possible between C and Go. This makes this change especially useful for CGo, but not just for CGo. By doing some optimizations at link time, the linker can discard some unused functions and this leads to a size reduction on average. It does increase code size in some cases, but that's true for most optimizations. I've excluded a number of targets for now (wasm, avr, xtensa, windows, macos). They can probably be supported with some more work, but that should be done in separate PRs. Overall, this change results in an average 3.24% size reduction over all the tinygo.org/x/drivers smoke tests. TODO: this commit runs part of the pass pipeline twice. We should set the PrepareForThinLTO flag in the PassManagerBuilder for even further reduced code size (0.7%) and improved compilation speed.
2022-01-23main (test): integrate test corpus runnerNia Waldvogel
This allows us to test a large corpus of external packages against the compiler.
2022-01-23Switch default to llvm13Federico G. Schwindt
2022-01-20Bump go-llvm to support llvm12 and 13 under macosFederico G. Schwindt
2022-01-16testL update chromedp to v0.7.6 for stabilitydeadprogram
Signed-off-by: deadprogram <[email protected]>
2022-01-11Run go mod tidyElliott Sales de Andrade
2022-01-09all: switch to LLVM 13Ayke van Laethem
This adds support for building with `-tags=llvm13` and switches to LLVM 13 for tinygo binaries that are statically linked against LLVM. Some notes on this commit: * Added `-mfloat-abi=soft` to all Cortex-M targets because otherwise nrfx would complain that floating point was enabled on Cortex-M0. That's not the case, but with `-mfloat-abi=soft` the `__SOFTFP__` macro is defined which silences this warning. See: https://reviews.llvm.org/D100372 * Changed from `--sysroot=<root>` to `-nostdlib -isystem <root>` for musl because with Clang 13, even with `--sysroot` some system libraries are used which we don't want. * Changed all `-Xclang -internal-isystem -Xclang` to simply `-isystem`, for consistency with the above change. It appears to have the same effect. * Moved WebAssembly function declarations to the top of the file in task_asyncify_wasm.S because (apparently) the assembler has become more strict.
2021-12-29all: go-llvm that defaults to llvm-12Kenneth Bell
2021-12-23builder: use flock to avoid double-compilesNia Waldvogel
This change uses flock (when available) to acquire locks for build operations. This allows multiple tinygo processes to run concurrently without building the same thing twice.
2021-11-30all: add LLVM 12 supportAyke van Laethem
Originally based on a PR by @QuLogic, but extended a lot to get all tests to pass.
2021-11-04builder: add support for -size= flag for WebAssemblyAyke van Laethem
2021-10-27bump go.bug.st/serial to version 1.1.3Ast-x64
Bump version to 1.1.3 in order to support riscv64 within tinygo. See https://github.com/bugst/go-serial/pull/100 for more information.
2021-08-30compiler: add support for new language features of Go 1.17Ayke van Laethem
2021-04-07modules: add latest go-llvm because seems like older SHA is missing?deadprogram
Signed-off-by: deadprogram <[email protected]>
2021-03-21builder, compiler: compile and cache packages in parallelAyke van Laethem
This commit switches from the previous behavior of compiling the whole program at once, to compiling every package in parallel and linking the LLVM bitcode files together for further whole-program optimization. This is a small performance win, but it has several advantages in the future: - There are many more things that can be done per package in parallel, avoiding the bottleneck at the end of the compiler phase. This should speed up the compiler futher. - This change is a necessary step towards a non-LTO build mode for fast incremental builds that only rebuild the changed package, when compiler speed is more important than binary size. - This change refactors the compiler in such a way that it will be easier to inspect the IR for one package only. Inspecting this IR will be very helpful for compiler developers.
2021-03-05gdb: support -ocd-output on windowssago35
2021-02-19bump go.bug.st/serial to version 1.1.2Tobias Kohlbau
Bump version to 1.1.2 in order to support darwin/arm64 within tinygo. See bugst/go-serial#96 for more information. Signed-off-by: Tobias Kohlbau <[email protected]>
2021-02-07all: update go-llvm to use LLVM 11 on macOSAyke van Laethem
2021-02-01all: go mod tidyAyke van Laethem
Clean up lots of unnecessary dependencies.
2021-01-24Update to current chromedp.Elliott Sales de Andrade
2021-01-19main: use LLVM 11 by default when linking LLVM dynamicallyAyke van Laethem
This doesn't affect the release builds but it is helpful for TinyGo developers.
2020-11-09main: update go-llvm to fix LLVM build tags for LinuxAyke van Laethem
This should make TinyGo buildable again on Darwin with a Homebrew installed LLVM.
2020-10-28main: update go.sumAyke van Laethem
2020-10-13main: add initial support for (in-development) LLVM 11Ayke van Laethem
This can be useful to test improvements in LLVM master and to make it possible to support LLVM 11 for the most part already before the next release. That also allows catching LLVM bugs early to fix them upstream. Note that tests do not yet pass for this LLVM version, but the TinyGo compiler can be built with the binaries from apt.llvm.org (at the time of making this commit).
2020-10-01ci: fix `make wasmtest`Ayke van Laethem
This fixes issue https://github.com/tinygo-org/tinygo/issues/1418. In short, it appears there was a race condition that was only visible on GOARCH=386 but not on GOARCH=amd64. Updating to a more recent chromedp version fixes the issue.
2020-06-11main: go mod tidyAyke van Laethem
Clean up the go.mod and go.sum which have gotten a bit messy, and add an extra line to go.sum that keeps reappearing locally for some reason (so it seems important).
2020-06-01builder: use newer version of gohexAyke van Laethem
This version adds error handling for the DumpIntelHex method, and thus fixes a TODO comment.
2020-05-23wasm test suite (#1116)Brad Peabody
* wasm: add test suite using headlless chrome