diff --git a/cross/gcc-aarch64/0041-gcc-go-Use-int64-type-as-offset-argument-for-mmap.patch b/cross/gcc-aarch64/0041-gcc-go-Use-int64-type-as-offset-argument-for-mmap.patch new file mode 100644 index 000000000..41e67843f --- /dev/null +++ b/cross/gcc-aarch64/0041-gcc-go-Use-int64-type-as-offset-argument-for-mmap.patch @@ -0,0 +1,60 @@ +From f042000a3113524554f5565f147735caf15dd42f Mon Sep 17 00:00:00 2001 +From: "A. Wilcox" +Date: Sun, 30 Aug 2020 18:33:49 +0200 +Subject: [PATCH] gcc-go: Use int64 type as offset argument for mmap +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Without this patch, Go run-time memory allocation fails on 32-bit architectures: + + fatal error: runtime: cannot allocate memory + runtime stack: + runtime.dopanic__m + :0 + runtime.throw + :0 + :0 + :0 + runtime.systemstack + :0 + runtime.addrRanges.init + :0 + runtime.pageAlloc.init + :0 + runtime.mheap.init + :0 + runtime.schedinit + :0 + :0 + :0 + +Taken from Adélie Linux [1]. + +[1]: https://git.adelielinux.org/adelie/packages/-/commit/63b5fb12c3d75e460799c672bbbdd5d29c3cc33c +--- + libgo/go/runtime/mem_gccgo.go | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/libgo/go/runtime/mem_gccgo.go b/libgo/go/runtime/mem_gccgo.go +index fa3389d857e..57bed97c710 100644 +--- a/libgo/go/runtime/mem_gccgo.go ++++ b/libgo/go/runtime/mem_gccgo.go +@@ -15,7 +15,7 @@ import ( + //go:linkname sysFree + + //extern mmap +-func sysMmap(addr unsafe.Pointer, n uintptr, prot, flags, fd int32, off uintptr) unsafe.Pointer ++func sysMmap(addr unsafe.Pointer, n uintptr, prot, flags, fd int32, off int64) unsafe.Pointer + + //extern munmap + func munmap(addr unsafe.Pointer, length uintptr) int32 +@@ -37,7 +37,7 @@ func init() { + } + } + +-func mmap(addr unsafe.Pointer, n uintptr, prot, flags, fd int32, off uintptr) (unsafe.Pointer, int) { ++func mmap(addr unsafe.Pointer, n uintptr, prot, flags, fd int32, off int64) (unsafe.Pointer, int) { + p := sysMmap(addr, n, prot, flags, fd, off) + if uintptr(p) == _MAP_FAILED { + return nil, errno() diff --git a/cross/gcc-aarch64/APKBUILD b/cross/gcc-aarch64/APKBUILD index 7f3919d84..9c15045a1 100644 --- a/cross/gcc-aarch64/APKBUILD +++ b/cross/gcc-aarch64/APKBUILD @@ -31,7 +31,7 @@ pkgver=11.2.1_git20211128 [ "$CHOST" != "$CTARGET" ] && _target="-$CTARGET_ARCH" || _target="" pkgname=gcc-aarch64 -pkgrel=1 +pkgrel=2 pkgdesc="Stage2 cross-compiler for aarch64" url="https://gcc.gnu.org" arch="x86_64" @@ -241,6 +241,7 @@ source="https://dev.alpinelinux.org/~nenolod/gcc-${pkgver}.tar.xz 0038-libgo-Recognize-off64_t-and-loff_t-definitions-of-mu.patch 0039-Fix-attempt-to-use-poisoned-calloc-error-in-libgccji.patch 0040-stddef.h-add-support-for-musl-typedef-macro-guards.patch + 0041-gcc-go-Use-int64-type-as-offset-argument-for-mmap.patch " # we build out-of-tree @@ -743,4 +744,5 @@ ca185b3e0644dab6a87bf524042c72069ffda0cde578e803bd59a9c5e40ba4d7d6f0be49836bc3aa 7541d57f7c04571b3d60a2e40038245b33e68c4b53373f64d2827d106349546834f06eb77227194f950b570e15f4fe9e259238458d5be8f10c41c56404f7cfff 0038-libgo-Recognize-off64_t-and-loff_t-definitions-of-mu.patch 2c5edf9e3fe6822a322c1dc75218062afb56799c304aa583c4e1e80136c6262cbd9bb950843f167b40639c6623a33a0475990c4452e03307af434dc8760d437d 0039-Fix-attempt-to-use-poisoned-calloc-error-in-libgccji.patch 8e44678fc77094a2c0cbc78575759ee51d50ea53189cf4d651c8501eb1b46210bb6d5969b81f5f63532914320971e7a1e2e80b32cb679ab41af86f21742b4c19 0040-stddef.h-add-support-for-musl-typedef-macro-guards.patch +e4d2466191b4acde115917506c285b617d6210bf3603e705ca3d905e4e28b12e399b16898f6ab9996b1d4fbfa3aed554e86931ed7f13fc13a9459af7f29f4393 0041-gcc-go-Use-int64-type-as-offset-argument-for-mmap.patch " diff --git a/cross/gcc-armhf/0041-gcc-go-Use-int64-type-as-offset-argument-for-mmap.patch b/cross/gcc-armhf/0041-gcc-go-Use-int64-type-as-offset-argument-for-mmap.patch new file mode 100644 index 000000000..41e67843f --- /dev/null +++ b/cross/gcc-armhf/0041-gcc-go-Use-int64-type-as-offset-argument-for-mmap.patch @@ -0,0 +1,60 @@ +From f042000a3113524554f5565f147735caf15dd42f Mon Sep 17 00:00:00 2001 +From: "A. Wilcox" +Date: Sun, 30 Aug 2020 18:33:49 +0200 +Subject: [PATCH] gcc-go: Use int64 type as offset argument for mmap +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Without this patch, Go run-time memory allocation fails on 32-bit architectures: + + fatal error: runtime: cannot allocate memory + runtime stack: + runtime.dopanic__m + :0 + runtime.throw + :0 + :0 + :0 + runtime.systemstack + :0 + runtime.addrRanges.init + :0 + runtime.pageAlloc.init + :0 + runtime.mheap.init + :0 + runtime.schedinit + :0 + :0 + :0 + +Taken from Adélie Linux [1]. + +[1]: https://git.adelielinux.org/adelie/packages/-/commit/63b5fb12c3d75e460799c672bbbdd5d29c3cc33c +--- + libgo/go/runtime/mem_gccgo.go | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/libgo/go/runtime/mem_gccgo.go b/libgo/go/runtime/mem_gccgo.go +index fa3389d857e..57bed97c710 100644 +--- a/libgo/go/runtime/mem_gccgo.go ++++ b/libgo/go/runtime/mem_gccgo.go +@@ -15,7 +15,7 @@ import ( + //go:linkname sysFree + + //extern mmap +-func sysMmap(addr unsafe.Pointer, n uintptr, prot, flags, fd int32, off uintptr) unsafe.Pointer ++func sysMmap(addr unsafe.Pointer, n uintptr, prot, flags, fd int32, off int64) unsafe.Pointer + + //extern munmap + func munmap(addr unsafe.Pointer, length uintptr) int32 +@@ -37,7 +37,7 @@ func init() { + } + } + +-func mmap(addr unsafe.Pointer, n uintptr, prot, flags, fd int32, off uintptr) (unsafe.Pointer, int) { ++func mmap(addr unsafe.Pointer, n uintptr, prot, flags, fd int32, off int64) (unsafe.Pointer, int) { + p := sysMmap(addr, n, prot, flags, fd, off) + if uintptr(p) == _MAP_FAILED { + return nil, errno() diff --git a/cross/gcc-armhf/APKBUILD b/cross/gcc-armhf/APKBUILD index 45e38726c..d63d608fa 100644 --- a/cross/gcc-armhf/APKBUILD +++ b/cross/gcc-armhf/APKBUILD @@ -31,7 +31,7 @@ pkgver=11.2.1_git20211128 [ "$CHOST" != "$CTARGET" ] && _target="-$CTARGET_ARCH" || _target="" pkgname=gcc-armhf -pkgrel=1 +pkgrel=2 pkgdesc="Stage2 cross-compiler for armhf" url="https://gcc.gnu.org" arch="x86_64" @@ -241,6 +241,7 @@ source="https://dev.alpinelinux.org/~nenolod/gcc-${pkgver}.tar.xz 0038-libgo-Recognize-off64_t-and-loff_t-definitions-of-mu.patch 0039-Fix-attempt-to-use-poisoned-calloc-error-in-libgccji.patch 0040-stddef.h-add-support-for-musl-typedef-macro-guards.patch + 0041-gcc-go-Use-int64-type-as-offset-argument-for-mmap.patch " # we build out-of-tree @@ -743,4 +744,5 @@ ca185b3e0644dab6a87bf524042c72069ffda0cde578e803bd59a9c5e40ba4d7d6f0be49836bc3aa 7541d57f7c04571b3d60a2e40038245b33e68c4b53373f64d2827d106349546834f06eb77227194f950b570e15f4fe9e259238458d5be8f10c41c56404f7cfff 0038-libgo-Recognize-off64_t-and-loff_t-definitions-of-mu.patch 2c5edf9e3fe6822a322c1dc75218062afb56799c304aa583c4e1e80136c6262cbd9bb950843f167b40639c6623a33a0475990c4452e03307af434dc8760d437d 0039-Fix-attempt-to-use-poisoned-calloc-error-in-libgccji.patch 8e44678fc77094a2c0cbc78575759ee51d50ea53189cf4d651c8501eb1b46210bb6d5969b81f5f63532914320971e7a1e2e80b32cb679ab41af86f21742b4c19 0040-stddef.h-add-support-for-musl-typedef-macro-guards.patch +e4d2466191b4acde115917506c285b617d6210bf3603e705ca3d905e4e28b12e399b16898f6ab9996b1d4fbfa3aed554e86931ed7f13fc13a9459af7f29f4393 0041-gcc-go-Use-int64-type-as-offset-argument-for-mmap.patch " diff --git a/cross/gcc-armv7/0041-gcc-go-Use-int64-type-as-offset-argument-for-mmap.patch b/cross/gcc-armv7/0041-gcc-go-Use-int64-type-as-offset-argument-for-mmap.patch new file mode 100644 index 000000000..41e67843f --- /dev/null +++ b/cross/gcc-armv7/0041-gcc-go-Use-int64-type-as-offset-argument-for-mmap.patch @@ -0,0 +1,60 @@ +From f042000a3113524554f5565f147735caf15dd42f Mon Sep 17 00:00:00 2001 +From: "A. Wilcox" +Date: Sun, 30 Aug 2020 18:33:49 +0200 +Subject: [PATCH] gcc-go: Use int64 type as offset argument for mmap +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Without this patch, Go run-time memory allocation fails on 32-bit architectures: + + fatal error: runtime: cannot allocate memory + runtime stack: + runtime.dopanic__m + :0 + runtime.throw + :0 + :0 + :0 + runtime.systemstack + :0 + runtime.addrRanges.init + :0 + runtime.pageAlloc.init + :0 + runtime.mheap.init + :0 + runtime.schedinit + :0 + :0 + :0 + +Taken from Adélie Linux [1]. + +[1]: https://git.adelielinux.org/adelie/packages/-/commit/63b5fb12c3d75e460799c672bbbdd5d29c3cc33c +--- + libgo/go/runtime/mem_gccgo.go | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/libgo/go/runtime/mem_gccgo.go b/libgo/go/runtime/mem_gccgo.go +index fa3389d857e..57bed97c710 100644 +--- a/libgo/go/runtime/mem_gccgo.go ++++ b/libgo/go/runtime/mem_gccgo.go +@@ -15,7 +15,7 @@ import ( + //go:linkname sysFree + + //extern mmap +-func sysMmap(addr unsafe.Pointer, n uintptr, prot, flags, fd int32, off uintptr) unsafe.Pointer ++func sysMmap(addr unsafe.Pointer, n uintptr, prot, flags, fd int32, off int64) unsafe.Pointer + + //extern munmap + func munmap(addr unsafe.Pointer, length uintptr) int32 +@@ -37,7 +37,7 @@ func init() { + } + } + +-func mmap(addr unsafe.Pointer, n uintptr, prot, flags, fd int32, off uintptr) (unsafe.Pointer, int) { ++func mmap(addr unsafe.Pointer, n uintptr, prot, flags, fd int32, off int64) (unsafe.Pointer, int) { + p := sysMmap(addr, n, prot, flags, fd, off) + if uintptr(p) == _MAP_FAILED { + return nil, errno() diff --git a/cross/gcc-armv7/APKBUILD b/cross/gcc-armv7/APKBUILD index eaa3e7e26..055d2a1a3 100644 --- a/cross/gcc-armv7/APKBUILD +++ b/cross/gcc-armv7/APKBUILD @@ -31,7 +31,7 @@ pkgver=11.2.1_git20211128 [ "$CHOST" != "$CTARGET" ] && _target="-$CTARGET_ARCH" || _target="" pkgname=gcc-armv7 -pkgrel=1 +pkgrel=2 pkgdesc="Stage2 cross-compiler for armv7" url="https://gcc.gnu.org" arch="x86_64" @@ -241,6 +241,7 @@ source="https://dev.alpinelinux.org/~nenolod/gcc-${pkgver}.tar.xz 0038-libgo-Recognize-off64_t-and-loff_t-definitions-of-mu.patch 0039-Fix-attempt-to-use-poisoned-calloc-error-in-libgccji.patch 0040-stddef.h-add-support-for-musl-typedef-macro-guards.patch + 0041-gcc-go-Use-int64-type-as-offset-argument-for-mmap.patch " # we build out-of-tree @@ -743,4 +744,5 @@ ca185b3e0644dab6a87bf524042c72069ffda0cde578e803bd59a9c5e40ba4d7d6f0be49836bc3aa 7541d57f7c04571b3d60a2e40038245b33e68c4b53373f64d2827d106349546834f06eb77227194f950b570e15f4fe9e259238458d5be8f10c41c56404f7cfff 0038-libgo-Recognize-off64_t-and-loff_t-definitions-of-mu.patch 2c5edf9e3fe6822a322c1dc75218062afb56799c304aa583c4e1e80136c6262cbd9bb950843f167b40639c6623a33a0475990c4452e03307af434dc8760d437d 0039-Fix-attempt-to-use-poisoned-calloc-error-in-libgccji.patch 8e44678fc77094a2c0cbc78575759ee51d50ea53189cf4d651c8501eb1b46210bb6d5969b81f5f63532914320971e7a1e2e80b32cb679ab41af86f21742b4c19 0040-stddef.h-add-support-for-musl-typedef-macro-guards.patch +e4d2466191b4acde115917506c285b617d6210bf3603e705ca3d905e4e28b12e399b16898f6ab9996b1d4fbfa3aed554e86931ed7f13fc13a9459af7f29f4393 0041-gcc-go-Use-int64-type-as-offset-argument-for-mmap.patch "