Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 05 Aug 2026 08:21:23 +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: 7af3bb12f06a - main - lang/ldc: add new bootstrap for powerpc64le after long double switch
Message-ID:  <6a72f283.3a137.5ef5d0a5@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=7af3bb12f06a58afc7946dfef264578bd24d22cd

commit 7af3bb12f06a58afc7946dfef264578bd24d22cd
Author:     Piotr Kubaj <pkubaj@FreeBSD.org>
AuthorDate: 2026-08-05 08:01:29 +0000
Commit:     Piotr Kubaj <pkubaj@FreeBSD.org>
CommitDate: 2026-08-05 08:14:48 +0000

    lang/ldc: add new bootstrap for powerpc64le after long double switch
    
    Two new patches:
    1. Don't use glibc's dual long double mechanism - we don't support
    IBM long double.
    2. Use proper mangling.
---
 lang/ldc/Makefile                                         |  4 ++++
 lang/ldc/distinfo                                         |  2 ++
 lang/ldc/files/patch-gen_target.cpp                       | 12 ++++++++++++
 .../files/patch-runtime_druntime_src_core_stdc_config.d   | 15 +++++++++++++++
 4 files changed, 33 insertions(+)

diff --git a/lang/ldc/Makefile b/lang/ldc/Makefile
index 35d45daf815e..2614a915566d 100644
--- a/lang/ldc/Makefile
+++ b/lang/ldc/Makefile
@@ -39,7 +39,11 @@ MASTER_SITES+=	https://github.com/ldc-developers/${PORTNAME}/releases/download/v
 BOOTSTRAP_ARCH=	ppc64
 MASTER_SITES+=	LOCAL/pkubaj:bootstrap
 .elif ${ARCH} == powerpc64le
+.  if ${OSVERSION} >= 1600019
+BOOTSTRAP_ARCH=	ppc64le-ld128
+.  else
 BOOTSTRAP_ARCH=	ppc64le
+.  endif
 MASTER_SITES+=	LOCAL/pkubaj:bootstrap
 .endif
 
diff --git a/lang/ldc/distinfo b/lang/ldc/distinfo
index 80a86043e32c..30fa10baf325 100644
--- a/lang/ldc/distinfo
+++ b/lang/ldc/distinfo
@@ -7,3 +7,5 @@ SHA256 (ldc2-1.42.0-freebsd-ppc64le.tar.xz) = 7f14ca7c6d7b717f905ad6ffdbe5446ced
 SIZE (ldc2-1.42.0-freebsd-ppc64le.tar.xz) = 16168864
 SHA256 (ldc2-1.42.0-freebsd-ppc64.tar.xz) = 3c635430a169d85e11c46eaed84d4fd3348ed096a89f221e8f188900a5708f8d
 SIZE (ldc2-1.42.0-freebsd-ppc64.tar.xz) = 14346472
+SHA256 (ldc2-1.42.0-freebsd-ppc64le-ld128.tar.xz) = 2e48907ac953620de7c378a82c92fecdb1fdd3dbe27e8bc1a2e88be84c81c3b5
+SIZE (ldc2-1.42.0-freebsd-ppc64le-ld128.tar.xz) = 16342464
diff --git a/lang/ldc/files/patch-gen_target.cpp b/lang/ldc/files/patch-gen_target.cpp
new file mode 100644
index 000000000000..ddf06d68bef8
--- /dev/null
+++ b/lang/ldc/files/patch-gen_target.cpp
@@ -0,0 +1,12 @@
+--- gen/target.cpp.orig	2026-06-11 09:58:17 UTC
++++ gen/target.cpp
+@@ -317,7 +317,8 @@
+     if (triple.getArch() == llvm::Triple::ppc64 ||
+         triple.getArch() == llvm::Triple::ppc64le) {
+       if (target.RealProperties.mant_dig == 113 &&
+-          triple.getEnvironment() == llvm::Triple::GNU) {
++          (triple.getEnvironment() == llvm::Triple::GNU ||
++           triple.isOSFreeBSD())) {
+         return "u9__ieee128";
+       }
+       if (target.RealProperties.mant_dig == 106) {
diff --git a/lang/ldc/files/patch-runtime_druntime_src_core_stdc_config.d b/lang/ldc/files/patch-runtime_druntime_src_core_stdc_config.d
new file mode 100644
index 000000000000..43af74303a61
--- /dev/null
+++ b/lang/ldc/files/patch-runtime_druntime_src_core_stdc_config.d
@@ -0,0 +1,15 @@
+--- runtime/druntime/src/core/stdc/config.d.orig	2026-06-11 09:58:17 UTC
++++ runtime/druntime/src/core/stdc/config.d
+@@ -689,6 +689,11 @@
+ }
+ 
+ version (PPC64)
+-    enum PPCUseIEEE128 = real.mant_dig == 113;
++{
++    version (CRuntime_Glibc)
++        enum PPCUseIEEE128 = real.mant_dig == 113;
++    else
++        enum PPCUseIEEE128 = false;
++}
+ else
+     enum PPCUseIEEE128 = false;


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6a72f283.3a137.5ef5d0a5>