Open
Description
I'm seeing a linker error when targeting ESP32 boards and using sync/atomic.Value
.
$ tinygo build -target=esp32-mini32 main.go
ld.lld: error: undefined symbol: sync/atomic.runtime_procPin
>>> referenced by main
>>> /var/folders/07/_t75gj1513lgy6yc3s6zdnfr0000gn/T/tinygo514386660/main.lto.main.o:(.literal.runtime.run$1$gowrapper+0x20)
ld.lld: error: undefined symbol: sync/atomic.runtime_procUnpin
>>> referenced by main
>>> /var/folders/07/_t75gj1513lgy6yc3s6zdnfr0000gn/T/tinygo514386660/main.lto.main.o:(.literal.runtime.run$1$gowrapper+0x24)
package main
import (
"fmt"
"sync/atomic"
)
func main() {
v := &atomic.Value{}
v.Store("test")
fmt.Println(v.Load())
}
$ tinygo version
tinygo version 0.35.0 darwin/arm64 (using go version go1.23.4 and LLVM version 18.1.2)
Building to wasm
or feather-nrf52840
works fine, esp32-mini32
and esp32-coreboard-v2
fail.