cross/gcc-*: upgrade to 10.2.1_pre0-r2

This commit is contained in:
Oliver Smith 2020-11-18 14:31:13 +01:00
parent 7fa02ab6c4
commit 8cc5e9e0fc
No known key found for this signature in database
GPG key ID: 5AE7F5513E0885CB
6 changed files with 162 additions and 6 deletions

View file

@ -0,0 +1,50 @@
From ca0b670b87284afa341f1bef57f5614d88aecb4b Mon Sep 17 00:00:00 2001
From: Geod24 <pro.mathias.lang@gmail.com>
Date: Mon, 16 Nov 2020 18:40:46 +0100
Subject: [PATCH] CRuntime_Musl: Support v1.2.0 for 32 bits
As explained in the comment, `time_t` on Musl is now always 64 bits,
but used to be 32 bits on 32 bits systems.
---
libphobos/libdruntime/core/sys/posix/sys/types.d | 25 ++++++++++++++++++++++++-
1 files changed, 25 insertions(+), 1 deletion(-)
diff --git a/libphobos/libdruntime/core/sys/posix/sys/types.d b/libphobos/libdruntime/core/sys/posix/sys/types.d
index fcf39b5b..aacd0df0 100644
--- a/libphobos/libdruntime/core/sys/posix/sys/types.d
+++ b/libphobos/libdruntime/core/sys/posix/sys/types.d
@@ -140,10 +140,33 @@ else version (CRuntime_Musl)
alias int pid_t;
alias uint uid_t;
alias uint gid_t;
+
+ /**
+ * Musl versions before v1.2.0 (up to v1.1.24) had different
+ * definitions for `time_t` for 32 bits.
+ * This was changed to always be 64 bits in v1.2.0:
+ * https://musl.libc.org/time64.html
+ * This change was only for 32 bits system and
+ * didn't affect 64 bits systems
+ *
+ * To check previous definitions, `grep` for `time_t` in `arch/`,
+ * and the result should be (in v1.1.24):
+ * ---
+ * // arch/riscv64/bits/alltypes.h.in:20:TYPEDEF long time_t;
+ * // arch/s390x/bits/alltypes.h.in:17:TYPEDEF long time_t;
+ * // arch/sh/bits/alltypes.h.in:21:TYPEDEF long time_t;
+ * ---
+ *
+ * In order to be compatible with old versions of Musl,
+ * one can recompile druntime with `CRuntime_Musl_Pre_Time64`.
+ */
version (D_X32)
alias long time_t;
- else
+ else version (CRuntime_Musl_Pre_Time64)
alias c_long time_t;
+ else
+ alias long time_t;
+
alias c_long clock_t;
alias c_ulong pthread_t;
version (D_LP64)

View file

