Date: Sat, 27 Jun 2026 20:55:27 +0000 From: Piotr Kubaj <pkubaj@FreeBSD.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org Subject: git: 70f1f8cf7762 - main - lang/gcc1[2-6]: actually fix build on powerpc64le/CURRENT Message-ID: <6a4038bf.1ff0c.2a56c1f8@gitrepo.freebsd.org>
index | next in thread | raw e-mail
The branch main has been updated by pkubaj: URL: https://cgit.FreeBSD.org/ports/commit/?id=70f1f8cf7762db8fe6648bff3436cc604507d494 commit 70f1f8cf7762db8fe6648bff3436cc604507d494 Author: Piotr Kubaj <pkubaj@FreeBSD.org> AuthorDate: 2026-06-27 20:53:18 +0000 Commit: Piotr Kubaj <pkubaj@FreeBSD.org> CommitDate: 2026-06-27 20:55:24 +0000 lang/gcc1[2-6]: actually fix build on powerpc64le/CURRENT Without this patch, gcc attempts to enable support for IBM long double, when IEEE long double is enabled, which is wrong. Allow to only specify IEEE long double. The whole patchset for IEEE long double on FreeBSD/powerpc64le is being upstreamed at https://gcc.gnu.org/bugzilla/show_bug.cgi?id=126012. --- lang/gcc12/files/patch-libgfortran_kinds-override.h | 11 +++++++++++ lang/gcc13/files/patch-libgfortran_kinds-override.h | 11 +++++++++++ lang/gcc14/files/patch-libgfortran_kinds-override.h | 11 +++++++++++ lang/gcc15/files/patch-libgfortran_kinds-override.h | 11 +++++++++++ lang/gcc16/files/patch-libgfortran_kinds-override.h | 11 +++++++++++ 5 files changed, 55 insertions(+) diff --git a/lang/gcc12/files/patch-libgfortran_kinds-override.h b/lang/gcc12/files/patch-libgfortran_kinds-override.h new file mode 100644 index 000000000000..eb92e972a84d --- /dev/null +++ b/lang/gcc12/files/patch-libgfortran_kinds-override.h @@ -0,0 +1,11 @@ +--- libgfortran/kinds-override.h.orig ++++ libgfortran/kinds-override.h +@@ -30,7 +30,7 @@ + #endif + + /* Keep these conditions on one line so grep can filter it out. */ +-#if defined(__powerpc64__) && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ && __SIZEOF_LONG_DOUBLE__ == 16 ++#if defined(__powerpc64__) && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ && __SIZEOF_LONG_DOUBLE__ == 16 && !defined(__LONG_DOUBLE_IEEE128__) + typedef __float128 GFC_REAL_17; + typedef _Complex float __attribute__((mode(KC))) GFC_COMPLEX_17; + #define HAVE_GFC_REAL_17 diff --git a/lang/gcc13/files/patch-libgfortran_kinds-override.h b/lang/gcc13/files/patch-libgfortran_kinds-override.h new file mode 100644 index 000000000000..0d60fa7bfaf3 --- /dev/null +++ b/lang/gcc13/files/patch-libgfortran_kinds-override.h @@ -0,0 +1,11 @@ +--- libgfortran/kinds-override.h.orig ++++ libgfortran/kinds-override.h +@@ -30,7 +30,7 @@ + #endif + + /* Keep these conditions on one line so grep can filter it out. */ +-#if defined(__powerpc64__) && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ && __SIZEOF_LONG_DOUBLE__ == 16 ++#if defined(__powerpc64__) && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ && __SIZEOF_LONG_DOUBLE__ == 16 && !defined(__LONG_DOUBLE_IEEE128__) + typedef _Float128 GFC_REAL_17; + typedef _Complex _Float128 GFC_COMPLEX_17; + #define HAVE_GFC_REAL_17 diff --git a/lang/gcc14/files/patch-libgfortran_kinds-override.h b/lang/gcc14/files/patch-libgfortran_kinds-override.h new file mode 100644 index 000000000000..0d60fa7bfaf3 --- /dev/null +++ b/lang/gcc14/files/patch-libgfortran_kinds-override.h @@ -0,0 +1,11 @@ +--- libgfortran/kinds-override.h.orig ++++ libgfortran/kinds-override.h +@@ -30,7 +30,7 @@ + #endif + + /* Keep these conditions on one line so grep can filter it out. */ +-#if defined(__powerpc64__) && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ && __SIZEOF_LONG_DOUBLE__ == 16 ++#if defined(__powerpc64__) && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ && __SIZEOF_LONG_DOUBLE__ == 16 && !defined(__LONG_DOUBLE_IEEE128__) + typedef _Float128 GFC_REAL_17; + typedef _Complex _Float128 GFC_COMPLEX_17; + #define HAVE_GFC_REAL_17 diff --git a/lang/gcc15/files/patch-libgfortran_kinds-override.h b/lang/gcc15/files/patch-libgfortran_kinds-override.h new file mode 100644 index 000000000000..0d60fa7bfaf3 --- /dev/null +++ b/lang/gcc15/files/patch-libgfortran_kinds-override.h @@ -0,0 +1,11 @@ +--- libgfortran/kinds-override.h.orig ++++ libgfortran/kinds-override.h +@@ -30,7 +30,7 @@ + #endif + + /* Keep these conditions on one line so grep can filter it out. */ +-#if defined(__powerpc64__) && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ && __SIZEOF_LONG_DOUBLE__ == 16 ++#if defined(__powerpc64__) && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ && __SIZEOF_LONG_DOUBLE__ == 16 && !defined(__LONG_DOUBLE_IEEE128__) + typedef _Float128 GFC_REAL_17; + typedef _Complex _Float128 GFC_COMPLEX_17; + #define HAVE_GFC_REAL_17 diff --git a/lang/gcc16/files/patch-libgfortran_kinds-override.h b/lang/gcc16/files/patch-libgfortran_kinds-override.h new file mode 100644 index 000000000000..0d60fa7bfaf3 --- /dev/null +++ b/lang/gcc16/files/patch-libgfortran_kinds-override.h @@ -0,0 +1,11 @@ +--- libgfortran/kinds-override.h.orig ++++ libgfortran/kinds-override.h +@@ -30,7 +30,7 @@ + #endif + + /* Keep these conditions on one line so grep can filter it out. */ +-#if defined(__powerpc64__) && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ && __SIZEOF_LONG_DOUBLE__ == 16 ++#if defined(__powerpc64__) && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ && __SIZEOF_LONG_DOUBLE__ == 16 && !defined(__LONG_DOUBLE_IEEE128__) + typedef _Float128 GFC_REAL_17; + typedef _Complex _Float128 GFC_COMPLEX_17; + #define HAVE_GFC_REAL_17home | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6a4038bf.1ff0c.2a56c1f8>
