mirror of
https://gitlab.redox-os.org/redox-os/redox.git
synced 2026-06-17 23:44:17 +08:00
Update Go recipe part II
This commit is contained in:
parent
230fd3f861
commit
0d2efc7768
@ -1,6 +1,6 @@
|
||||
diff -ruwN source/src/cmd/dist/build.go source-new/src/cmd/dist/build.go
|
||||
--- source/src/cmd/dist/build.go 2025-07-03 04:47:15.000000000 +0700
|
||||
+++ source-new/src/cmd/dist/build.go 2025-07-20 22:44:22.522527140 +0700
|
||||
+++ source-new/src/cmd/dist/build.go 2025-07-20 23:50:47.312425484 +0700
|
||||
@@ -94,6 +94,7 @@
|
||||
"wasip1",
|
||||
"linux",
|
||||
@ -66,7 +66,7 @@ diff -ruwN source/src/cmd/dist/build.go source-new/src/cmd/dist/build.go
|
||||
"js/wasm": false,
|
||||
diff -ruwN source/src/cmd/go/go_test.go source-new/src/cmd/go/go_test.go
|
||||
--- source/src/cmd/go/go_test.go 2025-07-03 04:47:15.000000000 +0700
|
||||
+++ source-new/src/cmd/go/go_test.go 2025-07-20 23:14:12.602481300 +0700
|
||||
+++ source-new/src/cmd/go/go_test.go 2025-07-20 23:50:47.312425484 +0700
|
||||
@@ -2081,7 +2081,7 @@
|
||||
tg.run(args...)
|
||||
|
||||
@ -78,7 +78,7 @@ diff -ruwN source/src/cmd/go/go_test.go source-new/src/cmd/go/go_test.go
|
||||
t.Fatal(err)
|
||||
diff -ruwN source/src/cmd/go/internal/modindex/build.go source-new/src/cmd/go/internal/modindex/build.go
|
||||
--- source/src/cmd/go/internal/modindex/build.go 2025-07-03 04:47:15.000000000 +0700
|
||||
+++ source-new/src/cmd/go/internal/modindex/build.go 2025-07-20 23:27:26.452458389 +0700
|
||||
+++ source-new/src/cmd/go/internal/modindex/build.go 2025-07-20 23:50:47.312425484 +0700
|
||||
@@ -873,6 +873,9 @@
|
||||
if ctxt.GOOS == "android" && name == "linux" {
|
||||
return true
|
||||
@ -91,7 +91,7 @@ diff -ruwN source/src/cmd/go/internal/modindex/build.go source-new/src/cmd/go/in
|
||||
}
|
||||
diff -ruwN source/src/cmd/go/internal/work/exec.go source-new/src/cmd/go/internal/work/exec.go
|
||||
--- source/src/cmd/go/internal/work/exec.go 2025-07-03 04:47:15.000000000 +0700
|
||||
+++ source-new/src/cmd/go/internal/work/exec.go 2025-07-20 23:28:05.892457627 +0700
|
||||
+++ source-new/src/cmd/go/internal/work/exec.go 2025-07-20 23:50:47.312425484 +0700
|
||||
@@ -3056,7 +3056,7 @@
|
||||
dynobj := objdir + "_cgo_.o"
|
||||
|
||||
@ -103,7 +103,7 @@ diff -ruwN source/src/cmd/go/internal/work/exec.go source-new/src/cmd/go/interna
|
||||
// this seems to be outdated, but we don't want to break existing builds depending on this (Issue 45940)
|
||||
diff -ruwN source/src/cmd/go/internal/work/init.go source-new/src/cmd/go/internal/work/init.go
|
||||
--- source/src/cmd/go/internal/work/init.go 2025-07-03 04:47:15.000000000 +0700
|
||||
+++ source-new/src/cmd/go/internal/work/init.go 2025-07-20 23:14:04.102481503 +0700
|
||||
+++ source-new/src/cmd/go/internal/work/init.go 2025-07-20 23:50:47.312425484 +0700
|
||||
@@ -220,7 +220,7 @@
|
||||
codegenArg = "-fPIC"
|
||||
} else {
|
||||
@ -113,9 +113,38 @@ diff -ruwN source/src/cmd/go/internal/work/init.go source-new/src/cmd/go/interna
|
||||
codegenArg = "-shared"
|
||||
case "windows":
|
||||
// Do not add usual .exe suffix to the .dll file.
|
||||
diff -ruwN source/src/cmd/go/testdata/script/cgo_suspect_flag_force_external.txt source-new/src/cmd/go/testdata/script/cgo_suspect_flag_force_external.txt
|
||||
--- source/src/cmd/go/testdata/script/cgo_suspect_flag_force_external.txt 2025-07-03 04:47:15.000000000 +0700
|
||||
+++ source-new/src/cmd/go/testdata/script/cgo_suspect_flag_force_external.txt 2025-08-03 00:53:55.626580074 +0700
|
||||
@@ -39,7 +39,7 @@
|
||||
! stderr preferlinkext
|
||||
env CGO_CFLAGS=-flto
|
||||
go build -x -n -o dummy.exe ./noUseOfCgo
|
||||
-! stderr preferlinkext
|
||||
+! stderr preferlinkextg
|
||||
env CGO_CFLAGS=
|
||||
|
||||
# Second build uses CGO, so we expect to see the token present in the
|
||||
diff -ruwN source/src/cmd/internal/obj/x86/asm6.go source-new/src/cmd/internal/obj/x86/asm6.go
|
||||
--- source/src/cmd/internal/obj/x86/asm6.go 2025-07-03 04:47:15.000000000 +0700
|
||||
+++ source-new/src/cmd/internal/obj/x86/asm6.go 2025-08-03 01:50:35.376496054 +0700
|
||||
@@ -28,6 +28,13 @@
|
||||
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
// THE SOFTWARE.
|
||||
|
||||
+// ------------------- HELP NEEDED FOR REDOX -------------------
|
||||
+// We need to write the definition for obj files in Redox!!!!!!!
|
||||
+// Yes, Redox is using ELF but that ELF is different with Linux
|
||||
+// As of current implemention, it emits Linux binaries instead
|
||||
+// Please continue your work in this file if you know how to do it
|
||||
+// -------------------------------------------------------------
|
||||
+
|
||||
package x86
|
||||
|
||||
import (
|
||||
diff -ruwN source/src/cmd/internal/objabi/head.go source-new/src/cmd/internal/objabi/head.go
|
||||
--- source/src/cmd/internal/objabi/head.go 2025-07-03 04:47:15.000000000 +0700
|
||||
+++ source-new/src/cmd/internal/objabi/head.go 2025-07-20 23:13:51.872481802 +0700
|
||||
+++ source-new/src/cmd/internal/objabi/head.go 2025-07-20 23:50:47.312425484 +0700
|
||||
@@ -63,7 +63,7 @@
|
||||
*h = Hfreebsd
|
||||
case "js":
|
||||
@ -125,9 +154,84 @@ diff -ruwN source/src/cmd/internal/objabi/head.go source-new/src/cmd/internal/ob
|
||||
*h = Hlinux
|
||||
case "netbsd":
|
||||
*h = Hnetbsd
|
||||
diff -ruwN source/src/cmd/link/internal/amd64/obj.go source-new/src/cmd/link/internal/amd64/obj.go
|
||||
--- source/src/cmd/link/internal/amd64/obj.go 2025-07-03 04:47:15.000000000 +0700
|
||||
+++ source-new/src/cmd/link/internal/amd64/obj.go 2025-08-03 01:04:51.706561825 +0700
|
||||
@@ -64,6 +64,7 @@
|
||||
ELF: ld.ELFArch{
|
||||
Linuxdynld: "/lib64/ld-linux-x86-64.so.2",
|
||||
LinuxdynldMusl: "/lib/ld-musl-x86_64.so.1",
|
||||
+ Redoxdynld: "/usr/lib/ld64.so.1",
|
||||
Freebsddynld: "/libexec/ld-elf.so.1",
|
||||
Openbsddynld: "/usr/libexec/ld.so",
|
||||
Netbsddynld: "/libexec/ld.elf_so",
|
||||
diff -ruwN source/src/cmd/link/internal/arm64/obj.go source-new/src/cmd/link/internal/arm64/obj.go
|
||||
--- source/src/cmd/link/internal/arm64/obj.go 2025-07-03 04:47:15.000000000 +0700
|
||||
+++ source-new/src/cmd/link/internal/arm64/obj.go 2025-08-03 01:03:56.606564078 +0700
|
||||
@@ -61,6 +61,7 @@
|
||||
|
||||
ELF: ld.ELFArch{
|
||||
Androiddynld: "/system/bin/linker64",
|
||||
+ Redoxdynld: "/usr/lib/ld64.so.1",
|
||||
Linuxdynld: "/lib/ld-linux-aarch64.so.1",
|
||||
LinuxdynldMusl: "/lib/ld-musl-aarch64.so.1",
|
||||
|
||||
diff -ruwN source/src/cmd/link/internal/ld/elf.go source-new/src/cmd/link/internal/ld/elf.go
|
||||
--- source/src/cmd/link/internal/ld/elf.go 2025-07-03 04:47:15.000000000 +0700
|
||||
+++ source-new/src/cmd/link/internal/ld/elf.go 2025-08-03 01:13:08.346551565 +0700
|
||||
@@ -197,6 +197,7 @@
|
||||
type ELFArch struct {
|
||||
// TODO: Document these fields.
|
||||
|
||||
+ Redoxdynld string
|
||||
Androiddynld string
|
||||
Linuxdynld string
|
||||
LinuxdynldMusl string
|
||||
@@ -204,6 +205,7 @@
|
||||
Netbsddynld string
|
||||
Openbsddynld string
|
||||
Dragonflydynld string
|
||||
+ Redoxflydynld string
|
||||
Solarisdynld string
|
||||
|
||||
Reloc1 func(*Link, *OutBuf, *loader.Loader, loader.Sym, loader.ExtReloc, int, int64) bool
|
||||
@@ -1939,6 +1941,11 @@
|
||||
if interpreter == "" {
|
||||
Exitf("ELF interpreter not set")
|
||||
}
|
||||
+ } else if buildcfg.GOOS == "redox" {
|
||||
+ interpreter = thearch.ELF.Redoxdynld
|
||||
+ if interpreter == "" {
|
||||
+ Exitf("ELF interpreter not set")
|
||||
+ }
|
||||
} else {
|
||||
interpreter = thearch.ELF.Linuxdynld
|
||||
// If interpreter does not exist, try musl instead.
|
||||
diff -ruwN source/src/cmd/link/internal/riscv64/obj.go source-new/src/cmd/link/internal/riscv64/obj.go
|
||||
--- source/src/cmd/link/internal/riscv64/obj.go 2025-07-03 04:47:15.000000000 +0700
|
||||
+++ source-new/src/cmd/link/internal/riscv64/obj.go 2025-08-03 01:05:35.886560535 +0700
|
||||
@@ -38,6 +38,7 @@
|
||||
Machoreloc1: machoreloc1,
|
||||
|
||||
ELF: ld.ELFArch{
|
||||
+ Redoxdynld: "/usr/lib/ld64.so.1",
|
||||
Linuxdynld: "/lib/ld.so.1",
|
||||
|
||||
Freebsddynld: "/usr/libexec/ld-elf.so.1",
|
||||
diff -ruwN source/src/cmd/link/internal/x86/obj.go source-new/src/cmd/link/internal/x86/obj.go
|
||||
--- source/src/cmd/link/internal/x86/obj.go 2025-07-03 04:47:15.000000000 +0700
|
||||
+++ source-new/src/cmd/link/internal/x86/obj.go 2025-08-03 01:05:11.816561638 +0700
|
||||
@@ -59,6 +59,7 @@
|
||||
PEreloc1: pereloc1,
|
||||
|
||||
ELF: ld.ELFArch{
|
||||
+ Redoxdynld: "/usr/lib/ld.so.1",
|
||||
Linuxdynld: "/lib/ld-linux.so.2",
|
||||
LinuxdynldMusl: "/lib/ld-musl-i386.so.1",
|
||||
Freebsddynld: "/usr/libexec/ld-elf.so.1",
|
||||
diff -ruwN source/src/cmd/vendor/golang.org/x/telemetry/internal/telemetry/dir.go source-new/src/cmd/vendor/golang.org/x/telemetry/internal/telemetry/dir.go
|
||||
--- source/src/cmd/vendor/golang.org/x/telemetry/internal/telemetry/dir.go 2025-07-03 04:47:15.000000000 +0700
|
||||
+++ source-new/src/cmd/vendor/golang.org/x/telemetry/internal/telemetry/dir.go 2025-07-20 23:29:12.692455838 +0700
|
||||
`+++ source-new/src/cmd/vendor/golang.org/x/telemetry/internal/telemetry/dir.go 2025-07-20 23:50:47.312425484 +0700
|
||||
@@ -155,6 +155,7 @@
|
||||
runtime.GOOS == "openbsd" || // #60614
|
||||
runtime.GOOS == "solaris" || // #60968 #60970
|
||||
@ -136,9 +240,33 @@ diff -ruwN source/src/cmd/vendor/golang.org/x/telemetry/internal/telemetry/dir.g
|
||||
runtime.GOOS == "illumos" || // #65544
|
||||
// These platforms fundamentally can't be supported:
|
||||
runtime.GOOS == "js" || // #60971
|
||||
diff -ruwN source/src/crypto/internal/sysrand/internal/seccomp/seccomp_linux.go source-new/src/crypto/internal/sysrand/internal/seccomp/seccomp_linux.go
|
||||
--- source/src/crypto/internal/sysrand/internal/seccomp/seccomp_linux.go 2025-07-03 04:47:15.000000000 +0700
|
||||
+++ source-new/src/crypto/internal/sysrand/internal/seccomp/seccomp_linux.go 2025-08-02 17:13:31.518836103 +0700
|
||||
@@ -2,6 +2,8 @@
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
+//go:build !linux
|
||||
+
|
||||
package seccomp
|
||||
|
||||
/*
|
||||
diff -ruwN source/src/crypto/internal/sysrand/internal/seccomp/seccomp_unsupported.go source-new/src/crypto/internal/sysrand/internal/seccomp/seccomp_unsupported.go
|
||||
--- source/src/crypto/internal/sysrand/internal/seccomp/seccomp_unsupported.go 2025-07-03 04:47:15.000000000 +0700
|
||||
+++ source-new/src/crypto/internal/sysrand/internal/seccomp/seccomp_unsupported.go 2025-08-02 17:13:37.268835776 +0700
|
||||
@@ -2,7 +2,7 @@
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
-//go:build !linux || !cgo
|
||||
+//go:build !linux || !cgo || redox
|
||||
|
||||
package seccomp
|
||||
|
||||
diff -ruwN source/src/go/build/build.go source-new/src/go/build/build.go
|
||||
--- source/src/go/build/build.go 2025-07-03 04:47:15.000000000 +0700
|
||||
+++ source-new/src/go/build/build.go 2025-07-20 22:44:22.522527140 +0700
|
||||
+++ source-new/src/go/build/build.go 2025-07-20 23:50:47.312425484 +0700
|
||||
@@ -1971,6 +1971,9 @@
|
||||
if ctxt.GOOS == "android" && name == "linux" {
|
||||
return true
|
||||
@ -151,7 +279,7 @@ diff -ruwN source/src/go/build/build.go source-new/src/go/build/build.go
|
||||
}
|
||||
diff -ruwN source/src/internal/goos/gengoos.go source-new/src/internal/goos/gengoos.go
|
||||
--- source/src/internal/goos/gengoos.go 2025-07-03 04:47:15.000000000 +0700
|
||||
+++ source-new/src/internal/goos/gengoos.go 2025-07-20 22:44:22.522527140 +0700
|
||||
+++ source-new/src/internal/goos/gengoos.go 2025-07-20 23:50:47.312425484 +0700
|
||||
@@ -43,6 +43,7 @@
|
||||
var tags []string
|
||||
if target == "linux" {
|
||||
@ -162,7 +290,7 @@ diff -ruwN source/src/internal/goos/gengoos.go source-new/src/internal/goos/geng
|
||||
tags = append(tags, "!illumos") // must explicitly exclude illumos for solaris
|
||||
diff -ruwN source/src/internal/goos/zgoos_aix.go source-new/src/internal/goos/zgoos_aix.go
|
||||
--- source/src/internal/goos/zgoos_aix.go 2025-07-03 04:47:15.000000000 +0700
|
||||
+++ source-new/src/internal/goos/zgoos_aix.go 2025-07-20 22:44:22.532527140 +0700
|
||||
+++ source-new/src/internal/goos/zgoos_aix.go 2025-07-20 23:50:47.312425484 +0700
|
||||
@@ -20,6 +20,7 @@
|
||||
const IsNetbsd = 0
|
||||
const IsOpenbsd = 0
|
||||
@ -173,7 +301,7 @@ diff -ruwN source/src/internal/goos/zgoos_aix.go source-new/src/internal/goos/zg
|
||||
const IsWindows = 0
|
||||
diff -ruwN source/src/internal/goos/zgoos_android.go source-new/src/internal/goos/zgoos_android.go
|
||||
--- source/src/internal/goos/zgoos_android.go 2025-07-03 04:47:15.000000000 +0700
|
||||
+++ source-new/src/internal/goos/zgoos_android.go 2025-07-20 22:44:22.532527140 +0700
|
||||
+++ source-new/src/internal/goos/zgoos_android.go 2025-07-20 23:50:47.312425484 +0700
|
||||
@@ -20,6 +20,7 @@
|
||||
const IsNetbsd = 0
|
||||
const IsOpenbsd = 0
|
||||
@ -184,7 +312,7 @@ diff -ruwN source/src/internal/goos/zgoos_android.go source-new/src/internal/goo
|
||||
const IsWindows = 0
|
||||
diff -ruwN source/src/internal/goos/zgoos_darwin.go source-new/src/internal/goos/zgoos_darwin.go
|
||||
--- source/src/internal/goos/zgoos_darwin.go 2025-07-03 04:47:15.000000000 +0700
|
||||
+++ source-new/src/internal/goos/zgoos_darwin.go 2025-07-20 22:44:22.532527140 +0700
|
||||
+++ source-new/src/internal/goos/zgoos_darwin.go 2025-07-20 23:50:47.312425484 +0700
|
||||
@@ -20,6 +20,7 @@
|
||||
const IsNetbsd = 0
|
||||
const IsOpenbsd = 0
|
||||
@ -195,7 +323,7 @@ diff -ruwN source/src/internal/goos/zgoos_darwin.go source-new/src/internal/goos
|
||||
const IsWindows = 0
|
||||
diff -ruwN source/src/internal/goos/zgoos_dragonfly.go source-new/src/internal/goos/zgoos_dragonfly.go
|
||||
--- source/src/internal/goos/zgoos_dragonfly.go 2025-07-03 04:47:15.000000000 +0700
|
||||
+++ source-new/src/internal/goos/zgoos_dragonfly.go 2025-07-20 22:44:22.532527140 +0700
|
||||
+++ source-new/src/internal/goos/zgoos_dragonfly.go 2025-07-20 23:50:47.312425484 +0700
|
||||
@@ -20,6 +20,7 @@
|
||||
const IsNetbsd = 0
|
||||
const IsOpenbsd = 0
|
||||
@ -206,7 +334,7 @@ diff -ruwN source/src/internal/goos/zgoos_dragonfly.go source-new/src/internal/g
|
||||
const IsWindows = 0
|
||||
diff -ruwN source/src/internal/goos/zgoos_freebsd.go source-new/src/internal/goos/zgoos_freebsd.go
|
||||
--- source/src/internal/goos/zgoos_freebsd.go 2025-07-03 04:47:15.000000000 +0700
|
||||
+++ source-new/src/internal/goos/zgoos_freebsd.go 2025-07-20 22:44:22.532527140 +0700
|
||||
+++ source-new/src/internal/goos/zgoos_freebsd.go 2025-07-20 23:50:47.312425484 +0700
|
||||
@@ -20,6 +20,7 @@
|
||||
const IsNetbsd = 0
|
||||
const IsOpenbsd = 0
|
||||
@ -217,7 +345,7 @@ diff -ruwN source/src/internal/goos/zgoos_freebsd.go source-new/src/internal/goo
|
||||
const IsWindows = 0
|
||||
diff -ruwN source/src/internal/goos/zgoos_hurd.go source-new/src/internal/goos/zgoos_hurd.go
|
||||
--- source/src/internal/goos/zgoos_hurd.go 2025-07-03 04:47:15.000000000 +0700
|
||||
+++ source-new/src/internal/goos/zgoos_hurd.go 2025-07-20 22:44:22.532527140 +0700
|
||||
+++ source-new/src/internal/goos/zgoos_hurd.go 2025-07-20 23:50:47.312425484 +0700
|
||||
@@ -20,6 +20,7 @@
|
||||
const IsNetbsd = 0
|
||||
const IsOpenbsd = 0
|
||||
@ -228,7 +356,7 @@ diff -ruwN source/src/internal/goos/zgoos_hurd.go source-new/src/internal/goos/z
|
||||
const IsWindows = 0
|
||||
diff -ruwN source/src/internal/goos/zgoos_illumos.go source-new/src/internal/goos/zgoos_illumos.go
|
||||
--- source/src/internal/goos/zgoos_illumos.go 2025-07-03 04:47:15.000000000 +0700
|
||||
+++ source-new/src/internal/goos/zgoos_illumos.go 2025-07-20 22:44:22.532527140 +0700
|
||||
+++ source-new/src/internal/goos/zgoos_illumos.go 2025-07-20 23:50:47.312425484 +0700
|
||||
@@ -20,6 +20,7 @@
|
||||
const IsNetbsd = 0
|
||||
const IsOpenbsd = 0
|
||||
@ -239,7 +367,7 @@ diff -ruwN source/src/internal/goos/zgoos_illumos.go source-new/src/internal/goo
|
||||
const IsWindows = 0
|
||||
diff -ruwN source/src/internal/goos/zgoos_ios.go source-new/src/internal/goos/zgoos_ios.go
|
||||
--- source/src/internal/goos/zgoos_ios.go 2025-07-03 04:47:15.000000000 +0700
|
||||
+++ source-new/src/internal/goos/zgoos_ios.go 2025-07-20 22:44:22.532527140 +0700
|
||||
+++ source-new/src/internal/goos/zgoos_ios.go 2025-07-20 23:50:47.322425484 +0700
|
||||
@@ -20,6 +20,7 @@
|
||||
const IsNetbsd = 0
|
||||
const IsOpenbsd = 0
|
||||
@ -250,7 +378,7 @@ diff -ruwN source/src/internal/goos/zgoos_ios.go source-new/src/internal/goos/zg
|
||||
const IsWindows = 0
|
||||
diff -ruwN source/src/internal/goos/zgoos_js.go source-new/src/internal/goos/zgoos_js.go
|
||||
--- source/src/internal/goos/zgoos_js.go 2025-07-03 04:47:15.000000000 +0700
|
||||
+++ source-new/src/internal/goos/zgoos_js.go 2025-07-20 22:44:22.532527140 +0700
|
||||
+++ source-new/src/internal/goos/zgoos_js.go 2025-07-20 23:50:47.322425484 +0700
|
||||
@@ -20,6 +20,7 @@
|
||||
const IsNetbsd = 0
|
||||
const IsOpenbsd = 0
|
||||
@ -261,7 +389,7 @@ diff -ruwN source/src/internal/goos/zgoos_js.go source-new/src/internal/goos/zgo
|
||||
const IsWindows = 0
|
||||
diff -ruwN source/src/internal/goos/zgoos_linux.go source-new/src/internal/goos/zgoos_linux.go
|
||||
--- source/src/internal/goos/zgoos_linux.go 2025-07-03 04:47:15.000000000 +0700
|
||||
+++ source-new/src/internal/goos/zgoos_linux.go 2025-07-20 22:44:22.532527140 +0700
|
||||
+++ source-new/src/internal/goos/zgoos_linux.go 2025-07-20 23:50:47.322425484 +0700
|
||||
@@ -1,6 +1,6 @@
|
||||
// Code generated by gengoos.go using 'go generate'. DO NOT EDIT.
|
||||
|
||||
@ -280,7 +408,7 @@ diff -ruwN source/src/internal/goos/zgoos_linux.go source-new/src/internal/goos/
|
||||
const IsWindows = 0
|
||||
diff -ruwN source/src/internal/goos/zgoos_netbsd.go source-new/src/internal/goos/zgoos_netbsd.go
|
||||
--- source/src/internal/goos/zgoos_netbsd.go 2025-07-03 04:47:15.000000000 +0700
|
||||
+++ source-new/src/internal/goos/zgoos_netbsd.go 2025-07-20 22:44:22.532527140 +0700
|
||||
+++ source-new/src/internal/goos/zgoos_netbsd.go 2025-07-20 23:50:47.322425484 +0700
|
||||
@@ -20,6 +20,7 @@
|
||||
const IsNetbsd = 1
|
||||
const IsOpenbsd = 0
|
||||
@ -291,7 +419,7 @@ diff -ruwN source/src/internal/goos/zgoos_netbsd.go source-new/src/internal/goos
|
||||
const IsWindows = 0
|
||||
diff -ruwN source/src/internal/goos/zgoos_openbsd.go source-new/src/internal/goos/zgoos_openbsd.go
|
||||
--- source/src/internal/goos/zgoos_openbsd.go 2025-07-03 04:47:15.000000000 +0700
|
||||
+++ source-new/src/internal/goos/zgoos_openbsd.go 2025-07-20 22:44:22.532527140 +0700
|
||||
+++ source-new/src/internal/goos/zgoos_openbsd.go 2025-07-20 23:50:47.322425484 +0700
|
||||
@@ -20,6 +20,7 @@
|
||||
const IsNetbsd = 0
|
||||
const IsOpenbsd = 1
|
||||
@ -302,7 +430,7 @@ diff -ruwN source/src/internal/goos/zgoos_openbsd.go source-new/src/internal/goo
|
||||
const IsWindows = 0
|
||||
diff -ruwN source/src/internal/goos/zgoos_plan9.go source-new/src/internal/goos/zgoos_plan9.go
|
||||
--- source/src/internal/goos/zgoos_plan9.go 2025-07-03 04:47:15.000000000 +0700
|
||||
+++ source-new/src/internal/goos/zgoos_plan9.go 2025-07-20 22:44:22.532527140 +0700
|
||||
+++ source-new/src/internal/goos/zgoos_plan9.go 2025-07-20 23:50:47.322425484 +0700
|
||||
@@ -20,6 +20,7 @@
|
||||
const IsNetbsd = 0
|
||||
const IsOpenbsd = 0
|
||||
@ -313,7 +441,7 @@ diff -ruwN source/src/internal/goos/zgoos_plan9.go source-new/src/internal/goos/
|
||||
const IsWindows = 0
|
||||
diff -ruwN source/src/internal/goos/zgoos_redox.go source-new/src/internal/goos/zgoos_redox.go
|
||||
--- source/src/internal/goos/zgoos_redox.go 1970-01-01 07:00:00.000000000 +0700
|
||||
+++ source-new/src/internal/goos/zgoos_redox.go 2025-07-20 22:44:22.532527140 +0700
|
||||
+++ source-new/src/internal/goos/zgoos_redox.go 2025-07-20 23:50:47.322425484 +0700
|
||||
@@ -0,0 +1,27 @@
|
||||
+// Code generated by gengoos.go using 'go generate'. DO NOT EDIT.
|
||||
+
|
||||
@ -344,7 +472,7 @@ diff -ruwN source/src/internal/goos/zgoos_redox.go source-new/src/internal/goos/
|
||||
+const IsZos = 0
|
||||
diff -ruwN source/src/internal/goos/zgoos_solaris.go source-new/src/internal/goos/zgoos_solaris.go
|
||||
--- source/src/internal/goos/zgoos_solaris.go 2025-07-03 04:47:15.000000000 +0700
|
||||
+++ source-new/src/internal/goos/zgoos_solaris.go 2025-07-20 22:44:22.532527140 +0700
|
||||
+++ source-new/src/internal/goos/zgoos_solaris.go 2025-07-20 23:50:47.322425484 +0700
|
||||
@@ -20,6 +20,7 @@
|
||||
const IsNetbsd = 0
|
||||
const IsOpenbsd = 0
|
||||
@ -355,7 +483,7 @@ diff -ruwN source/src/internal/goos/zgoos_solaris.go source-new/src/internal/goo
|
||||
const IsWindows = 0
|
||||
diff -ruwN source/src/internal/goos/zgoos_wasip1.go source-new/src/internal/goos/zgoos_wasip1.go
|
||||
--- source/src/internal/goos/zgoos_wasip1.go 2025-07-03 04:47:15.000000000 +0700
|
||||
+++ source-new/src/internal/goos/zgoos_wasip1.go 2025-07-20 22:44:22.532527140 +0700
|
||||
+++ source-new/src/internal/goos/zgoos_wasip1.go 2025-07-20 23:50:47.322425484 +0700
|
||||
@@ -20,6 +20,7 @@
|
||||
const IsNetbsd = 0
|
||||
const IsOpenbsd = 0
|
||||
@ -366,7 +494,7 @@ diff -ruwN source/src/internal/goos/zgoos_wasip1.go source-new/src/internal/goos
|
||||
const IsWindows = 0
|
||||
diff -ruwN source/src/internal/goos/zgoos_windows.go source-new/src/internal/goos/zgoos_windows.go
|
||||
--- source/src/internal/goos/zgoos_windows.go 2025-07-03 04:47:15.000000000 +0700
|
||||
+++ source-new/src/internal/goos/zgoos_windows.go 2025-07-20 22:44:22.532527140 +0700
|
||||
+++ source-new/src/internal/goos/zgoos_windows.go 2025-07-20 23:50:47.322425484 +0700
|
||||
@@ -20,6 +20,7 @@
|
||||
const IsNetbsd = 0
|
||||
const IsOpenbsd = 0
|
||||
@ -377,7 +505,7 @@ diff -ruwN source/src/internal/goos/zgoos_windows.go source-new/src/internal/goo
|
||||
const IsWindows = 1
|
||||
diff -ruwN source/src/internal/goos/zgoos_zos.go source-new/src/internal/goos/zgoos_zos.go
|
||||
--- source/src/internal/goos/zgoos_zos.go 2025-07-03 04:47:15.000000000 +0700
|
||||
+++ source-new/src/internal/goos/zgoos_zos.go 2025-07-20 22:44:22.532527140 +0700
|
||||
+++ source-new/src/internal/goos/zgoos_zos.go 2025-07-20 23:50:47.322425484 +0700
|
||||
@@ -20,6 +20,7 @@
|
||||
const IsNetbsd = 0
|
||||
const IsOpenbsd = 0
|
||||
@ -388,8 +516,16 @@ diff -ruwN source/src/internal/goos/zgoos_zos.go source-new/src/internal/goos/zg
|
||||
const IsWindows = 0
|
||||
diff -ruwN source/src/internal/platform/supported.go source-new/src/internal/platform/supported.go
|
||||
--- source/src/internal/platform/supported.go 2025-07-03 04:47:15.000000000 +0700
|
||||
+++ source-new/src/internal/platform/supported.go 2025-07-20 22:44:22.532527140 +0700
|
||||
@@ -209,7 +209,7 @@
|
||||
+++ source-new/src/internal/platform/supported.go 2025-08-02 18:27:27.688723910 +0700
|
||||
@@ -194,6 +194,7 @@
|
||||
"ios/amd64", "ios/arm64",
|
||||
"aix/ppc64",
|
||||
"openbsd/arm64",
|
||||
+ "redox/386","redox/amd64","redox/arm64",
|
||||
"windows/386", "windows/amd64", "windows/arm", "windows/arm64":
|
||||
return true
|
||||
}
|
||||
@@ -209,7 +210,7 @@
|
||||
case "plugin":
|
||||
switch platform {
|
||||
case "linux/amd64", "linux/arm", "linux/arm64", "linux/386", "linux/loong64", "linux/s390x", "linux/ppc64le",
|
||||
@ -398,7 +534,15 @@ diff -ruwN source/src/internal/platform/supported.go source-new/src/internal/pla
|
||||
"darwin/amd64", "darwin/arm64",
|
||||
"freebsd/amd64":
|
||||
return true
|
||||
@@ -237,7 +237,7 @@
|
||||
@@ -226,6 +227,7 @@
|
||||
case "android/arm64",
|
||||
"darwin/amd64", "darwin/arm64",
|
||||
"linux/amd64", "linux/arm64", "linux/ppc64le",
|
||||
+ "redox/386","redox/amd64","redox/arm64",
|
||||
"windows/386", "windows/amd64", "windows/arm", "windows/arm64":
|
||||
return true
|
||||
}
|
||||
@@ -237,7 +239,7 @@
|
||||
// so force the caller to pass that in to centralize that choice.
|
||||
func DefaultPIE(goos, goarch string, isRace bool) bool {
|
||||
switch goos {
|
||||
@ -409,7 +553,7 @@ diff -ruwN source/src/internal/platform/supported.go source-new/src/internal/pla
|
||||
if isRace {
|
||||
diff -ruwN source/src/internal/platform/zosarch.go source-new/src/internal/platform/zosarch.go
|
||||
--- source/src/internal/platform/zosarch.go 2025-07-03 04:47:15.000000000 +0700
|
||||
+++ source-new/src/internal/platform/zosarch.go 2025-07-20 22:44:22.532527140 +0700
|
||||
+++ source-new/src/internal/platform/zosarch.go 2025-07-20 23:50:47.322425484 +0700
|
||||
@@ -13,6 +13,9 @@
|
||||
{"android", "amd64"},
|
||||
{"android", "arm"},
|
||||
@ -432,7 +576,7 @@ diff -ruwN source/src/internal/platform/zosarch.go source-new/src/internal/platf
|
||||
{"dragonfly", "amd64"}: {CgoSupported: true},
|
||||
diff -ruwN source/src/internal/poll/sendfile_unix.go source-new/src/internal/poll/sendfile_unix.go
|
||||
--- source/src/internal/poll/sendfile_unix.go 2025-07-03 04:47:15.000000000 +0700
|
||||
+++ source-new/src/internal/poll/sendfile_unix.go 2025-07-20 23:20:57.622471583 +0700
|
||||
+++ source-new/src/internal/poll/sendfile_unix.go 2025-07-20 23:50:47.322425484 +0700
|
||||
@@ -28,7 +28,7 @@
|
||||
// has not modified the source or destination,
|
||||
// and the caller should perform the copy using a fallback implementation.
|
||||
@ -444,7 +588,7 @@ diff -ruwN source/src/internal/poll/sendfile_unix.go source-new/src/internal/pol
|
||||
// updates the position of the source after sending.
|
||||
diff -ruwN source/src/internal/syslist/syslist.go source-new/src/internal/syslist/syslist.go
|
||||
--- source/src/internal/syslist/syslist.go 2025-07-03 04:47:15.000000000 +0700
|
||||
+++ source-new/src/internal/syslist/syslist.go 2025-07-20 22:44:22.532527140 +0700
|
||||
+++ source-new/src/internal/syslist/syslist.go 2025-07-20 23:50:47.322425484 +0700
|
||||
@@ -29,6 +29,7 @@
|
||||
"netbsd": true,
|
||||
"openbsd": true,
|
||||
@ -461,9 +605,88 @@ diff -ruwN source/src/internal/syslist/syslist.go source-new/src/internal/syslis
|
||||
"solaris": true,
|
||||
}
|
||||
|
||||
diff -ruwN source/src/net/cgo_stub.go source-new/src/net/cgo_stub.go
|
||||
--- source/src/net/cgo_stub.go 2025-07-03 04:47:15.000000000 +0700
|
||||
+++ source-new/src/net/cgo_stub.go 2025-08-02 18:20:37.688742244 +0700
|
||||
@@ -9,7 +9,7 @@
|
||||
// (Darwin always provides the cgo functions, in cgo_unix_syscall.go)
|
||||
// - on wasip1, where cgo is never available
|
||||
|
||||
-//go:build (netgo && unix) || (unix && !cgo && !darwin) || js || wasip1
|
||||
+//go:build (netgo && unix) || (unix && !cgo && !darwin) || js || wasip1 || redox
|
||||
|
||||
package net
|
||||
|
||||
diff -ruwN source/src/net/cgo_unix.go source-new/src/net/cgo_unix.go
|
||||
--- source/src/net/cgo_unix.go 2025-07-03 04:47:15.000000000 +0700
|
||||
+++ source-new/src/net/cgo_unix.go 2025-08-02 17:54:26.168771131 +0700
|
||||
@@ -7,7 +7,7 @@
|
||||
// Instead of C.foo it uses _C_foo, which is defined in either
|
||||
// cgo_unix_cgo.go or cgo_unix_syscall.go
|
||||
|
||||
-//go:build !netgo && ((cgo && unix) || darwin)
|
||||
+//go:build !netgo && ((cgo && unix) || darwin) && !redox
|
||||
|
||||
package net
|
||||
|
||||
diff -ruwN source/src/net/cgo_unix_cgo_res.go source-new/src/net/cgo_unix_cgo_res.go
|
||||
--- source/src/net/cgo_unix_cgo_res.go 2025-07-03 04:47:15.000000000 +0700
|
||||
+++ source-new/src/net/cgo_unix_cgo_res.go 2025-08-02 23:37:48.006690697 +0700
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
// res_search, for cgo systems where that is thread-safe.
|
||||
|
||||
-//go:build cgo && !netgo && (linux || openbsd)
|
||||
+//go:build cgo && !netgo && (linux || openbsd) && !redox
|
||||
|
||||
package net
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
#include <arpa/nameser.h>
|
||||
#include <resolv.h>
|
||||
|
||||
-#cgo !android,!openbsd LDFLAGS: -lresolv
|
||||
+#cgo !android,!openbsd,!redox LDFLAGS: -lresolv
|
||||
*/
|
||||
import "C"
|
||||
|
||||
diff -ruwN source/src/net/cgo_unix_cgo_resn.go source-new/src/net/cgo_unix_cgo_resn.go
|
||||
--- source/src/net/cgo_unix_cgo_resn.go 2025-07-03 04:47:15.000000000 +0700
|
||||
+++ source-new/src/net/cgo_unix_cgo_resn.go 2025-08-02 23:37:55.206690614 +0700
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
// res_nsearch, for cgo systems where that's available.
|
||||
|
||||
-//go:build cgo && !netgo && unix && !(darwin || linux || openbsd)
|
||||
+//go:build cgo && !netgo && unix && !(darwin || linux || openbsd || redox)
|
||||
|
||||
package net
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
#include <arpa/nameser.h>
|
||||
#include <resolv.h>
|
||||
|
||||
-#cgo !aix,!dragonfly,!freebsd LDFLAGS: -lresolv
|
||||
+#cgo !aix,!dragonfly,!freebsd,!redox LDFLAGS: -lresolv
|
||||
*/
|
||||
import "C"
|
||||
|
||||
diff -ruwN source/src/os/user/cgo_lookup_unix.go source-new/src/os/user/cgo_lookup_unix.go
|
||||
--- source/src/os/user/cgo_lookup_unix.go 2025-07-03 04:47:15.000000000 +0700
|
||||
+++ source-new/src/os/user/cgo_lookup_unix.go 2025-08-02 17:15:57.178834645 +0700
|
||||
@@ -194,7 +194,7 @@
|
||||
// Because we can't use cgo in tests:
|
||||
func structPasswdForNegativeTest() _C_struct_passwd {
|
||||
sp := _C_struct_passwd{}
|
||||
- *_C_pw_uidp(&sp) = 1<<32 - 2
|
||||
- *_C_pw_gidp(&sp) = 1<<32 - 3
|
||||
+ *_C_pw_uidp(&sp) = 1<<31 - 2
|
||||
+ *_C_pw_gidp(&sp) = 1<<31 - 3
|
||||
return sp
|
||||
}
|
||||
diff -ruwN source/src/runtime/cgo/cgo.go source-new/src/runtime/cgo/cgo.go
|
||||
--- source/src/runtime/cgo/cgo.go 2025-07-03 04:47:15.000000000 +0700
|
||||
+++ source-new/src/runtime/cgo/cgo.go 2025-07-20 22:44:22.532527140 +0700
|
||||
+++ source-new/src/runtime/cgo/cgo.go 2025-07-20 23:50:47.322425484 +0700
|
||||
@@ -16,7 +16,8 @@
|
||||
#cgo dragonfly LDFLAGS: -lpthread
|
||||
#cgo freebsd LDFLAGS: -lpthread
|
||||
@ -476,7 +699,7 @@ diff -ruwN source/src/runtime/cgo/cgo.go source-new/src/runtime/cgo/cgo.go
|
||||
#cgo aix LDFLAGS: -Wl,-berok
|
||||
diff -ruwN source/src/runtime/pprof/pprof_rusage.go source-new/src/runtime/pprof/pprof_rusage.go
|
||||
--- source/src/runtime/pprof/pprof_rusage.go 2025-07-03 04:47:15.000000000 +0700
|
||||
+++ source-new/src/runtime/pprof/pprof_rusage.go 2025-07-20 22:49:29.702520564 +0700
|
||||
+++ source-new/src/runtime/pprof/pprof_rusage.go 2025-07-20 23:50:47.322425484 +0700
|
||||
@@ -17,7 +17,7 @@
|
||||
func addMaxRSS(w io.Writer) {
|
||||
var rssToBytes uintptr
|
||||
@ -488,7 +711,7 @@ diff -ruwN source/src/runtime/pprof/pprof_rusage.go source-new/src/runtime/pprof
|
||||
rssToBytes = 1
|
||||
diff -ruwN source/src/runtime/pprof/proto_test.go source-new/src/runtime/pprof/proto_test.go
|
||||
--- source/src/runtime/pprof/proto_test.go 2025-07-03 04:47:15.000000000 +0700
|
||||
+++ source-new/src/runtime/pprof/proto_test.go 2025-07-20 22:49:40.452520165 +0700
|
||||
+++ source-new/src/runtime/pprof/proto_test.go 2025-07-20 23:50:47.322425484 +0700
|
||||
@@ -83,7 +83,7 @@
|
||||
// to use in test profiles.
|
||||
func testPCs(t *testing.T) (addr1, addr2 uint64, map1, map2 *profile.Mapping) {
|
||||
@ -500,7 +723,7 @@ diff -ruwN source/src/runtime/pprof/proto_test.go source-new/src/runtime/pprof/p
|
||||
if err != nil {
|
||||
diff -ruwN source/src/runtime/race/internal/amd64v1/doc.go source-new/src/runtime/race/internal/amd64v1/doc.go
|
||||
--- source/src/runtime/race/internal/amd64v1/doc.go 2025-07-03 04:47:15.000000000 +0700
|
||||
+++ source-new/src/runtime/race/internal/amd64v1/doc.go 2025-07-20 22:55:01.602514355 +0700
|
||||
+++ source-new/src/runtime/race/internal/amd64v1/doc.go 2025-07-20 23:50:47.322425484 +0700
|
||||
@@ -5,6 +5,6 @@
|
||||
// This package holds the race detector .syso for
|
||||
// amd64 architectures with GOAMD64<v3.
|
||||
@ -509,9 +732,54 @@ diff -ruwN source/src/runtime/race/internal/amd64v1/doc.go source-new/src/runtim
|
||||
+//go:build amd64 && ((linux && !amd64.v3) || redox || darwin || freebsd || netbsd || openbsd || windows)
|
||||
|
||||
package amd64v1
|
||||
diff -ruwN source/src/runtime/rt0_redox_386.s source-new/src/runtime/rt0_redox_386.s
|
||||
--- source/src/runtime/rt0_redox_386.s 1970-01-01 07:00:00.000000000 +0700
|
||||
+++ source-new/src/runtime/rt0_redox_386.s 2025-08-02 22:31:44.966787048 +0700
|
||||
@@ -0,0 +1,11 @@
|
||||
+// Copyright 2009 The Go Authors. All rights reserved.
|
||||
+// Use of this source code is governed by a BSD-style
|
||||
+// license that can be found in the LICENSE file.
|
||||
+
|
||||
+#include "textflag.h"
|
||||
+
|
||||
+TEXT _rt0_386_redox(SB),NOSPLIT,$-8
|
||||
+ JMP _rt0_386(SB)
|
||||
+
|
||||
+TEXT _rt0_386_redox_lib(SB),NOSPLIT,$0
|
||||
+ JMP _rt0_386_lib(SB)
|
||||
diff -ruwN source/src/runtime/rt0_redox_amd64.s source-new/src/runtime/rt0_redox_amd64.s
|
||||
--- source/src/runtime/rt0_redox_amd64.s 1970-01-01 07:00:00.000000000 +0700
|
||||
+++ source-new/src/runtime/rt0_redox_amd64.s 2025-08-02 22:30:35.106789542 +0700
|
||||
@@ -0,0 +1,11 @@
|
||||
+// Copyright 2009 The Go Authors. All rights reserved.
|
||||
+// Use of this source code is governed by a BSD-style
|
||||
+// license that can be found in the LICENSE file.
|
||||
+
|
||||
+#include "textflag.h"
|
||||
+
|
||||
+TEXT _rt0_amd64_redox(SB),NOSPLIT,$-8
|
||||
+ JMP _rt0_amd64(SB)
|
||||
+
|
||||
+TEXT _rt0_amd64_redox_lib(SB),NOSPLIT,$0
|
||||
+ JMP _rt0_amd64_lib(SB)
|
||||
diff -ruwN source/src/runtime/rt0_redox_arm64.s source-new/src/runtime/rt0_redox_arm64.s
|
||||
--- source/src/runtime/rt0_redox_arm64.s 1970-01-01 07:00:00.000000000 +0700
|
||||
+++ source-new/src/runtime/rt0_redox_arm64.s 2025-08-02 22:31:21.176788037 +0700
|
||||
@@ -0,0 +1,11 @@
|
||||
+// Copyright 2009 The Go Authors. All rights reserved.
|
||||
+// Use of this source code is governed by a BSD-style
|
||||
+// license that can be found in the LICENSE file.
|
||||
+
|
||||
+#include "textflag.h"
|
||||
+
|
||||
+TEXT _rt0_arm64_redox(SB),NOSPLIT,$-8
|
||||
+ JMP _rt0_arm64(SB)
|
||||
+
|
||||
+TEXT _rt0_arm64_redox_lib(SB),NOSPLIT,$0
|
||||
+ JMP _rt0_arm64_lib(SB)
|
||||
diff -ruwN source/src/runtime/signal_unix.go source-new/src/runtime/signal_unix.go
|
||||
--- source/src/runtime/signal_unix.go 2025-07-03 04:47:15.000000000 +0700
|
||||
+++ source-new/src/runtime/signal_unix.go 2025-07-20 22:48:39.392522349 +0700
|
||||
+++ source-new/src/runtime/signal_unix.go 2025-07-20 23:50:47.322425484 +0700
|
||||
@@ -162,7 +162,7 @@
|
||||
}
|
||||
}
|
||||
@ -530,16 +798,3 @@ diff -ruwN source/src/runtime/signal_unix.go source-new/src/runtime/signal_unix.
|
||||
// sigPerThreadSyscall is the same signal used by glibc for
|
||||
// per-thread syscalls on Linux. We use it for the same purpose
|
||||
// in non-cgo binaries. Since this signal is not _SigNotify,
|
||||
diff -ruwN source/src/os/user/cgo_lookup_unix.go source-new/src/os/user/cgo_lookup_unix.go
|
||||
--- source/src/os/user/cgo_lookup_unix.go 2025-07-03 04:47:15.000000000 +0700
|
||||
+++ source-new/src/os/user/cgo_lookup_unix.go 2025-07-21 07:26:57.799950678 +0700
|
||||
@@ -194,7 +194,7 @@
|
||||
// Because we can't use cgo in tests:
|
||||
func structPasswdForNegativeTest() _C_struct_passwd {
|
||||
sp := _C_struct_passwd{}
|
||||
- *_C_pw_uidp(&sp) = 1<<32 - 2
|
||||
- *_C_pw_gidp(&sp) = 1<<32 - 3
|
||||
+ *_C_pw_uidp(&sp) = 1<<31 - 2
|
||||
+ *_C_pw_gidp(&sp) = 1<<31 - 3
|
||||
return sp
|
||||
}
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
#TODO: Relibc linking errors
|
||||
#TODO: Can build, but emits Linux binaries instead (read the asm6.go patches)
|
||||
[source]
|
||||
tar = "https://go.dev/dl/go1.24.5.src.tar.gz"
|
||||
patches = [
|
||||
@ -12,7 +12,7 @@ export PATH=$HOME/go/bin:$PATH
|
||||
|
||||
rm -rf $HOME/.cache/go-build
|
||||
export GOPATH=${COOKBOOK_BUILD}/gopath
|
||||
if ! command -v go &> /dev/null; then
|
||||
if ! command -v go &> /dev/null; then
|
||||
GO_TARBALL=go1.24.5.linux-$( [ "$(uname -m)" = "aarch64" ] && echo "arm64" || echo "amd64" ).tar.gz
|
||||
GO_DOWNLOAD_URL="https://dl.google.com/go/${GO_TARBALL}"
|
||||
echo "Installing Go..."
|
||||
@ -23,27 +23,33 @@ fi
|
||||
# Go does not support out-of-tree builds :(
|
||||
rsync -a --delete "${COOKBOOK_SOURCE}/" ./
|
||||
|
||||
export GOOS=redox
|
||||
export GOHOSTOS=redox
|
||||
case "${TARGET}" in
|
||||
x86-unknown-redox)
|
||||
export GOARCH=386
|
||||
export GOHOSTARCH=386
|
||||
;;
|
||||
x86_64-unknown-redox)
|
||||
export GOARCH=amd64
|
||||
export GOHOSTARCH=amd64
|
||||
;;
|
||||
aarch64-unknown-redox)
|
||||
export GOARCH=arm64
|
||||
export GOHOSTARCH=arm64
|
||||
;;
|
||||
riscv64-unknown-redox)
|
||||
# TODO: Patches for this ARCH is not complete
|
||||
export GOHOSTARCH=riscv64
|
||||
;;
|
||||
esac
|
||||
|
||||
export GOROOT_FINAL=${COOKBOOK_STAGE}
|
||||
export GOOS=${GOHOSTOS}
|
||||
export GOARCH=${GOHOSTARCH}
|
||||
|
||||
export CGO_ENABLED=1
|
||||
export CC_FOR_TARGET="${CC}"
|
||||
export CXX_FOR_TARGET="${CXX}"
|
||||
export CC_FOR_redox_${GOHOSTARCH}="${CC}"
|
||||
export CXX_FOR_redox_${GOHOSTARCH}="${CXX}"
|
||||
# Don't poison the runtime tools (host -> host)
|
||||
unset AR AS CC CXX LD LDFLAGS NM OBJCOPY OBJDUMP RANLIB READELF STRIP
|
||||
cd ./src
|
||||
bash ./make.bash -v
|
||||
bash run.bash --no-rebuild
|
||||
"$GOTOOLDIR/dist" banner # print build info
|
||||
(cd ./src && bash ./make.bash -v --no-banner)
|
||||
|
||||
mkdir -p ${COOKBOOK_STAGE}/bin
|
||||
rsync -a --delete "bin/redox_${GOHOSTARCH}/" ${COOKBOOK_STAGE}/bin
|
||||
"""
|
||||
|
||||
Loading…
Reference in New Issue
Block a user