deadprogram
8c54e3dd88
release: update version to 0.36.0
...
Signed-off-by: deadprogram <ron@hybridgroup.com >
v0.36.0
2025-03-03 13:02:59 -08:00
deadprogram
47c0debe4b
docs: update CHANGELOG for 0.36.0 release
...
Signed-off-by: deadprogram <ron@hybridgroup.com >
2025-03-03 13:02:59 -08:00
Randy Reddig
9a1cde40a8
src/reflect: implement Value.Equal
...
Implementation copied from Go.
2025-03-03 12:14:30 -08:00
Elias Naur
20fc814635
machine: replace hard-coded cpu frequencies on rp2xxx ( #4767 )
...
Missed from the earlier change that bumped the rp2350 frequency.
2025-03-02 08:38:29 -03:00
Egawa Takashi
64d8a04308
convert offset as signed int into unsigned int in syscall/js.stringVal in wasm_exec.js
2025-03-01 09:14:57 -08:00
Elias Naur
b95effbdd7
machine: bump rp2350 CPUFrequency to 150 MHz ( #4766 )
...
Leave rp2040 speed bump to 200 MHz for a future change, because it
requires bumping the core voltage as well[0].
[0] https://github.com/raspberrypi/pico-sdk/releases/tag/2.1.1
2025-03-01 10:09:53 -03:00
Elias Naur
92c130c7be
machine: compute rp2 clock dividers from crystal and target frequency ( #4747 )
...
Follow-up to #4728 which implemented the algorithm for finding the
dividers.
The calculation is computed at compile time by interp, as verified by
building example/blinky1 for -target pico.
2025-02-28 19:05:27 -03:00
deadprogram
31c4bc1151
license: update for 2025
...
Signed-off-by: deadprogram <ron@hybridgroup.com >
2025-02-28 20:56:22 +01:00
deadprogram
42f5e55ed5
docs: small corrections for README regarding wasm
...
Signed-off-by: deadprogram <ron@hybridgroup.com >
2025-02-28 20:56:22 +01:00
deadprogram
81da7bb4c1
targets: add target for pico2-w board
...
Signed-off-by: deadprogram <ron@hybridgroup.com >
2025-02-28 20:02:35 +01:00
deadprogram
209754493b
make: use GOOS and GOARCH for building wasm simulated boards
...
Signed-off-by: deadprogram <ron@hybridgroup.com >
2025-02-28 18:02:21 +01:00
deadprogram
b0aef96340
fix: only infer target for wasm when GOOS and GOARCH are set correctly, not just based on file extension
...
Signed-off-by: deadprogram <ron@hybridgroup.com >
2025-02-28 18:02:21 +01:00
Ayke van Laethem
056394e24b
make: add test-corpus-wasip2
...
I wanted to run the test corpus with WASIp2 so I added these lines.
2025-02-28 16:16:12 +01:00
Ayke van Laethem
1545659817
internal/syscall/unix: use our own version of this package
...
The upstream one assumes it's running on a Unix system (which makes
sense), but this package is also used on baremetal. So replace it on
systems that need a replaced syscall package.
2025-02-27 15:45:23 +01:00
Ayke van Laethem
38e3d55e64
all: add Go 1.24 support
2025-02-25 14:41:42 +01:00
Ayke van Laethem
66da29e89f
wasip2: add stubs to get internal/syscall/unix to work
...
This fixes lots of broken tests in stdlib packages in Go 1.24.
2025-02-25 14:41:42 +01:00
Ayke van Laethem
c180d6fe2f
testing: add Chdir
...
This method was added in Go 1.24.
2025-02-25 14:41:42 +01:00
Ayke van Laethem
cdea833b5c
os: add File.Chdir support
...
We should really be using syscall.Fchdir here, but this is a fix to get
Go 1.24 working.
2025-02-25 14:41:42 +01:00
Ayke van Laethem
c2eaa495df
os: implement stub Chdir for non-OS systems
2025-02-25 14:41:42 +01:00
Ayke van Laethem
3476100dd0
syscall: add wasip1 RandomGet
...
This function is needed starting with Go 1.24.
2025-02-25 14:41:42 +01:00
Ayke van Laethem
07c7eff3c3
runtime: add FIPS helper functions
...
Not entirely sure what they're for, but the Go runtime also stores this
information per goroutine so let's go with that.
2025-02-25 14:41:42 +01:00
Ayke van Laethem
a1be8cd9fe
machine/usb/descriptor: avoid bytes package
...
We can't use the bytes package in Go 1.24 since it would result in an
import cycle. Therefore, use bytealg.Index instead.
(I'm not sure this code is correct - just searching for a range of bytes
seems brittle. But at least this commit shouldn't change the code).
2025-02-25 14:41:42 +01:00
Ayke van Laethem
52b9fcd57f
machine: remove bytes package dependency in flash code
...
This also moves flash padding code to a single place, since it was
copied 5 times.
This change is necessary in Go 1.24 to avoid an import cycle.
2025-02-25 14:41:42 +01:00
Ayke van Laethem
ea53ace270
cgo: mangle identifier names
...
This mangles CGo identifier names to something like "_Cgo_foo" instead
of using literal identifiers like "C.foo". This works around
https://github.com/golang/go/issues/71777 .
I don't like this solution, but I hope we'll find a better solution in
the future. In that case we can revert this commit.
2025-02-25 14:41:42 +01:00
Ayke van Laethem
a6cd072fa1
Revert "fix: implement testing {Skip,Fail}Now"
...
This reverts commit c5879c682c .
It doesn't look like this is working (see
https://github.com/tinygo-org/tinygo/pull/4736#issuecomment-2679670226 ),
and it doesn't have any tests anyway to prove that it does work. So I
think it's best to revert it for now and add a working implementation
with tests in the future.
2025-02-25 12:38:52 +01:00
Ayke van Laethem
4372dbdd41
ci: use older image for cross-compiling builds
...
This ensures that the resulting binaries are compatible with a wide
range of Linux systems, not just the most recent ones.
2025-02-24 19:22:27 +01:00
deadprogram
17bb1fec44
feature: add buildmode=wasi-legacy to support existing base of users who expected the
...
older behavior for wasi modules to not return an exit code as if they were reactors.
See #4726 for some details on what this is intended to address.
Signed-off-by: deadprogram <ron@hybridgroup.com >
2025-02-21 13:06:14 +01:00
Ayke van Laethem
f4fd79f7be
runtime: manually initialize xorshift state
...
This ensures:
1. The xorshift state is initialized during interp.
2. The xorshift state gets initialized to a real random number on
hardware that supports it at runtime.
This fixes a big binary size regression from the previous commit. It's
still not perfect: most programs increase binary size by a few bytes.
But it's not nearly as bad as before.
2025-02-21 11:36:17 +01:00
Ayke van Laethem
811b13a9d3
interp: correctly mark functions as modifying memory
...
Previously, if a function couldn't be interpreted in the interp pass, it
would just be run at runtime and the parameters would be marked as
potentially being modified. However, this is incorrect: the function
itself can also modify memory. So the function itself also needs to be
marked (recursively).
This fixes a number of regressions while upgrading to Go 1.24.
This results in a significant size regression that is mostly worked
around in the next commit.
2025-02-21 11:36:17 +01:00
Ron Evans
6e97079367
target: add Pimoroni Pico Plus2 ( #4735 )
...
* machine: separate definitions for ADC pins on rp2350/rp2350b
Signed-off-by: deadprogram <ron@hybridgroup.com >
* targets: add support for Pimoroni Pico Plus2
Signed-off-by: deadprogram <ron@hybridgroup.com >
---------
Signed-off-by: deadprogram <ron@hybridgroup.com >
Co-authored-by: Patricio Whittingslow <graded.sp@gmail.com >
2025-02-21 09:56:52 +01:00
soypat
9c7bbce029
rp2350: add pll generalized solution; fix ADC handles; pwm period fix
2025-02-21 09:56:52 +01:00
soypat
0ec1cb1e19
machine/rp2350: extending support to include the rp2350b
2025-02-21 09:56:52 +01:00
Scott Feldman
e7118e5bda
add comboat_fw tag for elecrow W5 boards with Combo-AT Wifi firmware
2025-02-21 07:22:17 +01:00
Ron Evans
150d9d1c6b
fix: correctly handle id lookup for finalizeRef call
...
Modify the ID used for looking up the reference, based on suggestion made by @prochac
Also use console.error in the caase that the reference is not found, since it is now actually
known to be an error.
2025-02-20 22:17:38 +01:00
Laurent Demailly
8fe039156b
fix: Avoid total failure on wasm finalizer call
2025-02-20 22:17:38 +01:00
leongross
2d17dec7bf
os/file: add file.Chmod
...
Signed-off-by: leongross <leon.gross@9elements.com >
2025-02-19 22:12:51 +01:00
JP Hastings-Spital
c1b267a208
Ensure build output directory is created
...
`tinygo build -o /path/to/out .` expected `/path/to/out` to already exist, which is different behaviour to `go build`. This change ensures tinygo creates any directories needed to be able to build to the specified output dir.
2025-02-19 19:55:48 +01:00
deadprogram
f02c56c9e0
net: update to latest submodule with httptest subpackage and
...
ResolveIPAddress implementation.
Signed-off-by: deadprogram <ron@hybridgroup.com >
2025-02-17 13:16:56 +01:00
leongross
c5879c682c
fix: implement testing {Skip,Fail}Now
...
PR https://github.com/tinygo-org/tinygo/pull/4623 implements
runtime.GoExit() with which we can improve the testing package
and align it more to upstream testing behavour https://cs.opensource.google/go/go/+/refs/tags/go1.24.0:src/testing/testing.go;l=1150
Signed-off-by: leongross <leon.gross@9elements.com >
2025-02-15 21:30:22 +01:00
deadprogram
190c20825f
targets: turn on GC for TKey1 device, since it does in fact work
...
Signed-off-by: deadprogram <ron@hybridgroup.com >
2025-02-14 12:49:20 +01:00
deadprogram
d04eea7185
fix: add NoSandbox flag to chrome headless that is run during WASM tests, since
...
this is now required for Ubuntu 23+ and we are using Ubuntu 24+ when running
Github Actions.
See https://chromium.googlesource.com/chromium/src/+/main/docs/security/apparmor-userns-restrictions.md
Signed-off-by: deadprogram <ron@hybridgroup.com >
2025-02-12 17:13:56 +01:00
deadprogram
f24cd31895
build: update Linux builds to run on ubuntu-latest since 20.04 is being retired
...
Signed-off-by: deadprogram <ron@hybridgroup.com >
2025-02-12 17:13:56 +01:00
m00874241
2044f6fbcc
Added VersionTLS constants and VersionName(version uint16) method that turns it into a string, copied from big go
2025-01-30 07:30:57 +01:00
HattoriHanzo031
d55a89f96a
board: support for NRF51 HW-651 ( #4712 )
...
NRF51: Support for NRF51 HW-651 board
* smoketest
* removed redundant flash-method
* smoketest fix
* description and links
* link fix
2025-01-30 05:46:52 +01:00
Elias Naur
080a6648e9
targets: match Pico2 stack size to Pico
...
Took me a while to debug weird crashes after switching from Pico to
Pico2.
2025-01-26 17:04:04 +08:00
deadprogram
ec0a142190
build: update wasmtime used for CI to 29.0.1 to fix issue with install during CI tests
...
Signed-off-by: deadprogram <ron@hybridgroup.com >
2025-01-23 17:56:02 +08:00
Yurii Soldak
b7fcf6ad68
nrf: fix adc read near zero
2025-01-23 13:03:25 +08:00
milkpirate
7417c14c2d
nrf: make ADC resolution changeable ( #4701 )
...
Signed-off-by: Paul Schroeder <milkpirate@users.noreply.github.com >
2025-01-20 21:51:05 +01:00
vaaski
4f39be9c3b
targets: esp32c3-supermini ( #4518 )
2025-01-20 21:44:58 +01:00
Scott Feldman
7305a44f0c
targets: add support for Elecrow Pico rp2350 W5 boards ( #4706 )
...
https://www.elecrow.com/pico-w5-microcontroller-development-boards-rp2350-microcontroller-board.html
Just the basics to get several test to work (blinky1, flash).
This board has an rtl8720d Wifi/bluetooth chip wired to UART1, but the
rtl8720d firmware installed is the AT cmd set, not the RPC interface
used by the rtl8720dn driver, so no wifi support at the moment.
---------
Co-authored-by: Yurii Soldak <ysoldak@gmail.com >
2025-01-20 15:36:03 +01:00