-
Notifications
You must be signed in to change notification settings - Fork 0
Building from Linux
Fredrik Holmqvist edited this page Feb 14, 2022
·
12 revisions
Install a recent version of Go
In your go tree:
cd src
-
GOOS=haiku GOARCH=amd64 ./bootstrap.bash
This will create a directory next to your go tree called go-haiku-amd64-bootstrap.
You will need to delete this dir between every run.
Notes:
- Might need to change src/cmd/go/internal/work/init.go to use shared for Haiku as default for syscall lib.
- Deal with src/cmd/internal/browser/browser.go later.
- Deal with TLS in src/cmd/internal/obj/x86/asm6.go later. (is x86 needed for amd64?) It's needed added tls impl for Haiku, based on ELF, but switched to use FS reg. (Ok?
- Take a second look at src/cmd/internal/objabi/head.go and src/cmd/internal/sys/supported.go especially BuildModeSupported.
- src/cmd/link/internal/ld/lib.go looks ok, but take a second look if linking issues.
- src/cmd/link/internal/ld/outbuf_nofallocate.go is what we use, but we could probably have fallocate?
- IsHaiku() would be added to src/cmd/link/internal/ld/target.go if needed.
- src/cmd/link/internal/ld/target.go is also were we decide if we use libc for syscalls.
- src/cmd/link/internal/x86/obj.go needs changes if x86