From 45acb50ffc3d7c3e2cd711a857ab1bdbeba14897 Mon Sep 17 00:00:00 2001 From: Oliver Smith Date: Tue, 12 Mar 2024 23:41:23 +0100 Subject: [PATCH] cross/gcc-*: upgrade to 13.2.1_git20240309-r0 --- ...7-loongarch-disable-multilib-support.patch | 61 +++++++++++++++++++ cross/gcc-aarch64/APKBUILD | 18 ++++-- ...7-loongarch-disable-multilib-support.patch | 61 +++++++++++++++++++ cross/gcc-armhf/APKBUILD | 18 ++++-- ...7-loongarch-disable-multilib-support.patch | 61 +++++++++++++++++++ cross/gcc-armv7/APKBUILD | 18 ++++-- ...7-loongarch-disable-multilib-support.patch | 61 +++++++++++++++++++ cross/gcc-riscv64/APKBUILD | 18 ++++-- ...7-loongarch-disable-multilib-support.patch | 61 +++++++++++++++++++ cross/gcc-x86/APKBUILD | 18 ++++-- ...7-loongarch-disable-multilib-support.patch | 61 +++++++++++++++++++ cross/gcc-x86_64/APKBUILD | 18 ++++-- 12 files changed, 450 insertions(+), 24 deletions(-) create mode 100644 cross/gcc-aarch64/0037-loongarch-disable-multilib-support.patch create mode 100644 cross/gcc-armhf/0037-loongarch-disable-multilib-support.patch create mode 100644 cross/gcc-armv7/0037-loongarch-disable-multilib-support.patch create mode 100644 cross/gcc-riscv64/0037-loongarch-disable-multilib-support.patch create mode 100644 cross/gcc-x86/0037-loongarch-disable-multilib-support.patch create mode 100644 cross/gcc-x86_64/0037-loongarch-disable-multilib-support.patch diff --git a/cross/gcc-aarch64/0037-loongarch-disable-multilib-support.patch b/cross/gcc-aarch64/0037-loongarch-disable-multilib-support.patch new file mode 100644 index 000000000..37de3c729 --- /dev/null +++ b/cross/gcc-aarch64/0037-loongarch-disable-multilib-support.patch @@ -0,0 +1,61 @@ +From c4f484f465a32e796ae384aa3f90e79fa218b4e9 Mon Sep 17 00:00:00 2001 +From: Jingyun Hua +Date: Mon, 7 Aug 2023 15:25:58 +0800 +Subject: [PATCH] loongarch disable multilib support + +Signed-off-by: Jingyun Hua +--- + gcc/config/loongarch/linux.h | 10 +--------- + gcc/config/loongarch/t-linux | 18 +++--------------- + 3 files changed, 5 insertions(+), 25 deletions(-) + +diff --git a/gcc/config/loongarch/linux.h b/gcc/config/loongarch/linux.h +index 9059d2441..23eaff0cc 100644 +--- a/gcc/config/loongarch/linux.h ++++ b/gcc/config/loongarch/linux.h +@@ -22,15 +22,7 @@ along with GCC; see the file COPYING3. If not see + * can work in a multilib environment. */ + + #if defined(LA_DISABLE_MULTILIB) && defined(LA_DISABLE_MULTIARCH) +- +- #if DEFAULT_ABI_BASE == ABI_BASE_LP64D +- #define ABI_LIBDIR "lib64" +- #elif DEFAULT_ABI_BASE == ABI_BASE_LP64F +- #define ABI_LIBDIR "lib64/f32" +- #elif DEFAULT_ABI_BASE == ABI_BASE_LP64S +- #define ABI_LIBDIR "lib64/sf" +- #endif +- ++ #define ABI_LIBDIR "lib" + #endif + + #ifndef ABI_LIBDIR +diff --git a/gcc/config/loongarch/t-linux b/gcc/config/loongarch/t-linux +index e40da1792..f72c6e878 100644 +--- a/gcc/config/loongarch/t-linux ++++ b/gcc/config/loongarch/t-linux +@@ -36,18 +36,6 @@ else + endif + + # Don't define MULTILIB_OSDIRNAMES if multilib is disabled. +-ifeq ($(filter LA_DISABLE_MULTILIB,$(tm_defines)),) +- +- MULTILIB_OSDIRNAMES = \ +- mabi.lp64d=../lib64$\ +- $(call if_multiarch,:loongarch64-linux-gnu) +- +- MULTILIB_OSDIRNAMES += \ +- mabi.lp64f=../lib64/f32$\ +- $(call if_multiarch,:loongarch64-linux-gnuf32) +- +- MULTILIB_OSDIRNAMES += \ +- mabi.lp64s=../lib64/sf$\ +- $(call if_multiarch,:loongarch64-linux-gnusf) +- +-endif ++ MULTILIB_OSDIRNAMES = mabi.lp64d=../lib ++ MULTILIB_OSDIRNAMES += mabi.lp64f=../lib ++ MULTILIB_OSDIRNAMES += mabi.lp64s=../lib +-- +2.41.0 + diff --git a/cross/gcc-aarch64/APKBUILD b/cross/gcc-aarch64/APKBUILD index 9b3e1516b..86a579bcb 100644 --- a/cross/gcc-aarch64/APKBUILD +++ b/cross/gcc-aarch64/APKBUILD @@ -24,7 +24,7 @@ CBUILDROOT="/" _cross_configure="--disable-bootstrap --with-sysroot=/usr/$CTARGET" pkgname=gcc-aarch64 -pkgver=13.2.1_git20231014 +pkgver=13.2.1_git20240309 # i.e. 13.2.1, must match gcc/BASE-VER _pkgbase="${pkgver%%_git*}" # date component from snapshots @@ -34,7 +34,7 @@ _pkgsnap="${pkgver##*_git}" [ "$CHOST" != "$CTARGET" ] && _target="-$CTARGET_ARCH" || _target="" pkgname=gcc-aarch64 -pkgrel=1 +pkgrel=0 pkgdesc="Stage2 cross-compiler for aarch64" url="https://gcc.gnu.org" arch="x86_64" @@ -144,7 +144,7 @@ case "$CARCH" in # GDC hasn't been ported to PowerPC # See libphobos/configure.tgt in GCC sources for supported targets # riscv fails with: error: static assert "unimplemented" -ppc64le|riscv64) LANG_D=false ;; +ppc64le|riscv64|loongarch64) LANG_D=false ;; # GDC does currently not work on 32-bit musl architectures. # This is a known upstream issue. # See: https://github.com/dlang/druntime/pull/3383 @@ -156,6 +156,7 @@ case "$CTARGET_ARCH" in arm*) _libitm=false ;; mips*) _libitm=false ;; riscv64) _libitm=false ;; +loongarch64) _libitm=false ;; esac # Internal libffi fails to build on MIPS at the moment, need to @@ -163,6 +164,7 @@ esac # the internal libffi. case "$CTARGET_ARCH" in mips*) LANG_GO=false ;; +loongarch64) LANG_GO=false ;; esac # Fortran uses libquadmath if toolchain has __float128 @@ -187,6 +189,11 @@ riscv64) LANG_ADA=false;; esac +case "$CTARGET_ARCH" in +loongarch64) +LANG_ADA=false;; +esac + _languages=c if $LANG_CXX; then _languages="$_languages,c++" @@ -270,6 +277,7 @@ source="https://dev.alpinelinux.org/archive/gcc/${_pkgbase%%.*}-$_pkgsnap/gcc-${ 0033-libphobos-do-not-use-LFS64-symbols.patch 0034-libgo-fix-lfs64-use.patch 0036-PR110792-Early-clobber-issues-with-rot32di2-on-i386.patch + 0037-loongarch-disable-multilib-support.patch " # secfixes: @@ -329,6 +337,7 @@ build() { i586-*-*-*) _arch_configure="--with-arch=pentium-m --with-fpmath=sse --with-tune=generic --enable-cld";; s390x-*-*-*) _arch_configure="--with-arch=z196 --with-tune=zEC12 --with-zarch --with-long-double-128 --enable-decimal-float";; riscv64-*-*-*) _arch_configure="--with-arch=rv64gc --with-abi=lp64d --enable-autolink-libatomic";; + loongarch64-*-*-*) _arch_configure="--with-arch=loongarch64 --with-abi=lp64d";; esac case "$CTARGET_ARCH" in @@ -784,7 +793,7 @@ gdb() { } sha512sums=" -406673a62deba759fc0532a801b3f57cabf894ea328587b23e62a707ba5767b0e3ae9b3f86bf3c6fcf13e8a3c30bc470e6598b625c8231efb629034211c162c2 gcc-13-20231014.tar.xz +2d1e0374ebdee526f0549319fc9c364968c52a0d4aaa16759f00453cb083fe58d8f463c47d97f3bb74a0a92e251989eb75a50ee5800b4569978c72d25446b44e gcc-13-20240309.tar.xz 1ecffba1b07d60e1b4422302b032bbea918b674c8e12b30aa6965b544d700ce86b61e9f7b8d402c6caf59257f491a394dd0912f0948565d6eae9335ee54f3b35 0001-posix_memalign.patch 163f282455b6a4df33f011bcd8b0440566ba0ffaeeab30d8ac52d39948980a56881ca0eff60687129d59556389a58b9d64e7768750bd70b1fe0fedbc9fc30dc2 0002-gcc-poison-system-directories.patch 3f24bb6a50d3c45b71ea05590e32fe3e69b91377ab185352891d5035c76ed193117c6d0b314a4c364bcf136b9a9dd5c926d6c7c30ab436976c121ebfea8d3ddd 0003-specs-turn-on-Wl-z-now-by-default.patch @@ -820,4 +829,5 @@ b325035cb7122d79c6b42ca6d3fc9e02319ed2f7cddb0639dff25d2798d2ce63812cd623462cdf95 c474f34e6f9a4239d486a65141a133dbe8ce91427d502a57a9fd6eb403478a2b5715ba74f24c1cc0761e16eec77ba2c1ca921fb7d7bc1e040fc3703fc9559e75 0033-libphobos-do-not-use-LFS64-symbols.patch c4482ffc36e7894b2140800159f4cbc9a3e9011e43a69b69f4fa92d5a11e2ee645c7e21df4423dd1e0636e8890849a5719647bfbdf84f951d638f8f488cb718c 0034-libgo-fix-lfs64-use.patch cc1e10ac6e72db816f09325e301103109cc212a6f3de3ce0b9b038d149233c467319d203941695dbf3d7b9e2dcbbcd17609cdb056e831fcc323cd592423882d8 0036-PR110792-Early-clobber-issues-with-rot32di2-on-i386.patch +d834f5f95f4ebe70ec0af0748c8632c99a4f57b69dc14db1a38becdfcb03406b32febf39f772f37bd145538147099fa7433edce845e14ee77cd8f38fd9774fc1 0037-loongarch-disable-multilib-support.patch " diff --git a/cross/gcc-armhf/0037-loongarch-disable-multilib-support.patch b/cross/gcc-armhf/0037-loongarch-disable-multilib-support.patch new file mode 100644 index 000000000..37de3c729 --- /dev/null +++ b/cross/gcc-armhf/0037-loongarch-disable-multilib-support.patch @@ -0,0 +1,61 @@ +From c4f484f465a32e796ae384aa3f90e79fa218b4e9 Mon Sep 17 00:00:00 2001 +From: Jingyun Hua +Date: Mon, 7 Aug 2023 15:25:58 +0800 +Subject: [PATCH] loongarch disable multilib support + +Signed-off-by: Jingyun Hua +--- + gcc/config/loongarch/linux.h | 10 +--------- + gcc/config/loongarch/t-linux | 18 +++--------------- + 3 files changed, 5 insertions(+), 25 deletions(-) + +diff --git a/gcc/config/loongarch/linux.h b/gcc/config/loongarch/linux.h +index 9059d2441..23eaff0cc 100644 +--- a/gcc/config/loongarch/linux.h ++++ b/gcc/config/loongarch/linux.h +@@ -22,15 +22,7 @@ along with GCC; see the file COPYING3. If not see + * can work in a multilib environment. */ + + #if defined(LA_DISABLE_MULTILIB) && defined(LA_DISABLE_MULTIARCH) +- +- #if DEFAULT_ABI_BASE == ABI_BASE_LP64D +- #define ABI_LIBDIR "lib64" +- #elif DEFAULT_ABI_BASE == ABI_BASE_LP64F +- #define ABI_LIBDIR "lib64/f32" +- #elif DEFAULT_ABI_BASE == ABI_BASE_LP64S +- #define ABI_LIBDIR "lib64/sf" +- #endif +- ++ #define ABI_LIBDIR "lib" + #endif + + #ifndef ABI_LIBDIR +diff --git a/gcc/config/loongarch/t-linux b/gcc/config/loongarch/t-linux +index e40da1792..f72c6e878 100644 +--- a/gcc/config/loongarch/t-linux ++++ b/gcc/config/loongarch/t-linux +@@ -36,18 +36,6 @@ else + endif + + # Don't define MULTILIB_OSDIRNAMES if multilib is disabled. +-ifeq ($(filter LA_DISABLE_MULTILIB,$(tm_defines)),) +- +- MULTILIB_OSDIRNAMES = \ +- mabi.lp64d=../lib64$\ +- $(call if_multiarch,:loongarch64-linux-gnu) +- +- MULTILIB_OSDIRNAMES += \ +- mabi.lp64f=../lib64/f32$\ +- $(call if_multiarch,:loongarch64-linux-gnuf32) +- +- MULTILIB_OSDIRNAMES += \ +- mabi.lp64s=../lib64/sf$\ +- $(call if_multiarch,:loongarch64-linux-gnusf) +- +-endif ++ MULTILIB_OSDIRNAMES = mabi.lp64d=../lib ++ MULTILIB_OSDIRNAMES += mabi.lp64f=../lib ++ MULTILIB_OSDIRNAMES += mabi.lp64s=../lib +-- +2.41.0 + diff --git a/cross/gcc-armhf/APKBUILD b/cross/gcc-armhf/APKBUILD index 86711c6eb..f24cbd912 100644 --- a/cross/gcc-armhf/APKBUILD +++ b/cross/gcc-armhf/APKBUILD @@ -24,7 +24,7 @@ CBUILDROOT="/" _cross_configure="--disable-bootstrap --with-sysroot=/usr/$CTARGET" pkgname=gcc-armhf -pkgver=13.2.1_git20231014 +pkgver=13.2.1_git20240309 # i.e. 13.2.1, must match gcc/BASE-VER _pkgbase="${pkgver%%_git*}" # date component from snapshots @@ -34,7 +34,7 @@ _pkgsnap="${pkgver##*_git}" [ "$CHOST" != "$CTARGET" ] && _target="-$CTARGET_ARCH" || _target="" pkgname=gcc-armhf -pkgrel=1 +pkgrel=0 pkgdesc="Stage2 cross-compiler for armhf" url="https://gcc.gnu.org" arch="x86_64" @@ -144,7 +144,7 @@ case "$CARCH" in # GDC hasn't been ported to PowerPC # See libphobos/configure.tgt in GCC sources for supported targets # riscv fails with: error: static assert "unimplemented" -ppc64le|riscv64) LANG_D=false ;; +ppc64le|riscv64|loongarch64) LANG_D=false ;; # GDC does currently not work on 32-bit musl architectures. # This is a known upstream issue. # See: https://github.com/dlang/druntime/pull/3383 @@ -156,6 +156,7 @@ case "$CTARGET_ARCH" in arm*) _libitm=false ;; mips*) _libitm=false ;; riscv64) _libitm=false ;; +loongarch64) _libitm=false ;; esac # Internal libffi fails to build on MIPS at the moment, need to @@ -163,6 +164,7 @@ esac # the internal libffi. case "$CTARGET_ARCH" in mips*) LANG_GO=false ;; +loongarch64) LANG_GO=false ;; esac # Fortran uses libquadmath if toolchain has __float128 @@ -187,6 +189,11 @@ riscv64) LANG_ADA=false;; esac +case "$CTARGET_ARCH" in +loongarch64) +LANG_ADA=false;; +esac + _languages=c if $LANG_CXX; then _languages="$_languages,c++" @@ -270,6 +277,7 @@ source="https://dev.alpinelinux.org/archive/gcc/${_pkgbase%%.*}-$_pkgsnap/gcc-${ 0033-libphobos-do-not-use-LFS64-symbols.patch 0034-libgo-fix-lfs64-use.patch 0036-PR110792-Early-clobber-issues-with-rot32di2-on-i386.patch + 0037-loongarch-disable-multilib-support.patch " # secfixes: @@ -329,6 +337,7 @@ build() { i586-*-*-*) _arch_configure="--with-arch=pentium-m --with-fpmath=sse --with-tune=generic --enable-cld";; s390x-*-*-*) _arch_configure="--with-arch=z196 --with-tune=zEC12 --with-zarch --with-long-double-128 --enable-decimal-float";; riscv64-*-*-*) _arch_configure="--with-arch=rv64gc --with-abi=lp64d --enable-autolink-libatomic";; + loongarch64-*-*-*) _arch_configure="--with-arch=loongarch64 --with-abi=lp64d";; esac case "$CTARGET_ARCH" in @@ -784,7 +793,7 @@ gdb() { } sha512sums=" -406673a62deba759fc0532a801b3f57cabf894ea328587b23e62a707ba5767b0e3ae9b3f86bf3c6fcf13e8a3c30bc470e6598b625c8231efb629034211c162c2 gcc-13-20231014.tar.xz +2d1e0374ebdee526f0549319fc9c364968c52a0d4aaa16759f00453cb083fe58d8f463c47d97f3bb74a0a92e251989eb75a50ee5800b4569978c72d25446b44e gcc-13-20240309.tar.xz 1ecffba1b07d60e1b4422302b032bbea918b674c8e12b30aa6965b544d700ce86b61e9f7b8d402c6caf59257f491a394dd0912f0948565d6eae9335ee54f3b35 0001-posix_memalign.patch 163f282455b6a4df33f011bcd8b0440566ba0ffaeeab30d8ac52d39948980a56881ca0eff60687129d59556389a58b9d64e7768750bd70b1fe0fedbc9fc30dc2 0002-gcc-poison-system-directories.patch 3f24bb6a50d3c45b71ea05590e32fe3e69b91377ab185352891d5035c76ed193117c6d0b314a4c364bcf136b9a9dd5c926d6c7c30ab436976c121ebfea8d3ddd 0003-specs-turn-on-Wl-z-now-by-default.patch @@ -820,4 +829,5 @@ b325035cb7122d79c6b42ca6d3fc9e02319ed2f7cddb0639dff25d2798d2ce63812cd623462cdf95 c474f34e6f9a4239d486a65141a133dbe8ce91427d502a57a9fd6eb403478a2b5715ba74f24c1cc0761e16eec77ba2c1ca921fb7d7bc1e040fc3703fc9559e75 0033-libphobos-do-not-use-LFS64-symbols.patch c4482ffc36e7894b2140800159f4cbc9a3e9011e43a69b69f4fa92d5a11e2ee645c7e21df4423dd1e0636e8890849a5719647bfbdf84f951d638f8f488cb718c 0034-libgo-fix-lfs64-use.patch cc1e10ac6e72db816f09325e301103109cc212a6f3de3ce0b9b038d149233c467319d203941695dbf3d7b9e2dcbbcd17609cdb056e831fcc323cd592423882d8 0036-PR110792-Early-clobber-issues-with-rot32di2-on-i386.patch +d834f5f95f4ebe70ec0af0748c8632c99a4f57b69dc14db1a38becdfcb03406b32febf39f772f37bd145538147099fa7433edce845e14ee77cd8f38fd9774fc1 0037-loongarch-disable-multilib-support.patch " diff --git a/cross/gcc-armv7/0037-loongarch-disable-multilib-support.patch b/cross/gcc-armv7/0037-loongarch-disable-multilib-support.patch new file mode 100644 index 000000000..37de3c729 --- /dev/null +++ b/cross/gcc-armv7/0037-loongarch-disable-multilib-support.patch @@ -0,0 +1,61 @@ +From c4f484f465a32e796ae384aa3f90e79fa218b4e9 Mon Sep 17 00:00:00 2001 +From: Jingyun Hua +Date: Mon, 7 Aug 2023 15:25:58 +0800 +Subject: [PATCH] loongarch disable multilib support + +Signed-off-by: Jingyun Hua +--- + gcc/config/loongarch/linux.h | 10 +--------- + gcc/config/loongarch/t-linux | 18 +++--------------- + 3 files changed, 5 insertions(+), 25 deletions(-) + +diff --git a/gcc/config/loongarch/linux.h b/gcc/config/loongarch/linux.h +index 9059d2441..23eaff0cc 100644 +--- a/gcc/config/loongarch/linux.h ++++ b/gcc/config/loongarch/linux.h +@@ -22,15 +22,7 @@ along with GCC; see the file COPYING3. If not see + * can work in a multilib environment. */ + + #if defined(LA_DISABLE_MULTILIB) && defined(LA_DISABLE_MULTIARCH) +- +- #if DEFAULT_ABI_BASE == ABI_BASE_LP64D +- #define ABI_LIBDIR "lib64" +- #elif DEFAULT_ABI_BASE == ABI_BASE_LP64F +- #define ABI_LIBDIR "lib64/f32" +- #elif DEFAULT_ABI_BASE == ABI_BASE_LP64S +- #define ABI_LIBDIR "lib64/sf" +- #endif +- ++ #define ABI_LIBDIR "lib" + #endif + + #ifndef ABI_LIBDIR +diff --git a/gcc/config/loongarch/t-linux b/gcc/config/loongarch/t-linux +index e40da1792..f72c6e878 100644 +--- a/gcc/config/loongarch/t-linux ++++ b/gcc/config/loongarch/t-linux +@@ -36,18 +36,6 @@ else + endif + + # Don't define MULTILIB_OSDIRNAMES if multilib is disabled. +-ifeq ($(filter LA_DISABLE_MULTILIB,$(tm_defines)),) +- +- MULTILIB_OSDIRNAMES = \ +- mabi.lp64d=../lib64$\ +- $(call if_multiarch,:loongarch64-linux-gnu) +- +- MULTILIB_OSDIRNAMES += \ +- mabi.lp64f=../lib64/f32$\ +- $(call if_multiarch,:loongarch64-linux-gnuf32) +- +- MULTILIB_OSDIRNAMES += \ +- mabi.lp64s=../lib64/sf$\ +- $(call if_multiarch,:loongarch64-linux-gnusf) +- +-endif ++ MULTILIB_OSDIRNAMES = mabi.lp64d=../lib ++ MULTILIB_OSDIRNAMES += mabi.lp64f=../lib ++ MULTILIB_OSDIRNAMES += mabi.lp64s=../lib +-- +2.41.0 + diff --git a/cross/gcc-armv7/APKBUILD b/cross/gcc-armv7/APKBUILD index cc2491b92..82f875655 100644 --- a/cross/gcc-armv7/APKBUILD +++ b/cross/gcc-armv7/APKBUILD @@ -24,7 +24,7 @@ CBUILDROOT="/" _cross_configure="--disable-bootstrap --with-sysroot=/usr/$CTARGET" pkgname=gcc-armv7 -pkgver=13.2.1_git20231014 +pkgver=13.2.1_git20240309 # i.e. 13.2.1, must match gcc/BASE-VER _pkgbase="${pkgver%%_git*}" # date component from snapshots @@ -34,7 +34,7 @@ _pkgsnap="${pkgver##*_git}" [ "$CHOST" != "$CTARGET" ] && _target="-$CTARGET_ARCH" || _target="" pkgname=gcc-armv7 -pkgrel=1 +pkgrel=0 pkgdesc="Stage2 cross-compiler for armv7" url="https://gcc.gnu.org" arch="x86_64" @@ -144,7 +144,7 @@ case "$CARCH" in # GDC hasn't been ported to PowerPC # See libphobos/configure.tgt in GCC sources for supported targets # riscv fails with: error: static assert "unimplemented" -ppc64le|riscv64) LANG_D=false ;; +ppc64le|riscv64|loongarch64) LANG_D=false ;; # GDC does currently not work on 32-bit musl architectures. # This is a known upstream issue. # See: https://github.com/dlang/druntime/pull/3383 @@ -156,6 +156,7 @@ case "$CTARGET_ARCH" in arm*) _libitm=false ;; mips*) _libitm=false ;; riscv64) _libitm=false ;; +loongarch64) _libitm=false ;; esac # Internal libffi fails to build on MIPS at the moment, need to @@ -163,6 +164,7 @@ esac # the internal libffi. case "$CTARGET_ARCH" in mips*) LANG_GO=false ;; +loongarch64) LANG_GO=false ;; esac # Fortran uses libquadmath if toolchain has __float128 @@ -187,6 +189,11 @@ riscv64) LANG_ADA=false;; esac +case "$CTARGET_ARCH" in +loongarch64) +LANG_ADA=false;; +esac + _languages=c if $LANG_CXX; then _languages="$_languages,c++" @@ -270,6 +277,7 @@ source="https://dev.alpinelinux.org/archive/gcc/${_pkgbase%%.*}-$_pkgsnap/gcc-${ 0033-libphobos-do-not-use-LFS64-symbols.patch 0034-libgo-fix-lfs64-use.patch 0036-PR110792-Early-clobber-issues-with-rot32di2-on-i386.patch + 0037-loongarch-disable-multilib-support.patch " # secfixes: @@ -329,6 +337,7 @@ build() { i586-*-*-*) _arch_configure="--with-arch=pentium-m --with-fpmath=sse --with-tune=generic --enable-cld";; s390x-*-*-*) _arch_configure="--with-arch=z196 --with-tune=zEC12 --with-zarch --with-long-double-128 --enable-decimal-float";; riscv64-*-*-*) _arch_configure="--with-arch=rv64gc --with-abi=lp64d --enable-autolink-libatomic";; + loongarch64-*-*-*) _arch_configure="--with-arch=loongarch64 --with-abi=lp64d";; esac case "$CTARGET_ARCH" in @@ -784,7 +793,7 @@ gdb() { } sha512sums=" -406673a62deba759fc0532a801b3f57cabf894ea328587b23e62a707ba5767b0e3ae9b3f86bf3c6fcf13e8a3c30bc470e6598b625c8231efb629034211c162c2 gcc-13-20231014.tar.xz +2d1e0374ebdee526f0549319fc9c364968c52a0d4aaa16759f00453cb083fe58d8f463c47d97f3bb74a0a92e251989eb75a50ee5800b4569978c72d25446b44e gcc-13-20240309.tar.xz 1ecffba1b07d60e1b4422302b032bbea918b674c8e12b30aa6965b544d700ce86b61e9f7b8d402c6caf59257f491a394dd0912f0948565d6eae9335ee54f3b35 0001-posix_memalign.patch 163f282455b6a4df33f011bcd8b0440566ba0ffaeeab30d8ac52d39948980a56881ca0eff60687129d59556389a58b9d64e7768750bd70b1fe0fedbc9fc30dc2 0002-gcc-poison-system-directories.patch 3f24bb6a50d3c45b71ea05590e32fe3e69b91377ab185352891d5035c76ed193117c6d0b314a4c364bcf136b9a9dd5c926d6c7c30ab436976c121ebfea8d3ddd 0003-specs-turn-on-Wl-z-now-by-default.patch @@ -820,4 +829,5 @@ b325035cb7122d79c6b42ca6d3fc9e02319ed2f7cddb0639dff25d2798d2ce63812cd623462cdf95 c474f34e6f9a4239d486a65141a133dbe8ce91427d502a57a9fd6eb403478a2b5715ba74f24c1cc0761e16eec77ba2c1ca921fb7d7bc1e040fc3703fc9559e75 0033-libphobos-do-not-use-LFS64-symbols.patch c4482ffc36e7894b2140800159f4cbc9a3e9011e43a69b69f4fa92d5a11e2ee645c7e21df4423dd1e0636e8890849a5719647bfbdf84f951d638f8f488cb718c 0034-libgo-fix-lfs64-use.patch cc1e10ac6e72db816f09325e301103109cc212a6f3de3ce0b9b038d149233c467319d203941695dbf3d7b9e2dcbbcd17609cdb056e831fcc323cd592423882d8 0036-PR110792-Early-clobber-issues-with-rot32di2-on-i386.patch +d834f5f95f4ebe70ec0af0748c8632c99a4f57b69dc14db1a38becdfcb03406b32febf39f772f37bd145538147099fa7433edce845e14ee77cd8f38fd9774fc1 0037-loongarch-disable-multilib-support.patch " diff --git a/cross/gcc-riscv64/0037-loongarch-disable-multilib-support.patch b/cross/gcc-riscv64/0037-loongarch-disable-multilib-support.patch new file mode 100644 index 000000000..37de3c729 --- /dev/null +++ b/cross/gcc-riscv64/0037-loongarch-disable-multilib-support.patch @@ -0,0 +1,61 @@ +From c4f484f465a32e796ae384aa3f90e79fa218b4e9 Mon Sep 17 00:00:00 2001 +From: Jingyun Hua +Date: Mon, 7 Aug 2023 15:25:58 +0800 +Subject: [PATCH] loongarch disable multilib support + +Signed-off-by: Jingyun Hua +--- + gcc/config/loongarch/linux.h | 10 +--------- + gcc/config/loongarch/t-linux | 18 +++--------------- + 3 files changed, 5 insertions(+), 25 deletions(-) + +diff --git a/gcc/config/loongarch/linux.h b/gcc/config/loongarch/linux.h +index 9059d2441..23eaff0cc 100644 +--- a/gcc/config/loongarch/linux.h ++++ b/gcc/config/loongarch/linux.h +@@ -22,15 +22,7 @@ along with GCC; see the file COPYING3. If not see + * can work in a multilib environment. */ + + #if defined(LA_DISABLE_MULTILIB) && defined(LA_DISABLE_MULTIARCH) +- +- #if DEFAULT_ABI_BASE == ABI_BASE_LP64D +- #define ABI_LIBDIR "lib64" +- #elif DEFAULT_ABI_BASE == ABI_BASE_LP64F +- #define ABI_LIBDIR "lib64/f32" +- #elif DEFAULT_ABI_BASE == ABI_BASE_LP64S +- #define ABI_LIBDIR "lib64/sf" +- #endif +- ++ #define ABI_LIBDIR "lib" + #endif + + #ifndef ABI_LIBDIR +diff --git a/gcc/config/loongarch/t-linux b/gcc/config/loongarch/t-linux +index e40da1792..f72c6e878 100644 +--- a/gcc/config/loongarch/t-linux ++++ b/gcc/config/loongarch/t-linux +@@ -36,18 +36,6 @@ else + endif + + # Don't define MULTILIB_OSDIRNAMES if multilib is disabled. +-ifeq ($(filter LA_DISABLE_MULTILIB,$(tm_defines)),) +- +- MULTILIB_OSDIRNAMES = \ +- mabi.lp64d=../lib64$\ +- $(call if_multiarch,:loongarch64-linux-gnu) +- +- MULTILIB_OSDIRNAMES += \ +- mabi.lp64f=../lib64/f32$\ +- $(call if_multiarch,:loongarch64-linux-gnuf32) +- +- MULTILIB_OSDIRNAMES += \ +- mabi.lp64s=../lib64/sf$\ +- $(call if_multiarch,:loongarch64-linux-gnusf) +- +-endif ++ MULTILIB_OSDIRNAMES = mabi.lp64d=../lib ++ MULTILIB_OSDIRNAMES += mabi.lp64f=../lib ++ MULTILIB_OSDIRNAMES += mabi.lp64s=../lib +-- +2.41.0 + diff --git a/cross/gcc-riscv64/APKBUILD b/cross/gcc-riscv64/APKBUILD index c73a8016b..3d8036ea3 100644 --- a/cross/gcc-riscv64/APKBUILD +++ b/cross/gcc-riscv64/APKBUILD @@ -24,7 +24,7 @@ CBUILDROOT="/" _cross_configure="--disable-bootstrap --with-sysroot=/usr/$CTARGET" pkgname=gcc-riscv64 -pkgver=13.2.1_git20231014 +pkgver=13.2.1_git20240309 # i.e. 13.2.1, must match gcc/BASE-VER _pkgbase="${pkgver%%_git*}" # date component from snapshots @@ -34,7 +34,7 @@ _pkgsnap="${pkgver##*_git}" [ "$CHOST" != "$CTARGET" ] && _target="-$CTARGET_ARCH" || _target="" pkgname=gcc-riscv64 -pkgrel=1 +pkgrel=0 pkgdesc="Stage2 cross-compiler for riscv64" url="https://gcc.gnu.org" arch="x86_64" @@ -144,7 +144,7 @@ case "$CARCH" in # GDC hasn't been ported to PowerPC # See libphobos/configure.tgt in GCC sources for supported targets # riscv fails with: error: static assert "unimplemented" -ppc64le|riscv64) LANG_D=false ;; +ppc64le|riscv64|loongarch64) LANG_D=false ;; # GDC does currently not work on 32-bit musl architectures. # This is a known upstream issue. # See: https://github.com/dlang/druntime/pull/3383 @@ -156,6 +156,7 @@ case "$CTARGET_ARCH" in arm*) _libitm=false ;; mips*) _libitm=false ;; riscv64) _libitm=false ;; +loongarch64) _libitm=false ;; esac # Internal libffi fails to build on MIPS at the moment, need to @@ -163,6 +164,7 @@ esac # the internal libffi. case "$CTARGET_ARCH" in mips*) LANG_GO=false ;; +loongarch64) LANG_GO=false ;; esac # Fortran uses libquadmath if toolchain has __float128 @@ -187,6 +189,11 @@ riscv64) LANG_ADA=false;; esac +case "$CTARGET_ARCH" in +loongarch64) +LANG_ADA=false;; +esac + _languages=c if $LANG_CXX; then _languages="$_languages,c++" @@ -270,6 +277,7 @@ source="https://dev.alpinelinux.org/archive/gcc/${_pkgbase%%.*}-$_pkgsnap/gcc-${ 0033-libphobos-do-not-use-LFS64-symbols.patch 0034-libgo-fix-lfs64-use.patch 0036-PR110792-Early-clobber-issues-with-rot32di2-on-i386.patch + 0037-loongarch-disable-multilib-support.patch " # secfixes: @@ -329,6 +337,7 @@ build() { i586-*-*-*) _arch_configure="--with-arch=pentium-m --with-fpmath=sse --with-tune=generic --enable-cld";; s390x-*-*-*) _arch_configure="--with-arch=z196 --with-tune=zEC12 --with-zarch --with-long-double-128 --enable-decimal-float";; riscv64-*-*-*) _arch_configure="--with-arch=rv64gc --with-abi=lp64d --enable-autolink-libatomic";; + loongarch64-*-*-*) _arch_configure="--with-arch=loongarch64 --with-abi=lp64d";; esac case "$CTARGET_ARCH" in @@ -784,7 +793,7 @@ gdb() { } sha512sums=" -406673a62deba759fc0532a801b3f57cabf894ea328587b23e62a707ba5767b0e3ae9b3f86bf3c6fcf13e8a3c30bc470e6598b625c8231efb629034211c162c2 gcc-13-20231014.tar.xz +2d1e0374ebdee526f0549319fc9c364968c52a0d4aaa16759f00453cb083fe58d8f463c47d97f3bb74a0a92e251989eb75a50ee5800b4569978c72d25446b44e gcc-13-20240309.tar.xz 1ecffba1b07d60e1b4422302b032bbea918b674c8e12b30aa6965b544d700ce86b61e9f7b8d402c6caf59257f491a394dd0912f0948565d6eae9335ee54f3b35 0001-posix_memalign.patch 163f282455b6a4df33f011bcd8b0440566ba0ffaeeab30d8ac52d39948980a56881ca0eff60687129d59556389a58b9d64e7768750bd70b1fe0fedbc9fc30dc2 0002-gcc-poison-system-directories.patch 3f24bb6a50d3c45b71ea05590e32fe3e69b91377ab185352891d5035c76ed193117c6d0b314a4c364bcf136b9a9dd5c926d6c7c30ab436976c121ebfea8d3ddd 0003-specs-turn-on-Wl-z-now-by-default.patch @@ -820,4 +829,5 @@ b325035cb7122d79c6b42ca6d3fc9e02319ed2f7cddb0639dff25d2798d2ce63812cd623462cdf95 c474f34e6f9a4239d486a65141a133dbe8ce91427d502a57a9fd6eb403478a2b5715ba74f24c1cc0761e16eec77ba2c1ca921fb7d7bc1e040fc3703fc9559e75 0033-libphobos-do-not-use-LFS64-symbols.patch c4482ffc36e7894b2140800159f4cbc9a3e9011e43a69b69f4fa92d5a11e2ee645c7e21df4423dd1e0636e8890849a5719647bfbdf84f951d638f8f488cb718c 0034-libgo-fix-lfs64-use.patch cc1e10ac6e72db816f09325e301103109cc212a6f3de3ce0b9b038d149233c467319d203941695dbf3d7b9e2dcbbcd17609cdb056e831fcc323cd592423882d8 0036-PR110792-Early-clobber-issues-with-rot32di2-on-i386.patch +d834f5f95f4ebe70ec0af0748c8632c99a4f57b69dc14db1a38becdfcb03406b32febf39f772f37bd145538147099fa7433edce845e14ee77cd8f38fd9774fc1 0037-loongarch-disable-multilib-support.patch " diff --git a/cross/gcc-x86/0037-loongarch-disable-multilib-support.patch b/cross/gcc-x86/0037-loongarch-disable-multilib-support.patch new file mode 100644 index 000000000..37de3c729 --- /dev/null +++ b/cross/gcc-x86/0037-loongarch-disable-multilib-support.patch @@ -0,0 +1,61 @@ +From c4f484f465a32e796ae384aa3f90e79fa218b4e9 Mon Sep 17 00:00:00 2001 +From: Jingyun Hua +Date: Mon, 7 Aug 2023 15:25:58 +0800 +Subject: [PATCH] loongarch disable multilib support + +Signed-off-by: Jingyun Hua +--- + gcc/config/loongarch/linux.h | 10 +--------- + gcc/config/loongarch/t-linux | 18 +++--------------- + 3 files changed, 5 insertions(+), 25 deletions(-) + +diff --git a/gcc/config/loongarch/linux.h b/gcc/config/loongarch/linux.h +index 9059d2441..23eaff0cc 100644 +--- a/gcc/config/loongarch/linux.h ++++ b/gcc/config/loongarch/linux.h +@@ -22,15 +22,7 @@ along with GCC; see the file COPYING3. If not see + * can work in a multilib environment. */ + + #if defined(LA_DISABLE_MULTILIB) && defined(LA_DISABLE_MULTIARCH) +- +- #if DEFAULT_ABI_BASE == ABI_BASE_LP64D +- #define ABI_LIBDIR "lib64" +- #elif DEFAULT_ABI_BASE == ABI_BASE_LP64F +- #define ABI_LIBDIR "lib64/f32" +- #elif DEFAULT_ABI_BASE == ABI_BASE_LP64S +- #define ABI_LIBDIR "lib64/sf" +- #endif +- ++ #define ABI_LIBDIR "lib" + #endif + + #ifndef ABI_LIBDIR +diff --git a/gcc/config/loongarch/t-linux b/gcc/config/loongarch/t-linux +index e40da1792..f72c6e878 100644 +--- a/gcc/config/loongarch/t-linux ++++ b/gcc/config/loongarch/t-linux +@@ -36,18 +36,6 @@ else + endif + + # Don't define MULTILIB_OSDIRNAMES if multilib is disabled. +-ifeq ($(filter LA_DISABLE_MULTILIB,$(tm_defines)),) +- +- MULTILIB_OSDIRNAMES = \ +- mabi.lp64d=../lib64$\ +- $(call if_multiarch,:loongarch64-linux-gnu) +- +- MULTILIB_OSDIRNAMES += \ +- mabi.lp64f=../lib64/f32$\ +- $(call if_multiarch,:loongarch64-linux-gnuf32) +- +- MULTILIB_OSDIRNAMES += \ +- mabi.lp64s=../lib64/sf$\ +- $(call if_multiarch,:loongarch64-linux-gnusf) +- +-endif ++ MULTILIB_OSDIRNAMES = mabi.lp64d=../lib ++ MULTILIB_OSDIRNAMES += mabi.lp64f=../lib ++ MULTILIB_OSDIRNAMES += mabi.lp64s=../lib +-- +2.41.0 + diff --git a/cross/gcc-x86/APKBUILD b/cross/gcc-x86/APKBUILD index 803e4f35e..5c09f6f7f 100644 --- a/cross/gcc-x86/APKBUILD +++ b/cross/gcc-x86/APKBUILD @@ -24,7 +24,7 @@ CBUILDROOT="/" _cross_configure="--disable-bootstrap --with-sysroot=/usr/$CTARGET" pkgname=gcc-x86 -pkgver=13.2.1_git20231014 +pkgver=13.2.1_git20240309 # i.e. 13.2.1, must match gcc/BASE-VER _pkgbase="${pkgver%%_git*}" # date component from snapshots @@ -34,7 +34,7 @@ _pkgsnap="${pkgver##*_git}" [ "$CHOST" != "$CTARGET" ] && _target="-$CTARGET_ARCH" || _target="" pkgname=gcc-x86 -pkgrel=1 +pkgrel=0 pkgdesc="Stage2 cross-compiler for x86" url="https://gcc.gnu.org" arch="x86_64" @@ -144,7 +144,7 @@ case "$CARCH" in # GDC hasn't been ported to PowerPC # See libphobos/configure.tgt in GCC sources for supported targets # riscv fails with: error: static assert "unimplemented" -ppc64le|riscv64) LANG_D=false ;; +ppc64le|riscv64|loongarch64) LANG_D=false ;; # GDC does currently not work on 32-bit musl architectures. # This is a known upstream issue. # See: https://github.com/dlang/druntime/pull/3383 @@ -156,6 +156,7 @@ case "$CTARGET_ARCH" in arm*) _libitm=false ;; mips*) _libitm=false ;; riscv64) _libitm=false ;; +loongarch64) _libitm=false ;; esac # Internal libffi fails to build on MIPS at the moment, need to @@ -163,6 +164,7 @@ esac # the internal libffi. case "$CTARGET_ARCH" in mips*) LANG_GO=false ;; +loongarch64) LANG_GO=false ;; esac # Fortran uses libquadmath if toolchain has __float128 @@ -187,6 +189,11 @@ riscv64) LANG_ADA=false;; esac +case "$CTARGET_ARCH" in +loongarch64) +LANG_ADA=false;; +esac + _languages=c if $LANG_CXX; then _languages="$_languages,c++" @@ -270,6 +277,7 @@ source="https://dev.alpinelinux.org/archive/gcc/${_pkgbase%%.*}-$_pkgsnap/gcc-${ 0033-libphobos-do-not-use-LFS64-symbols.patch 0034-libgo-fix-lfs64-use.patch 0036-PR110792-Early-clobber-issues-with-rot32di2-on-i386.patch + 0037-loongarch-disable-multilib-support.patch " # secfixes: @@ -329,6 +337,7 @@ build() { i586-*-*-*) _arch_configure="--with-arch=pentium-m --with-fpmath=sse --with-tune=generic --enable-cld";; s390x-*-*-*) _arch_configure="--with-arch=z196 --with-tune=zEC12 --with-zarch --with-long-double-128 --enable-decimal-float";; riscv64-*-*-*) _arch_configure="--with-arch=rv64gc --with-abi=lp64d --enable-autolink-libatomic";; + loongarch64-*-*-*) _arch_configure="--with-arch=loongarch64 --with-abi=lp64d";; esac case "$CTARGET_ARCH" in @@ -784,7 +793,7 @@ gdb() { } sha512sums=" -406673a62deba759fc0532a801b3f57cabf894ea328587b23e62a707ba5767b0e3ae9b3f86bf3c6fcf13e8a3c30bc470e6598b625c8231efb629034211c162c2 gcc-13-20231014.tar.xz +2d1e0374ebdee526f0549319fc9c364968c52a0d4aaa16759f00453cb083fe58d8f463c47d97f3bb74a0a92e251989eb75a50ee5800b4569978c72d25446b44e gcc-13-20240309.tar.xz 1ecffba1b07d60e1b4422302b032bbea918b674c8e12b30aa6965b544d700ce86b61e9f7b8d402c6caf59257f491a394dd0912f0948565d6eae9335ee54f3b35 0001-posix_memalign.patch 163f282455b6a4df33f011bcd8b0440566ba0ffaeeab30d8ac52d39948980a56881ca0eff60687129d59556389a58b9d64e7768750bd70b1fe0fedbc9fc30dc2 0002-gcc-poison-system-directories.patch 3f24bb6a50d3c45b71ea05590e32fe3e69b91377ab185352891d5035c76ed193117c6d0b314a4c364bcf136b9a9dd5c926d6c7c30ab436976c121ebfea8d3ddd 0003-specs-turn-on-Wl-z-now-by-default.patch @@ -820,4 +829,5 @@ b325035cb7122d79c6b42ca6d3fc9e02319ed2f7cddb0639dff25d2798d2ce63812cd623462cdf95 c474f34e6f9a4239d486a65141a133dbe8ce91427d502a57a9fd6eb403478a2b5715ba74f24c1cc0761e16eec77ba2c1ca921fb7d7bc1e040fc3703fc9559e75 0033-libphobos-do-not-use-LFS64-symbols.patch c4482ffc36e7894b2140800159f4cbc9a3e9011e43a69b69f4fa92d5a11e2ee645c7e21df4423dd1e0636e8890849a5719647bfbdf84f951d638f8f488cb718c 0034-libgo-fix-lfs64-use.patch cc1e10ac6e72db816f09325e301103109cc212a6f3de3ce0b9b038d149233c467319d203941695dbf3d7b9e2dcbbcd17609cdb056e831fcc323cd592423882d8 0036-PR110792-Early-clobber-issues-with-rot32di2-on-i386.patch +d834f5f95f4ebe70ec0af0748c8632c99a4f57b69dc14db1a38becdfcb03406b32febf39f772f37bd145538147099fa7433edce845e14ee77cd8f38fd9774fc1 0037-loongarch-disable-multilib-support.patch " diff --git a/cross/gcc-x86_64/0037-loongarch-disable-multilib-support.patch b/cross/gcc-x86_64/0037-loongarch-disable-multilib-support.patch new file mode 100644 index 000000000..37de3c729 --- /dev/null +++ b/cross/gcc-x86_64/0037-loongarch-disable-multilib-support.patch @@ -0,0 +1,61 @@ +From c4f484f465a32e796ae384aa3f90e79fa218b4e9 Mon Sep 17 00:00:00 2001 +From: Jingyun Hua +Date: Mon, 7 Aug 2023 15:25:58 +0800 +Subject: [PATCH] loongarch disable multilib support + +Signed-off-by: Jingyun Hua +--- + gcc/config/loongarch/linux.h | 10 +--------- + gcc/config/loongarch/t-linux | 18 +++--------------- + 3 files changed, 5 insertions(+), 25 deletions(-) + +diff --git a/gcc/config/loongarch/linux.h b/gcc/config/loongarch/linux.h +index 9059d2441..23eaff0cc 100644 +--- a/gcc/config/loongarch/linux.h ++++ b/gcc/config/loongarch/linux.h +@@ -22,15 +22,7 @@ along with GCC; see the file COPYING3. If not see + * can work in a multilib environment. */ + + #if defined(LA_DISABLE_MULTILIB) && defined(LA_DISABLE_MULTIARCH) +- +- #if DEFAULT_ABI_BASE == ABI_BASE_LP64D +- #define ABI_LIBDIR "lib64" +- #elif DEFAULT_ABI_BASE == ABI_BASE_LP64F +- #define ABI_LIBDIR "lib64/f32" +- #elif DEFAULT_ABI_BASE == ABI_BASE_LP64S +- #define ABI_LIBDIR "lib64/sf" +- #endif +- ++ #define ABI_LIBDIR "lib" + #endif + + #ifndef ABI_LIBDIR +diff --git a/gcc/config/loongarch/t-linux b/gcc/config/loongarch/t-linux +index e40da1792..f72c6e878 100644 +--- a/gcc/config/loongarch/t-linux ++++ b/gcc/config/loongarch/t-linux +@@ -36,18 +36,6 @@ else + endif + + # Don't define MULTILIB_OSDIRNAMES if multilib is disabled. +-ifeq ($(filter LA_DISABLE_MULTILIB,$(tm_defines)),) +- +- MULTILIB_OSDIRNAMES = \ +- mabi.lp64d=../lib64$\ +- $(call if_multiarch,:loongarch64-linux-gnu) +- +- MULTILIB_OSDIRNAMES += \ +- mabi.lp64f=../lib64/f32$\ +- $(call if_multiarch,:loongarch64-linux-gnuf32) +- +- MULTILIB_OSDIRNAMES += \ +- mabi.lp64s=../lib64/sf$\ +- $(call if_multiarch,:loongarch64-linux-gnusf) +- +-endif ++ MULTILIB_OSDIRNAMES = mabi.lp64d=../lib ++ MULTILIB_OSDIRNAMES += mabi.lp64f=../lib ++ MULTILIB_OSDIRNAMES += mabi.lp64s=../lib +-- +2.41.0 + diff --git a/cross/gcc-x86_64/APKBUILD b/cross/gcc-x86_64/APKBUILD index 6159ada3a..4ebf9773c 100644 --- a/cross/gcc-x86_64/APKBUILD +++ b/cross/gcc-x86_64/APKBUILD @@ -24,7 +24,7 @@ CBUILDROOT="/" _cross_configure="--disable-bootstrap --with-sysroot=/usr/$CTARGET" pkgname=gcc-x86_64 -pkgver=13.2.1_git20231014 +pkgver=13.2.1_git20240309 # i.e. 13.2.1, must match gcc/BASE-VER _pkgbase="${pkgver%%_git*}" # date component from snapshots @@ -34,7 +34,7 @@ _pkgsnap="${pkgver##*_git}" [ "$CHOST" != "$CTARGET" ] && _target="-$CTARGET_ARCH" || _target="" pkgname=gcc-x86_64 -pkgrel=1 +pkgrel=0 pkgdesc="Stage2 cross-compiler for x86_64" url="https://gcc.gnu.org" arch="aarch64" @@ -144,7 +144,7 @@ case "$CARCH" in # GDC hasn't been ported to PowerPC # See libphobos/configure.tgt in GCC sources for supported targets # riscv fails with: error: static assert "unimplemented" -ppc64le|riscv64) LANG_D=false ;; +ppc64le|riscv64|loongarch64) LANG_D=false ;; # GDC does currently not work on 32-bit musl architectures. # This is a known upstream issue. # See: https://github.com/dlang/druntime/pull/3383 @@ -156,6 +156,7 @@ case "$CTARGET_ARCH" in arm*) _libitm=false ;; mips*) _libitm=false ;; riscv64) _libitm=false ;; +loongarch64) _libitm=false ;; esac # Internal libffi fails to build on MIPS at the moment, need to @@ -163,6 +164,7 @@ esac # the internal libffi. case "$CTARGET_ARCH" in mips*) LANG_GO=false ;; +loongarch64) LANG_GO=false ;; esac # Fortran uses libquadmath if toolchain has __float128 @@ -187,6 +189,11 @@ riscv64) LANG_ADA=false;; esac +case "$CTARGET_ARCH" in +loongarch64) +LANG_ADA=false;; +esac + _languages=c if $LANG_CXX; then _languages="$_languages,c++" @@ -270,6 +277,7 @@ source="https://dev.alpinelinux.org/archive/gcc/${_pkgbase%%.*}-$_pkgsnap/gcc-${ 0033-libphobos-do-not-use-LFS64-symbols.patch 0034-libgo-fix-lfs64-use.patch 0036-PR110792-Early-clobber-issues-with-rot32di2-on-i386.patch + 0037-loongarch-disable-multilib-support.patch " # secfixes: @@ -329,6 +337,7 @@ build() { i586-*-*-*) _arch_configure="--with-arch=pentium-m --with-fpmath=sse --with-tune=generic --enable-cld";; s390x-*-*-*) _arch_configure="--with-arch=z196 --with-tune=zEC12 --with-zarch --with-long-double-128 --enable-decimal-float";; riscv64-*-*-*) _arch_configure="--with-arch=rv64gc --with-abi=lp64d --enable-autolink-libatomic";; + loongarch64-*-*-*) _arch_configure="--with-arch=loongarch64 --with-abi=lp64d";; esac case "$CTARGET_ARCH" in @@ -784,7 +793,7 @@ gdb() { } sha512sums=" -406673a62deba759fc0532a801b3f57cabf894ea328587b23e62a707ba5767b0e3ae9b3f86bf3c6fcf13e8a3c30bc470e6598b625c8231efb629034211c162c2 gcc-13-20231014.tar.xz +2d1e0374ebdee526f0549319fc9c364968c52a0d4aaa16759f00453cb083fe58d8f463c47d97f3bb74a0a92e251989eb75a50ee5800b4569978c72d25446b44e gcc-13-20240309.tar.xz 1ecffba1b07d60e1b4422302b032bbea918b674c8e12b30aa6965b544d700ce86b61e9f7b8d402c6caf59257f491a394dd0912f0948565d6eae9335ee54f3b35 0001-posix_memalign.patch 163f282455b6a4df33f011bcd8b0440566ba0ffaeeab30d8ac52d39948980a56881ca0eff60687129d59556389a58b9d64e7768750bd70b1fe0fedbc9fc30dc2 0002-gcc-poison-system-directories.patch 3f24bb6a50d3c45b71ea05590e32fe3e69b91377ab185352891d5035c76ed193117c6d0b314a4c364bcf136b9a9dd5c926d6c7c30ab436976c121ebfea8d3ddd 0003-specs-turn-on-Wl-z-now-by-default.patch @@ -820,4 +829,5 @@ b325035cb7122d79c6b42ca6d3fc9e02319ed2f7cddb0639dff25d2798d2ce63812cd623462cdf95 c474f34e6f9a4239d486a65141a133dbe8ce91427d502a57a9fd6eb403478a2b5715ba74f24c1cc0761e16eec77ba2c1ca921fb7d7bc1e040fc3703fc9559e75 0033-libphobos-do-not-use-LFS64-symbols.patch c4482ffc36e7894b2140800159f4cbc9a3e9011e43a69b69f4fa92d5a11e2ee645c7e21df4423dd1e0636e8890849a5719647bfbdf84f951d638f8f488cb718c 0034-libgo-fix-lfs64-use.patch cc1e10ac6e72db816f09325e301103109cc212a6f3de3ce0b9b038d149233c467319d203941695dbf3d7b9e2dcbbcd17609cdb056e831fcc323cd592423882d8 0036-PR110792-Early-clobber-issues-with-rot32di2-on-i386.patch +d834f5f95f4ebe70ec0af0748c8632c99a4f57b69dc14db1a38becdfcb03406b32febf39f772f37bd145538147099fa7433edce845e14ee77cd8f38fd9774fc1 0037-loongarch-disable-multilib-support.patch "