@ -31,7 +31,7 @@ pkgver=10.2.1_pre0
[ "$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"
@ -222,6 +222,7 @@ source="https://dev.alpinelinux.org/~nenolod/gcc-10.2.1.tar.xz
0038-gcc-go-link-to-libucontext.patch
0039-gcc-go-Disable-printing-of-unaccessible-ppc64-struct.patch
0040-opts-move-fpartial-inlining-from-O2-to-O3-or-higher.patch
0041-dlang-support-musl-1.2.0.patch
"
# gcc-4.8-build-args.patch
@ -698,4 +699,5 @@ f7582eaa9b6f421652b6705e28a22ba68210ea7e32d3c468e86b481a26bf391c86146e1a3ee4dda5
c7d48b3657d37fbaef0696c96f858819bbe5469d7387e99db890eb925703dbeaf11858fdf2ecd556ac85d766c739374d71c5509f5e2fba88eb427cf93e9fdcc0 0037-gcc-go-undef-SETCONTEXT_CLOBBERS_TLS-in-proc.c.patch
1e85dd650a43ce96d489f77e37fd247186e4e1fe2d088be991c3ff8233c923408137d94b72788ebc2ddcac8873c6f326a92138790ab0281722c67cce400f76cc 0038-gcc-go-link-to-libucontext.patch
c93e8b0797c54483174b77f942e932eeb832c0784af9948ead7d8d95ca6392ffe3edee0740e835cf3d9310904718384e846a882284c21ccf26a055f8f940a874 0039-gcc-go-Disable-printing-of-unaccessible-ppc64-struct.patch
ff74dbf6a3e10f6abececdce57672e76cca8f8a92f67ed495ae2631265402fed74e9b567fc35ad16d2a62449ca4074b6868ebbc56c68b9cecf8e686018f26554 0040-opts-move-fpartial-inlining-from-O2-to-O3-or-higher.patch"
ff74dbf6a3e10f6abececdce57672e76cca8f8a92f67ed495ae2631265402fed74e9b567fc35ad16d2a62449ca4074b6868ebbc56c68b9cecf8e686018f26554 0040-opts-move-fpartial-inlining-from-O2-to-O3-or-higher.patch
eb2d8e432206250a4c4682305390883343e3c8285ac26701a910c1418b6ba5b3681612db846eb298fd47f0163772403340a348b719af751afe410742d6e92472 0041-dlang-support-musl-1.2.0.patch"

View file

@ -0,0 +1,50 @@
From ca0b670b87284afa341f1bef57f5614d88aecb4b Mon Sep 17 00:00:00 2001
From: Geod24 <pro.mathias.lang@gmail.com>
Date: Mon, 16 Nov 2020 18:40:46 +0100
Subject: [PATCH] CRuntime_Musl: Support v1.2.0 for 32 bits
As explained in the comment, `time_t` on Musl is now always 64 bits,
but used to be 32 bits on 32 bits systems.
---
libphobos/libdruntime/core/sys/posix/sys/types.d | 25 ++++++++++++++++++++++++-
1 files changed, 25 insertions(+), 1 deletion(-)
diff --git a/libphobos/libdruntime/core/sys/posix/sys/types.d b/libphobos/libdruntime/core/sys/posix/sys/types.d
index fcf39b5b..aacd0df0 100644
--- a/libphobos/libdruntime/core/sys/posix/sys/types.d
+++ b/libphobos/libdruntime/core/sys/posix/sys/types.d
@@ -140,10 +140,33 @@ else version (CRuntime_Musl)
alias int pid_t;
alias uint uid_t;
alias uint gid_t;
+
+ /**
+ * Musl versions before v1.2.0 (up to v1.1.24) had different
+ * definitions for `time_t` for 32 bits.
+ * This was changed to always be 64 bits in v1.2.0:
+ * https://musl.libc.org/time64.html
+ * This change was only for 32 bits system and
+ * didn't affect 64 bits systems
+ *
+ * To check previous definitions, `grep` for `time_t` in `arch/`,
+ * and the result should be (in v1.1.24):
+ * ---
+ * // arch/riscv64/bits/alltypes.h.in:20:TYPEDEF long time_t;
+ * // arch/s390x/bits/alltypes.h.in:17:TYPEDEF long time_t;
+ * // arch/sh/bits/alltypes.h.in:21:TYPEDEF long time_t;
+ * ---
+ *
+ * In order to be compatible with old versions of Musl,
+ * one can recompile druntime with `CRuntime_Musl_Pre_Time64`.
+ */
version (D_X32)
alias long time_t;
- else
+ else version (CRuntime_Musl_Pre_Time64)
alias c_long time_t;
+ else
+ alias long time_t;
+
alias c_long clock_t;
alias c_ulong pthread_t;
version (D_LP64)

View file

@ -31,7 +31,7 @@ pkgver=10.2.1_pre0
[ "$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"
@ -222,6 +222,7 @@ source="https://dev.alpinelinux.org/~nenolod/gcc-10.2.1.tar.xz
0038-gcc-go-link-to-libucontext.patch
0039-gcc-go-Disable-printing-of-unaccessible-ppc64-struct.patch
0040-opts-move-fpartial-inlining-from-O2-to-O3-or-higher.patch
0041-dlang-support-musl-1.2.0.patch
"
# gcc-4.8-build-args.patch
@ -698,4 +699,5 @@ f7582eaa9b6f421652b6705e28a22ba68210ea7e32d3c468e86b481a26bf391c86146e1a3ee4dda5
c7d48b3657d37fbaef0696c96f858819bbe5469d7387e99db890eb925703dbeaf11858fdf2ecd556ac85d766c739374d71c5509f5e2fba88eb427cf93e9fdcc0 0037-gcc-go-undef-SETCONTEXT_CLOBBERS_TLS-in-proc.c.patch
1e85dd650a43ce96d489f77e37fd247186e4e1fe2d088be991c3ff8233c923408137d94b72788ebc2ddcac8873c6f326a92138790ab0281722c67cce400f76cc 0038-gcc-go-link-to-libucontext.patch
c93e8b0797c54483174b77f942e932eeb832c0784af9948ead7d8d95ca6392ffe3edee0740e835cf3d9310904718384e846a882284c21ccf26a055f8f940a874 0039-gcc-go-Disable-printing-of-unaccessible-ppc64-struct.patch
ff74dbf6a3e10f6abececdce57672e76cca8f8a92f67ed495ae2631265402fed74e9b567fc35ad16d2a62449ca4074b6868ebbc56c68b9cecf8e686018f26554 0040-opts-move-fpartial-inlining-from-O2-to-O3-or-higher.patch"
ff74dbf6a3e10f6abececdce57672e76cca8f8a92f67ed495ae2631265402fed74e9b567fc35ad16d2a62449ca4074b6868ebbc56c68b9cecf8e686018f26554 0040-opts-move-fpartial-inlining-from-O2-to-O3-or-higher.patch
eb2d8e432206250a4c4682305390883343e3c8285ac26701a910c1418b6ba5b3681612db846eb298fd47f0163772403340a348b719af751afe410742d6e92472 0041-dlang-support-musl-1.2.0.patch"

View file

@ -0,0 +1,50 @@
From ca0b670b87284afa341f1bef57f5614d88aecb4b Mon Sep 17 00:00:00 2001
From: Geod24 <pro.mathias.lang@gmail.com>
Date: Mon, 16 Nov 2020 18:40:46 +0100
Subject: [PATCH] CRuntime_Musl: Support v1.2.0 for 32 bits
As explained in the comment, `time_t` on Musl is now always 64 bits,
but used to be 32 bits on 32 bits systems.
---
libphobos/libdruntime/core/sys/posix/sys/types.d | 25 ++++++++++++++++++++++++-
1 files changed, 25 insertions(+), 1 deletion(-)
diff --git a/libphobos/libdruntime/core/sys/posix/sys/types.d b/libphobos/libdruntime/core/sys/posix/sys/types.d
index fcf39b5b..aacd0df0 100644
--- a/libphobos/libdruntime/core/sys/posix/sys/types.d
+++ b/libphobos/libdruntime/core/sys/posix/sys/types.d
@@ -140,10 +140,33 @@ else version (CRuntime_Musl)
alias int pid_t;
alias uint uid_t;
alias uint gid_t;
+
+ /**
+ * Musl versions before v1.2.0 (up to v1.1.24) had different
+ * definitions for `time_t` for 32 bits.
+ * This was changed to always be 64 bits in v1.2.0:
+ * https://musl.libc.org/time64.html
+ * This change was only for 32 bits system and
+ * didn't affect 64 bits systems
+ *
+ * To check previous definitions, `grep` for `time_t` in `arch/`,
+ * and the result should be (in v1.1.24):
+ * ---
+ * // arch/riscv64/bits/alltypes.h.in:20:TYPEDEF long time_t;
+ * // arch/s390x/bits/alltypes.h.in:17:TYPEDEF long time_t;
+ * // arch/sh/bits/alltypes.h.in:21:TYPEDEF long time_t;
+ * ---
+ *
+ * In order to be compatible with old versions of Musl,
+ * one can recompile druntime with `CRuntime_Musl_Pre_Time64`.
+ */
version (D_X32)
alias long time_t;
- else
+ else version (CRuntime_Musl_Pre_Time64)
alias c_long time_t;
+ else
+ alias long time_t;
+
alias c_long clock_t;
alias c_ulong pthread_t;
version (D_LP64)

View file

@ -31,7 +31,7 @@ pkgver=10.2.1_pre0
[ "$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"
@ -222,6 +222,7 @@ source="https://dev.alpinelinux.org/~nenolod/gcc-10.2.1.tar.xz
0038-gcc-go-link-to-libucontext.patch
0039-gcc-go-Disable-printing-of-unaccessible-ppc64-struct.patch
0040-opts-move-fpartial-inlining-from-O2-to-O3-or-higher.patch
0041-dlang-support-musl-1.2.0.patch
"
# gcc-4.8-build-args.patch
@ -698,4 +699,5 @@ f7582eaa9b6f421652b6705e28a22ba68210ea7e32d3c468e86b481a26bf391c86146e1a3ee4dda5
c7d48b3657d37fbaef0696c96f858819bbe5469d7387e99db890eb925703dbeaf11858fdf2ecd556ac85d766c739374d71c5509f5e2fba88eb427cf93e9fdcc0 0037-gcc-go-undef-SETCONTEXT_CLOBBERS_TLS-in-proc.c.patch
1e85dd650a43ce96d489f77e37fd247186e4e1fe2d088be991c3ff8233c923408137d94b72788ebc2ddcac8873c6f326a92138790ab0281722c67cce400f76cc 0038-gcc-go-link-to-libucontext.patch
c93e8b0797c54483174b77f942e932eeb832c0784af9948ead7d8d95ca6392ffe3edee0740e835cf3d9310904718384e846a882284c21ccf26a055f8f940a874 0039-gcc-go-Disable-printing-of-unaccessible-ppc64-struct.patch
ff74dbf6a3e10f6abececdce57672e76cca8f8a92f67ed495ae2631265402fed74e9b567fc35ad16d2a62449ca4074b6868ebbc56c68b9cecf8e686018f26554 0040-opts-move-fpartial-inlining-from-O2-to-O3-or-higher.patch"
ff74dbf6a3e10f6abececdce57672e76cca8f8a92f67ed495ae2631265402fed74e9b567fc35ad16d2a62449ca4074b6868ebbc56c68b9cecf8e686018f26554 0040-opts-move-fpartial-inlining-from-O2-to-O3-or-higher.patch
eb2d8e432206250a4c4682305390883343e3c8285ac26701a910c1418b6ba5b3681612db846eb298fd47f0163772403340a348b719af751afe410742d6e92472 0041-dlang-support-musl-1.2.0.patch"