Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bug: cannot compile crypto code for bare metal using Go 1.24 #4759

Open
deadprogram opened this issue Feb 25, 2025 · 1 comment
Open

bug: cannot compile crypto code for bare metal using Go 1.24 #4759

deadprogram opened this issue Feb 25, 2025 · 1 comment
Labels
bug Something isn't working

Comments

@deadprogram
Copy link
Member

When using Go 1.24, some code with bare metal targets cannot build. The same code appears to build fine in Go 1.23.x

For example, the drivers lorawan/atcmd example. See tinygo-org/drivers#744

I confirmed that this issue also applies to other code using crypto packages running on bare metal targets. For example hybridgroup/tinygo-tkey#2

@deadprogram deadprogram added the bug Something isn't working label Feb 25, 2025
@deadprogram
Copy link
Member Author

$ tinygo flash -size full -target=tkey ./examples/signer/app/
go: downloading filippo.io/edwards25519 v1.1.1-0.20250211130249-04b037b40df0
# internal/syscall/unix
/home/ron/.gvm/gos/go1.24/src/internal/syscall/unix/at.go:15:20: undefined: syscall.BytePtrFromString
/home/ron/.gvm/gos/go1.24/src/internal/syscall/unix/at.go:20:25: undefined: syscall.Syscall
/home/ron/.gvm/gos/go1.24/src/internal/syscall/unix/at.go:29:20: undefined: syscall.BytePtrFromString
/home/ron/.gvm/gos/go1.24/src/internal/syscall/unix/at.go:34:26: undefined: syscall.Syscall6
/home/ron/.gvm/gos/go1.24/src/internal/syscall/unix/at.go:43:21: undefined: syscall.BytePtrFromString
/home/ron/.gvm/gos/go1.24/src/internal/syscall/unix/at.go:53:25: undefined: syscall.Syscall6
/home/ron/.gvm/gos/go1.24/src/internal/syscall/unix/at.go:67:20: undefined: syscall.BytePtrFromString
/home/ron/.gvm/gos/go1.24/src/internal/syscall/unix/at.go:72:25: undefined: syscall.Syscall6
/home/ron/.gvm/gos/go1.24/src/internal/syscall/unix/at_fstatat.go:14:52: undefined: syscall.Stat_t
/home/ron/.gvm/gos/go1.24/src/internal/syscall/unix/at_fstatat.go:16:20: undefined: syscall.BytePtrFromString
/home/ron/.gvm/gos/go1.24/src/internal/syscall/unix/at_fstatat.go:21:25: undefined: syscall.Syscall6
/home/ron/.gvm/gos/go1.24/src/internal/syscall/unix/at_sysnum_fstatat64_linux.go:11:37: undefined: syscall.SYS_FSTATAT64
/home/ron/.gvm/gos/go1.24/src/internal/syscall/unix/at_sysnum_linux.go:10:35: undefined: syscall.SYS_UNLINKAT
/home/ron/.gvm/gos/go1.24/src/internal/syscall/unix/at_sysnum_linux.go:11:35: undefined: syscall.SYS_OPENAT
/home/ron/.gvm/gos/go1.24/src/internal/syscall/unix/at_sysnum_linux.go:12:35: undefined: syscall.SYS_READLINKAT
/home/ron/.gvm/gos/go1.24/src/internal/syscall/unix/at_sysnum_linux.go:13:35: undefined: syscall.SYS_MKDIRAT
/home/ron/.gvm/gos/go1.24/src/internal/syscall/unix/copy_file_range_unix.go:15:26: undefined: syscall.Syscall6
/home/ron/.gvm/gos/go1.24/src/internal/syscall/unix/faccessat_syscall.go:11:25: undefined: syscall.Faccessat
/home/ron/.gvm/gos/go1.24/src/internal/syscall/unix/getrandom.go:36:26: undefined: syscall.Syscall
/home/ron/.gvm/gos/go1.24/src/internal/syscall/unix/kernel_version_linux.go:15:20: undefined: syscall.Utsname
/home/ron/.gvm/gos/go1.24/src/internal/syscall/unix/kernel_version_linux.go:16:20: undefined: syscall.Uname
/home/ron/.gvm/gos/go1.24/src/internal/syscall/unix/nonblocking_unix.go:12:32: undefined: syscall.F_GETFL
/home/ron/.gvm/gos/go1.24/src/internal/syscall/unix/nonblocking_unix.go:16:22: undefined: syscall.O_NONBLOCK
/home/ron/.gvm/gos/go1.24/src/internal/syscall/unix/nonblocking_unix.go:20:22: undefined: syscall.O_NONBLOCK
/home/ron/.gvm/gos/go1.24/src/internal/syscall/unix/pidfd_linux.go:10:25: undefined: syscall.Syscall
/home/ron/.gvm/gos/go1.24/src/internal/syscall/unix/pidfd_linux.go:18:29: undefined: syscall.Syscall
/home/ron/.gvm/gos/go1.24/src/internal/syscall/unix/tcsetpgrp_linux.go:16:25: undefined: syscall.Syscall6
/home/ron/.gvm/gos/go1.24/src/internal/syscall/unix/tcsetpgrp_linux.go:16:42: undefined: syscall.SYS_IOCTL
/home/ron/.gvm/gos/go1.24/src/internal/syscall/unix/tcsetpgrp_linux.go:16:82: undefined: syscall.TIOCSPGRP
/home/ron/.gvm/gos/go1.24/src/internal/syscall/unix/waitid_linux.go:18:25: undefined: syscall.Syscall6
/home/ron/.gvm/gos/go1.24/src/internal/syscall/unix/waitid_linux.go:18:42: undefined: syscall.SYS_WAITID

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant