Ringdove is an EDA suite which is now the designated successor to
cad/geda-gaf, the homepage of which (www.geda-project.org) now redirects
with the consent of the former developers to the Ringdove site:
http://www.repo.hu/projects/geda-archive/www.geda-project.org/
The suite is a worthy successor to gschem/pcb in my opinion, and has
common keyboard shortcuts across the components. GUI options include
gtk2, gtk2+OpenGL, gtk4+OpenGL and Motif. The reference implementation
is gtk2 but optional subpackages can enable the others.
Further to my previous emails to the list and after discussing with the
Lead Developer upstream I have restructured the packaging to correspond
to his recommended modular style ([1] [2] [3] [4] below).
The scripting function gateway devel/fungw has optional subpackages
fungw-python, fungw-lua and fungw-tcl that enable scripting in Python
3.x, Lua 5.4 and Tcl 8.6 respectively. I have disabled Python2.x as I
understand that new ports with that dependency are to be avoided.
Attached tar.gz contains:
cad/sch-rnd Schematic Capture
cad/pcb-rnd PC Board Editor
cad/cam-rnd CAM (Gerber, Excellon,...) File Viewer
cad/route-rnd External Autorouter
cad/librnd4 2D CAD engine library
devel/fungw scripting function gateway
devel/genht hash table library
I have tested on amd64 7.8-release, and a -current snapshot (after the
recent Python 3.13 version move. Rudimentary scripting with python3,
lua and tcl have been tested.
Due to an omission of the 'python3' action by upstream, 'one-liner'
python3 scripting requires use of OneLiner(python3,<script>)- this will
be fixed in the next release of librnd.
Testing and feedback on the attached ports is welcome.
If found OK, is someone willing to import them?
[1] http://repo.hu/projects/librnd/developer/packaging/packages.html
[2] http://repo.hu/projects/sch-rnd/developer/packaging/packages.html
[3] http://repo.hu/projects/pcb-rnd/developer/packaging/packages.html
[4] http://repo.hu/projects/camv-rnd/developer/packaging/packages.html
Chris
--
Chris Billington
Sunday, November 30, 2025
lang/gcc/15: enable dlang on amd64 and arm64
Index: 11/Makefile
===================================================================
RCS file: /cvs/ports/lang/gcc/11/Makefile,v
diff -u -p -r1.58 Makefile
--- 11/Makefile 28 Nov 2025 11:10:07 -0000 1.58
+++ 11/Makefile 1 Dec 2025 01:56:51 -0000
@@ -17,7 +17,9 @@ FULL_VERSION = $V
FULL_PKGVERSION = $V
REVISION = 21
-ADASTRAP-amd64 = adastrap-amd64-$V-5.tar.xz
+# aarch64 bootstrap contains only gdc
+ADASTRAP-aarch64 = adastrap-aarch64-$V-0.tar.xz
+ADASTRAP-amd64 = adastrap-amd64-$V-6.tar.xz
ADASTRAP-i386 = adastrap-i386-$V-4.tar.xz
ADASTRAP-mips64 = adastrap-mips64-8.4.0-5.tar.xz
ADASTRAP-powerpc = adastrap-powerpc-$V-4.tar.xz
@@ -272,14 +274,29 @@ post-install:
ADA_PACKAGE = ${PACKAGE_REPOSITORY}/${MACHINE_ARCH}/all/${FULLPKGNAME-ada}.tgz
GCC_PACKAGE = ${PACKAGE_REPOSITORY}/${MACHINE_ARCH}/all/${FULLPKGNAME-main}.tgz
+GDC_PACKAGE = ${PACKAGE_REPOSITORY}/${MACHINE_ARCH}/all/${FULLPKGNAME-dlang}.tgz
GXX_PACKAGE = ${PACKAGE_REPOSITORY}/${MACHINE_ARCH}/all/${FULLPKGNAME-c++}.tgz
.PHONY: bootstrap
+.if ${BUILD_PACKAGES:M-ada} && ${BUILD_PACKAGES:M-dlang}
+bootstrap: ${ADA_PACKAGE} ${GCC_PACKAGE} ${GDC_PACKAGE} ${GXX_PACKAGE}
+.elif ${BUILD_PACKAGES:M-ada}
bootstrap: ${ADA_PACKAGE} ${GCC_PACKAGE} ${GXX_PACKAGE}
+.elif ${BUILD_PACKAGES:M-dlang}
+bootstrap: ${GCC_PACKAGE} ${GDC_PACKAGE} ${GXX_PACKAGE}
+.else
+bootstrap: ${GCC_PACKAGE} ${GXX_PACKAGE}
+.endif
+ ${_PBUILD} rm -rf ${WRKDIR}/prepare
${_PBUILD} mkdir -p ${WRKDIR}/prepare/bootstrap/system-libs
+.if ${BUILD_PACKAGES:M-ada}
cd ${WRKDIR}/prepare/bootstrap && ${_PBUILD} tar xzf ${ADA_PACKAGE}
+.endif
cd ${WRKDIR}/prepare/bootstrap && ${_PBUILD} tar xzf ${GCC_PACKAGE}
+.if ${BUILD_PACKAGES:M-dlang}
+ cd ${WRKDIR}/prepare/bootstrap && ${_PBUILD} tar xzf ${GDC_PACKAGE}
+.endif
cd ${WRKDIR}/prepare/bootstrap && ${_PBUILD} tar xzf ${GXX_PACKAGE}
${_PBUILD} rm -rf ${WRKDIR}/prepare/bootstrap/{+*,info,man,share}
${_PBUILD} rm -rf ${WRKDIR}/prepare/bootstrap/lib/gcc/*-openbsd*/$V/include-fixed
Index: 11/distinfo
===================================================================
RCS file: /cvs/ports/lang/gcc/11/distinfo,v
diff -u -p -r1.15 distinfo
--- 11/distinfo 20 Sep 2025 23:07:25 -0000 1.15
+++ 11/distinfo 1 Dec 2025 01:56:51 -0000
@@ -1,9 +1,9 @@
-SHA256 (gcc/adastrap-amd64-11.2.0-5.tar.xz) = xv2mjPXOBPnrbP98RlbKmbNgE3iP8MHBrShaipe/YNI=
+SHA256 (gcc/adastrap-amd64-11.2.0-6.tar.xz) = rxI866IO57k5nZGBVbaGynN0XRcA4QJIN1AAW3xNA1w=
SHA256 (gcc/adastrap-i386-11.2.0-4.tar.xz) = 1T55LnFIsdo+lb3beM/FW0QR1U9RuHftAytxwRs8W/Y=
SHA256 (gcc/adastrap-mips64-8.4.0-5.tar.xz) = Rfwenft0B3hxydQ3mqkkbFN40maQ73Jl4fgTFn1eNKQ=
SHA256 (gcc/adastrap-powerpc-11.2.0-4.tar.xz) = 9KgiD7tqhcrCd8oTds/iVrmo9LXBNEAJQ+DdplytMuU=
SHA256 (gcc/gcc-11.2.0.tar.xz) = 0I7cU2tUw3KhAQ/2YZ3SdMDxYDqkkhK6IPeqLNo2+os=
-SIZE (gcc/adastrap-amd64-11.2.0-5.tar.xz) = 78100312
+SIZE (gcc/adastrap-amd64-11.2.0-6.tar.xz) = 100826604
SIZE (gcc/adastrap-i386-11.2.0-4.tar.xz) = 75923604
SIZE (gcc/adastrap-mips64-8.4.0-5.tar.xz) = 49877060
SIZE (gcc/adastrap-powerpc-11.2.0-4.tar.xz) = 70164724
Index: 15/Makefile
===================================================================
RCS file: /cvs/ports/lang/gcc/15/Makefile,v
diff -u -p -r1.13 Makefile
--- 15/Makefile 13 Nov 2025 23:30:14 -0000 1.13
+++ 15/Makefile 1 Dec 2025 01:56:58 -0000
@@ -5,6 +5,7 @@ ONLY_FOR_ARCHS = aarch64 alpha amd64 arm
powerpc powerpc64 riscv64 sparc64
ONLY_FOR_ARCHS-ada = amd64 mips64 powerpc # i386
+ONLY_FOR_ARCHS-dlang = aarch64 amd64 # needs gdc from gcc-9+
DPB_PROPERTIES = parallel
@@ -18,9 +19,11 @@ V = 15.2.0
FULL_VERSION = $V
FULL_PKGVERSION = $V
-REVISION = 3
+REVISION = 4
-ADASTRAP-amd64 = adastrap-amd64-11.2.0-5.tar.xz
+# aarch64 bootstrap contains only gdc
+ADASTRAP-aarch64 = adastrap-aarch64-11.2.0-0.tar.xz
+ADASTRAP-amd64 = adastrap-amd64-11.2.0-6.tar.xz
ADASTRAP-arm = adastrap-arm-4.9.4-0.tar.xz
ADASTRAP-hppa = adastrap-hppa-8.3.0-1.tar.xz
ADASTRAP-i386 = adastrap-i386-11.2.0-4.tar.xz
@@ -34,6 +37,7 @@ PKGNAME-c++ = g++-${FULL_PKGVERSION}
PKGNAME-f95 = g95-${FULL_PKGVERSION}
PKGNAME-objc = gobjc-${FULL_PKGVERSION}
PKGNAME-ada = gnat-${FULL_PKGVERSION}
+PKGNAME-dlang = gdc-${FULL_PKGVERSION}
PKGSPEC-main = gcc->=15,<16
SHARED_LIBS = estdc++ 21.0 \
@@ -45,12 +49,14 @@ SHARED_LIBS = estdc++ 21.0 \
quadmath 5.0 \
cc1 3.0 \
cc1plugin 3.0 \
- cp1plugin 2.0
+ cp1plugin 2.0 \
+ gphobos 1.0 \
+ gdruntime 1.0
PSEUDO_FLAVORS = no_ada full
FLAVOR ?=
-MULTI_PACKAGES = -main -libs -f95 -objc -c++ -ada
+MULTI_PACKAGES = -main -libs -f95 -objc -c++ -ada -dlang
.include <bsd.port.arch.mk>
@@ -83,11 +89,12 @@ TEST_DEPENDS += devel/dejagnu \
${BUILD_PKGPATH},-libs>=15,<16
LANGS = c,c++,fortran,objc
-.if ${BUILD_PACKAGES:M-ada}
+.if ${BUILD_PACKAGES:M-ada} || ${BUILD_PACKAGES:M-dlang}
DISTFILES.strap += ${ADASTRAP-${MACHINE_ARCH}}
EXTRACT_ONLY += ${ADASTRAP-${MACHINE_ARCH}}
CC = ${WRKDIR}/bin/egcc
CXX = ${WRKDIR}/bin/eg++
+GDC = ${WRKDIR}/bin/egdc
# make sure we link the right libestdc++.a in stage1 when using a bootstrap
CONFIGURE_ARGS += --with-stage1-ldflags="-L${WRKDIR}/bootstrap/lib"
.elif ${PROPERTIES:Mgcc4}
@@ -102,6 +109,10 @@ LANGS := ${LANGS},ada
TEST_DEPENDS += ${BUILD_PKGPATH},-ada
.endif
+.if ${BUILD_PACKAGES:M-dlang}
+LANGS := ${LANGS},d
+.endif
+
CONFIGURE_STYLE = gnu
MODGNU_CONFIG_GUESS_DIRS = ${WRKSRC} ${WRKSRC}/gcc
@@ -110,6 +121,7 @@ EXTRA_ENV += ac_cv_prog_M4=/usr/bin/m4
EXTRA_ENV += ac_cv_header_magic_h=no
EXTRA_ENV += lt_cv_path_SED=/usr/bin/sed
EXTRA_ENV += STRIP=/usr/bin/strip
+EXTRA_ENV += GDC=${GDC}
MAKE_FLAGS += ac_cv_path_mkdir=/bin/mkdir
CONFIGURE_ENV += ${EXTRA_ENV}
@@ -236,7 +248,7 @@ LIB_DEPENDS += devel/gmp,no_cxx,bootstr
LIB_DEPENDS-libs =
post-extract:
-.for f in egcc eg++
+.for f in egcc eg++ egdc
echo "#! /bin/sh" >${WRKDIR}/bin/$f
echo 'GNAT_ROOT=${WRKDIR}/bootstrap GCC_ROOT=${WRKDIR}/bootstrap LD_LIBRARY_PATH=${WRKDIR}/bootstrap/system-libs exec ${WRKDIR}/bootstrap/bin/$f "$$@"' >>${WRKDIR}/bin/$f
chmod a+x ${WRKDIR}/bin/$f
@@ -277,6 +289,7 @@ post-install:
ADA_PACKAGE = ${PACKAGE_REPOSITORY}/${MACHINE_ARCH}/all/${FULLPKGNAME-ada}.tgz
GCC_PACKAGE = ${PACKAGE_REPOSITORY}/${MACHINE_ARCH}/all/${FULLPKGNAME-main}.tgz
+GDC_PACKAGE = ${PACKAGE_REPOSITORY}/${MACHINE_ARCH}/all/${FULLPKGNAME-dlang}.tgz
GXX_PACKAGE = ${PACKAGE_REPOSITORY}/${MACHINE_ARCH}/all/${FULLPKGNAME-c++}.tgz
.PHONY: bootstrap
@@ -284,8 +297,13 @@ GXX_PACKAGE = ${PACKAGE_REPOSITORY}/${MA
bootstrap: ${ADA_PACKAGE} ${GCC_PACKAGE} ${GXX_PACKAGE}
${_PBUILD} rm -rf ${WRKDIR}/prepare
${_PBUILD} mkdir -p ${WRKDIR}/prepare/bootstrap/system-libs
+.if ${BUILD_PACKAGES:M-ada}
cd ${WRKDIR}/prepare/bootstrap && ${_PBUILD} tar xzf ${ADA_PACKAGE}
+.endif
cd ${WRKDIR}/prepare/bootstrap && ${_PBUILD} tar xzf ${GCC_PACKAGE}
+.if ${BUILD_PACKAGES:M-dlang}
+ cd ${WRKDIR}/prepare/bootstrap && ${_PBUILD} tar xzf ${GDC_PACKAGE}
+.endif
cd ${WRKDIR}/prepare/bootstrap && ${_PBUILD} tar xzf ${GXX_PACKAGE}
${_PBUILD} rm -rf ${WRKDIR}/prepare/bootstrap/{+*,info,man,share}
${_PBUILD} rm -rf ${WRKDIR}/prepare/bootstrap/lib/gcc/*-openbsd*/$V/include-fixed
Index: 15/distinfo
===================================================================
RCS file: /cvs/ports/lang/gcc/15/distinfo,v
diff -u -p -r1.5 distinfo
--- 15/distinfo 2 Nov 2025 18:48:50 -0000 1.5
+++ 15/distinfo 1 Dec 2025 01:56:58 -0000
@@ -1,8 +1,10 @@
-SHA256 (gcc/adastrap-amd64-11.2.0-5.tar.xz) = xv2mjPXOBPnrbP98RlbKmbNgE3iP8MHBrShaipe/YNI=
+SHA256 (gcc/adastrap-aarch64-11.2.0-0.tar.xz) = rVm75YiR/GJ6lsS9PbTaCmE5G4Q7CpXo5924ag3lqro=
+SHA256 (gcc/adastrap-amd64-11.2.0-6.tar.xz) = rxI866IO57k5nZGBVbaGynN0XRcA4QJIN1AAW3xNA1w=
SHA256 (gcc/adastrap-mips64-8.4.0-5.tar.xz) = Rfwenft0B3hxydQ3mqkkbFN40maQ73Jl4fgTFn1eNKQ=
SHA256 (gcc/adastrap-powerpc-11.2.0-3.tar.xz) = acJtrhP/QyqtfDHrcXZjwI1LIBBN8C+SrTokVunndSQ=
SHA256 (gcc/gcc-15.2.0.tar.xz) = Q4/ZloJrDIJIWinaA6ctcdbjVBqD7HAt9Ccfb+Al0k4=
-SIZE (gcc/adastrap-amd64-11.2.0-5.tar.xz) = 78100312
+SIZE (gcc/adastrap-aarch64-11.2.0-0.tar.xz) = 67081156
+SIZE (gcc/adastrap-amd64-11.2.0-6.tar.xz) = 100826604
SIZE (gcc/adastrap-mips64-8.4.0-5.tar.xz) = 49877060
SIZE (gcc/adastrap-powerpc-11.2.0-3.tar.xz) = 70134604
SIZE (gcc/gcc-15.2.0.tar.xz) = 101056276
Index: 15/patches/patch-Makefile_in
===================================================================
RCS file: /cvs/ports/lang/gcc/15/patches/patch-Makefile_in,v
diff -u -p -r1.1.1.1 patch-Makefile_in
--- 15/patches/patch-Makefile_in 18 Aug 2025 19:49:19 -0000 1.1.1.1
+++ 15/patches/patch-Makefile_in 1 Dec 2025 01:56:58 -0000
@@ -1,7 +1,15 @@
Index: Makefile.in
--- Makefile.in.orig
+++ Makefile.in
-@@ -2898,7 +2898,7 @@ install:
+@@ -621,7 +621,6 @@ STAGE1_CONFIGURE_FLAGS = $(STAGE1_CHECKING) \
+
+ @if target-libphobos-bootstrap
+ STAGE1_CONFIGURE_FLAGS += --with-libphobos-druntime-only
+-STAGE2_CONFIGURE_FLAGS += --with-libphobos-druntime-only
+ @endif target-libphobos-bootstrap
+
+ # When using the slow stage1 compiler disable IL verification and forcefully
+@@ -2898,7 +2897,7 @@ install:
@: $(MAKE); $(unstage)
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
@@ -10,7 +18,7 @@ Index: Makefile.in
.PHONY: install-host-nogcc
install-host-nogcc: \
-@@ -3222,7 +3222,7 @@ configure-build-libiberty:
+@@ -3222,7 +3221,7 @@ configure-build-libiberty:
esac; \
module_srcdir=libiberty; \
rm -f no-such-file || : ; \
@@ -19,7 +27,7 @@ Index: Makefile.in
$$s/$$module_srcdir/configure \
--srcdir=$${topdir}/$$module_srcdir \
$(BUILD_CONFIGARGS) --build=${build_alias} --host=${build_alias} \
-@@ -3279,7 +3279,7 @@ configure-build-bison:
+@@ -3279,7 +3278,7 @@ configure-build-bison:
esac; \
module_srcdir=bison; \
rm -f no-such-file || : ; \
@@ -28,7 +36,7 @@ Index: Makefile.in
$$s/$$module_srcdir/configure \
--srcdir=$${topdir}/$$module_srcdir \
$(BUILD_CONFIGARGS) --build=${build_alias} --host=${build_alias} \
-@@ -3336,7 +3336,7 @@ configure-build-flex:
+@@ -3336,7 +3335,7 @@ configure-build-flex:
esac; \
module_srcdir=flex; \
rm -f no-such-file || : ; \
@@ -37,7 +45,7 @@ Index: Makefile.in
$$s/$$module_srcdir/configure \
--srcdir=$${topdir}/$$module_srcdir \
$(BUILD_CONFIGARGS) --build=${build_alias} --host=${build_alias} \
-@@ -3393,7 +3393,7 @@ configure-build-m4:
+@@ -3393,7 +3392,7 @@ configure-build-m4:
esac; \
module_srcdir=m4; \
rm -f no-such-file || : ; \
@@ -46,7 +54,7 @@ Index: Makefile.in
$$s/$$module_srcdir/configure \
--srcdir=$${topdir}/$$module_srcdir \
$(BUILD_CONFIGARGS) --build=${build_alias} --host=${build_alias} \
-@@ -3450,7 +3450,7 @@ configure-build-texinfo:
+@@ -3450,7 +3449,7 @@ configure-build-texinfo:
esac; \
module_srcdir=texinfo; \
rm -f no-such-file || : ; \
@@ -55,7 +63,7 @@ Index: Makefile.in
$$s/$$module_srcdir/configure \
--srcdir=$${topdir}/$$module_srcdir \
$(BUILD_CONFIGARGS) --build=${build_alias} --host=${build_alias} \
-@@ -3507,7 +3507,7 @@ configure-build-fixincludes:
+@@ -3507,7 +3506,7 @@ configure-build-fixincludes:
esac; \
module_srcdir=fixincludes; \
rm -f no-such-file || : ; \
@@ -64,7 +72,7 @@ Index: Makefile.in
$$s/$$module_srcdir/configure \
--srcdir=$${topdir}/$$module_srcdir \
$(BUILD_CONFIGARGS) --build=${build_alias} --host=${build_alias} \
-@@ -3564,7 +3564,7 @@ configure-build-libcpp:
+@@ -3564,7 +3563,7 @@ configure-build-libcpp:
esac; \
module_srcdir=libcpp; \
rm -f no-such-file || : ; \
@@ -73,7 +81,7 @@ Index: Makefile.in
$$s/$$module_srcdir/configure \
--srcdir=$${topdir}/$$module_srcdir \
$(BUILD_CONFIGARGS) --build=${build_alias} --host=${build_alias} \
-@@ -45191,7 +45191,7 @@ configure-target-libstdc++-v3:
+@@ -45191,7 +45190,7 @@ configure-target-libstdc++-v3:
esac; \
module_srcdir=libstdc++-v3; \
rm -f no-such-file || : ; \
@@ -82,7 +90,7 @@ Index: Makefile.in
$$s/$$module_srcdir/configure \
--srcdir=$${topdir}/$$module_srcdir \
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
-@@ -46461,7 +46461,7 @@ configure-target-libsanitizer:
+@@ -46461,7 +46460,7 @@ configure-target-libsanitizer:
esac; \
module_srcdir=libsanitizer; \
rm -f no-such-file || : ; \
@@ -91,7 +99,7 @@ Index: Makefile.in
$$s/$$module_srcdir/configure \
--srcdir=$${topdir}/$$module_srcdir \
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
-@@ -47731,7 +47731,7 @@ configure-target-libvtv:
+@@ -47731,7 +47730,7 @@ configure-target-libvtv:
esac; \
module_srcdir=libvtv; \
rm -f no-such-file || : ; \
@@ -100,7 +108,7 @@ Index: Makefile.in
$$s/$$module_srcdir/configure \
--srcdir=$${topdir}/$$module_srcdir \
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
-@@ -49002,7 +49002,7 @@ configure-target-libssp:
+@@ -49002,7 +49001,7 @@ configure-target-libssp:
esac; \
module_srcdir=libssp; \
rm -f no-such-file || : ; \
@@ -109,7 +117,7 @@ Index: Makefile.in
$$s/$$module_srcdir/configure \
--srcdir=$${topdir}/$$module_srcdir \
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
-@@ -49487,7 +49487,7 @@ configure-target-newlib:
+@@ -49487,7 +49486,7 @@ configure-target-newlib:
esac; \
module_srcdir=newlib; \
rm -f no-such-file || : ; \
@@ -118,7 +126,7 @@ Index: Makefile.in
$$s/$$module_srcdir/configure \
--srcdir=$${topdir}/$$module_srcdir \
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
-@@ -49971,7 +49971,7 @@ configure-target-libgcc:
+@@ -49971,7 +49970,7 @@ configure-target-libgcc:
esac; \
module_srcdir=libgcc; \
rm -f no-such-file || : ; \
@@ -127,7 +135,7 @@ Index: Makefile.in
$$s/$$module_srcdir/configure \
--srcdir=$${topdir}/$$module_srcdir \
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
-@@ -51203,7 +51203,7 @@ configure-target-libbacktrace:
+@@ -51203,7 +51202,7 @@ configure-target-libbacktrace:
esac; \
module_srcdir=libbacktrace; \
rm -f no-such-file || : ; \
@@ -136,7 +144,7 @@ Index: Makefile.in
$$s/$$module_srcdir/configure \
--srcdir=$${topdir}/$$module_srcdir \
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
-@@ -52474,7 +52474,7 @@ configure-target-libquadmath:
+@@ -52474,7 +52473,7 @@ configure-target-libquadmath:
esac; \
module_srcdir=libquadmath; \
rm -f no-such-file || : ; \
@@ -145,7 +153,7 @@ Index: Makefile.in
$$s/$$module_srcdir/configure \
--srcdir=$${topdir}/$$module_srcdir \
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
-@@ -52959,7 +52959,7 @@ configure-target-libgfortran:
+@@ -52959,7 +52958,7 @@ configure-target-libgfortran:
esac; \
module_srcdir=libgfortran; \
rm -f no-such-file || : ; \
@@ -154,7 +162,7 @@ Index: Makefile.in
$$s/$$module_srcdir/configure \
--srcdir=$${topdir}/$$module_srcdir \
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
-@@ -53444,7 +53444,7 @@ configure-target-libobjc:
+@@ -53444,7 +53443,7 @@ configure-target-libobjc:
esac; \
module_srcdir=libobjc; \
rm -f no-such-file || : ; \
@@ -163,7 +171,7 @@ Index: Makefile.in
$$s/$$module_srcdir/configure \
--srcdir=$${topdir}/$$module_srcdir \
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
-@@ -53896,7 +53896,7 @@ configure-target-libgo:
+@@ -53896,7 +53895,7 @@ configure-target-libgo:
esac; \
module_srcdir=libgo; \
rm -f no-such-file || : ; \
@@ -172,7 +180,7 @@ Index: Makefile.in
$$s/$$module_srcdir/configure \
--srcdir=$${topdir}/$$module_srcdir \
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
-@@ -54380,7 +54380,7 @@ configure-target-libphobos:
+@@ -54380,7 +54379,7 @@ configure-target-libphobos:
esac; \
module_srcdir=libphobos; \
rm -f no-such-file || : ; \
@@ -181,7 +189,7 @@ Index: Makefile.in
$$s/$$module_srcdir/configure \
--srcdir=$${topdir}/$$module_srcdir \
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
-@@ -55651,7 +55651,7 @@ configure-target-libtermcap:
+@@ -55651,7 +55650,7 @@ configure-target-libtermcap:
esac; \
module_srcdir=libtermcap; \
rm -f no-such-file || : ; \
@@ -190,7 +198,7 @@ Index: Makefile.in
$$s/$$module_srcdir/configure \
--srcdir=$${topdir}/$$module_srcdir \
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
-@@ -56071,7 +56071,7 @@ configure-target-winsup:
+@@ -56071,7 +56070,7 @@ configure-target-winsup:
esac; \
module_srcdir=winsup; \
rm -f no-such-file || : ; \
@@ -199,7 +207,7 @@ Index: Makefile.in
$$s/$$module_srcdir/configure \
--srcdir=$${topdir}/$$module_srcdir \
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
-@@ -56556,7 +56556,7 @@ configure-target-libgloss:
+@@ -56556,7 +56555,7 @@ configure-target-libgloss:
esac; \
module_srcdir=libgloss; \
rm -f no-such-file || : ; \
@@ -208,7 +216,7 @@ Index: Makefile.in
$$s/$$module_srcdir/configure \
--srcdir=$${topdir}/$$module_srcdir \
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
-@@ -57036,7 +57036,7 @@ configure-target-libffi:
+@@ -57036,7 +57035,7 @@ configure-target-libffi:
esac; \
module_srcdir=libffi; \
rm -f no-such-file || : ; \
@@ -217,7 +225,7 @@ Index: Makefile.in
$$s/$$module_srcdir/configure \
--srcdir=$${topdir}/$$module_srcdir \
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
-@@ -57510,7 +57510,7 @@ configure-target-zlib:
+@@ -57510,7 +57509,7 @@ configure-target-zlib:
esac; \
module_srcdir=zlib; \
rm -f no-such-file || : ; \
@@ -226,7 +234,7 @@ Index: Makefile.in
$$s/$$module_srcdir/configure \
--srcdir=$${topdir}/$$module_srcdir \
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
-@@ -58781,7 +58781,7 @@ configure-target-rda:
+@@ -58781,7 +58780,7 @@ configure-target-rda:
esac; \
module_srcdir=rda; \
rm -f no-such-file || : ; \
@@ -235,7 +243,7 @@ Index: Makefile.in
$$s/$$module_srcdir/configure \
--srcdir=$${topdir}/$$module_srcdir \
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
-@@ -59266,7 +59266,7 @@ configure-target-libada:
+@@ -59266,7 +59265,7 @@ configure-target-libada:
esac; \
module_srcdir=libada; \
rm -f no-such-file || : ; \
@@ -244,7 +252,7 @@ Index: Makefile.in
$$s/$$module_srcdir/configure \
--srcdir=$${topdir}/$$module_srcdir \
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
-@@ -59751,7 +59751,7 @@ configure-target-libgm2:
+@@ -59751,7 +59750,7 @@ configure-target-libgm2:
esac; \
module_srcdir=libgm2; \
rm -f no-such-file || : ; \
@@ -253,7 +261,7 @@ Index: Makefile.in
$$s/$$module_srcdir/configure \
--srcdir=$${topdir}/$$module_srcdir \
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
-@@ -60235,7 +60235,7 @@ configure-target-libgomp:
+@@ -60235,7 +60234,7 @@ configure-target-libgomp:
esac; \
module_srcdir=libgomp; \
rm -f no-such-file || : ; \
@@ -262,7 +270,7 @@ Index: Makefile.in
$$s/$$module_srcdir/configure \
--srcdir=$${topdir}/$$module_srcdir \
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
-@@ -61506,7 +61506,7 @@ configure-target-libitm:
+@@ -61506,7 +61505,7 @@ configure-target-libitm:
esac; \
module_srcdir=libitm; \
rm -f no-such-file || : ; \
@@ -271,7 +279,7 @@ Index: Makefile.in
$$s/$$module_srcdir/configure \
--srcdir=$${topdir}/$$module_srcdir \
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
-@@ -61990,7 +61990,7 @@ configure-target-libatomic:
+@@ -61990,7 +61989,7 @@ configure-target-libatomic:
esac; \
module_srcdir=libatomic; \
rm -f no-such-file || : ; \
@@ -280,7 +288,7 @@ Index: Makefile.in
$$s/$$module_srcdir/configure \
--srcdir=$${topdir}/$$module_srcdir \
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
-@@ -63261,7 +63261,7 @@ configure-target-libgrust:
+@@ -63261,7 +63260,7 @@ configure-target-libgrust:
esac; \
module_srcdir=libgrust; \
rm -f no-such-file || : ; \
Index: 15/patches/patch-gcc_d_Make-lang_in
===================================================================
RCS file: 15/patches/patch-gcc_d_Make-lang_in
diff -N 15/patches/patch-gcc_d_Make-lang_in
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ 15/patches/patch-gcc_d_Make-lang_in 1 Dec 2025 01:56:58 -0000
@@ -0,0 +1,12 @@
+Index: gcc/d/Make-lang.in
+--- gcc/d/Make-lang.in.orig
++++ gcc/d/Make-lang.in
+@@ -67,7 +67,7 @@ ALL_DFLAGS = $(DFLAGS-$@) $(GDCFLAGS) -fversion=IN_GCC
+ DCOMPILE.base = $(GDC) -c $(ALL_DFLAGS) -o $@
+ DCOMPILE = $(DCOMPILE.base) -MT $@ -MMD -MP -MF $(@D)/$(DEPDIR)/$(basename $(@F)).TPo
+ DPOSTCOMPILE = @mv $(@D)/$(DEPDIR)/$(basename $(@F)).TPo $(@D)/$(DEPDIR)/$(basename $(@F)).Po
+-DLINKER = $(GDC) $(NO_PIE_FLAG) -lstdc++
++DLINKER = $(GDC) $(NO_PIE_FLAG) -lestdc++
+
+ # Like LINKER, but use a mutex for serializing front end links.
+ ifeq ($(DO_LINK_MUTEX),true)
Index: 15/patches/patch-gcc_d_d-lang_cc
===================================================================
RCS file: 15/patches/patch-gcc_d_d-lang_cc
diff -N 15/patches/patch-gcc_d_d-lang_cc
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ 15/patches/patch-gcc_d_d-lang_cc 1 Dec 2025 01:56:58 -0000
@@ -0,0 +1,16 @@
+Index: gcc/d/d-lang.cc
+--- gcc/d/d-lang.cc.orig
++++ gcc/d/d-lang.cc
+@@ -1964,6 +1964,12 @@ const scoped_attribute_specs *const d_langhook_attribu
+ &d_langhook_common_attribute_table,
+ };
+
++extern "C" const char *
++fname_as_string(int pretty_p __attribute__((__unused__)))
++{
++ return NULL;
++}
++
+ /* Definitions for our language-specific hooks. */
+
+ #undef LANG_HOOKS_NAME
Index: 15/patches/patch-gcc_d_d-longdouble_cc
===================================================================
RCS file: 15/patches/patch-gcc_d_d-longdouble_cc
diff -N 15/patches/patch-gcc_d_d-longdouble_cc
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ 15/patches/patch-gcc_d_d-longdouble_cc 1 Dec 2025 01:56:58 -0000
@@ -0,0 +1,22 @@
+Index: gcc/d/d-longdouble.cc
+--- gcc/d/d-longdouble.cc.orig
++++ gcc/d/d-longdouble.cc
+@@ -86,6 +86,18 @@ longdouble::set (uint64_t d)
+ UNSIGNED);
+ }
+
++#if defined(__OpenBSD__) && defined(__LP64__)
++void longdouble::set(long d)
++{
++ set((int64_t)d);
++}
++
++void longdouble::set(unsigned long d)
++{
++ set((uint64_t)d);
++}
++#endif
++
+ uint64_t
+ longdouble::to_uint (void) const
+ {
Index: 15/patches/patch-gcc_d_d-port_cc
===================================================================
RCS file: 15/patches/patch-gcc_d_d-port_cc
diff -N 15/patches/patch-gcc_d_d-port_cc
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ 15/patches/patch-gcc_d_d-port_cc 1 Dec 2025 01:56:58 -0000
@@ -0,0 +1,14 @@
+Index: gcc/d/d-port.cc
+--- gcc/d/d-port.cc.orig
++++ gcc/d/d-port.cc
+@@ -169,3 +169,10 @@ Port::valcpy (void *buffer, uint64_t value, d_size_t s
+ gcc_unreachable ();
+ }
+ }
++
++#if defined(__OpenBSD__) && defined(__LP64__)
++void Port::valcpy(void *dst, unsigned long val, size_t size)
++{
++ valcpy(dst, (uint64_t)val, size);
++}
++#endif
Index: 15/patches/patch-gcc_d_dmd_root_port_h
===================================================================
RCS file: 15/patches/patch-gcc_d_dmd_root_port_h
diff -N 15/patches/patch-gcc_d_dmd_root_port_h
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ 15/patches/patch-gcc_d_dmd_root_port_h 1 Dec 2025 01:56:58 -0000
@@ -0,0 +1,11 @@
+Index: gcc/d/dmd/root/port.h
+--- gcc/d/dmd/root/port.h.orig
++++ gcc/d/dmd/root/port.h
+@@ -32,4 +32,7 @@ struct Port
+ static unsigned readwordLE(const void *buffer);
+ static unsigned readwordBE(const void *buffer);
+ static void valcpy(void *dst, uint64_t val, d_size_t size);
++#if defined(__OpenBSD__) && defined(__LP64__)
++ static void valcpy(void *dst, unsigned long val, size_t size);
++#endif
+ };
Index: 15/patches/patch-gcc_d_longdouble_h
===================================================================
RCS file: 15/patches/patch-gcc_d_longdouble_h
diff -N 15/patches/patch-gcc_d_longdouble_h
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ 15/patches/patch-gcc_d_longdouble_h 1 Dec 2025 01:56:58 -0000
@@ -0,0 +1,14 @@
+Index: gcc/d/longdouble.h
+--- gcc/d/longdouble.h.orig
++++ gcc/d/longdouble.h
+@@ -45,6 +45,10 @@ struct longdouble (public)
+ void set (uint32_t d);
+ void set (uint64_t d);
+ void set (bool d);
++#if defined(__OpenBSD__) && defined(__LP64__)
++ void set (long d);
++ void set (unsigned long d);
++#endif
+
+ /* Rvalue operators. */
+ bool to_bool () const;
Index: 15/patches/patch-libphobos_configure
===================================================================
RCS file: 15/patches/patch-libphobos_configure
diff -N 15/patches/patch-libphobos_configure
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ 15/patches/patch-libphobos_configure 1 Dec 2025 01:56:58 -0000
@@ -0,0 +1,15 @@
+Add fiber asm for powerpc64, to avoid
+"configure: error: setcontext required but not found"
+
+Index: libphobos/configure
+--- libphobos/configure.orig
++++ libphobos/configure
+@@ -15424,7 +15424,7 @@ fi
+ aarch64* | \
+ arm* | \
+ i[34567]86|x86_64 | \
+- powerpc)
++ powerpc*)
+ druntime_fiber_asm_external=yes
+ ;;
+ esac
Index: 15/patches/patch-libphobos_configure_tgt
===================================================================
RCS file: 15/patches/patch-libphobos_configure_tgt
diff -N 15/patches/patch-libphobos_configure_tgt
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ 15/patches/patch-libphobos_configure_tgt 1 Dec 2025 01:56:58 -0000
@@ -0,0 +1,13 @@
+Index: libphobos/configure.tgt
+--- libphobos/configure.tgt.orig
++++ libphobos/configure.tgt
+@@ -30,6 +30,9 @@ case "${target}" in
+ aarch64-*-darwin2*)
+ LIBPHOBOS_SUPPORTED=yes
+ ;;
++ *-*-openbsd*)
++ LIBPHOBOS_SUPPORTED=yes
++ ;;
+ aarch64*-*-linux*)
+ LIBPHOBOS_SUPPORTED=yes
+ ;;
Index: 15/patches/patch-libphobos_libdruntime_Makefile_in
===================================================================
RCS file: 15/patches/patch-libphobos_libdruntime_Makefile_in
diff -N 15/patches/patch-libphobos_libdruntime_Makefile_in
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ 15/patches/patch-libphobos_libdruntime_Makefile_in 1 Dec 2025 01:56:58 -0000
@@ -0,0 +1,14 @@
+Index: libphobos/libdruntime/Makefile.in
+--- libphobos/libdruntime/Makefile.in.orig
++++ libphobos/libdruntime/Makefile.in
+@@ -829,8 +829,9 @@ toolexeclib_LTLIBRARIES = libgdruntime.la
+ libgdruntime_la_SOURCES = $(ALL_DRUNTIME_SOURCES)
+ libgdruntime_la_LIBTOOLFLAGS =
+ @ENABLE_DARWIN_AT_RPATH_TRUE@libgdruntime_darwin_rpath = -Wl,-rpath,@loader_path
++include $(top_srcdir)/../libversions
+ libgdruntime_la_LDFLAGS = -Wc,-nophoboslib,-dstartfiles,-B../src,-Bgcc \
+- -version-info $(libtool_VERSION) $(libgdruntime_darwin_rpath)
++ $(LIBgdruntime_LTVERSION) $(libgdruntime_darwin_rpath)
+
+ libgdruntime_la_LIBADD = $(LIBATOMIC) $(LIBBACKTRACE)
+ libgdruntime_la_DEPENDENCIES = $(DRTSTUFF)
Index: 15/patches/patch-libphobos_libdruntime_config_powerpc_switchcontext_S
===================================================================
RCS file: 15/patches/patch-libphobos_libdruntime_config_powerpc_switchcontext_S
diff -N 15/patches/patch-libphobos_libdruntime_config_powerpc_switchcontext_S
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ 15/patches/patch-libphobos_libdruntime_config_powerpc_switchcontext_S 1 Dec 2025 01:56:58 -0000
@@ -0,0 +1,222 @@
+Add fibers for powerpc64 ELFv2, and fix fibers for 32-bit powerpc ELF.
+The old code was for some other platform (AIX?), not BSD nor Linux.
+This patch fixes OpenBSD but might break the other platform.
+
+This patch doesn't save altivec registers v20..v31, because gcc
+disables altivec by default.
+
+Index: libphobos/libdruntime/config/powerpc/switchcontext.S
+--- libphobos/libdruntime/config/powerpc/switchcontext.S.orig
++++ libphobos/libdruntime/config/powerpc/switchcontext.S
+@@ -24,7 +24,210 @@ see the files COPYING3 and COPYING.RUNTIME respectivel
+
+ #include "../common/threadasm.S"
+
+-#if !defined(__PPC64__) && !defined(__MACH__)
++#if defined(__ELF__)
++
++/**
++ * Performs a context switch.
++ *
++ * r3 - old context pointer
++ * r4 - new context pointer
++ *
++ */
++ .text
++ .globl CSYM(fiber_switchContext)
++ .type CSYM(fiber_switchContext), @function
++ .align 2
++CSYM(fiber_switchContext):
++ .cfi_startproc
++#ifdef __PPC64__
++ /* ELF64 - Save linkage area */
++ mflr 0
++ mfcr 5
++ std 0, 16(1)
++ stw 5, 8(1)
++
++ /* Make room for 18 GPRs, 18 FPRs */
++ addi 6, 1, -18 * 8
++ addi 1, 6, -18 * 8
++
++ /* Save GPRs */
++ std 31, (17 * 8)(6)
++ std 30, (16 * 8)(6)
++ std 29, (15 * 8)(6)
++ std 28, (14 * 8)(6)
++ std 27, (13 * 8)(6)
++ std 26, (12 * 8)(6)
++ std 25, (11 * 8)(6)
++ std 24, (10 * 8)(6)
++ std 23, (9 * 8)(6)
++ std 22, (8 * 8)(6)
++ std 21, (7 * 8)(6)
++ std 20, (6 * 8)(6)
++ std 19, (5 * 8)(6)
++ std 18, (4 * 8)(6)
++ std 17, (3 * 8)(6)
++ std 16, (2 * 8)(6)
++ std 15, (1 * 8)(6)
++ std 14, (0 * 8)(6)
++#else
++ /* ELF32 - Save linkage area */
++ mflr 0
++ mfcr 5
++ stw 0, 4(1)
++
++ /* Make room for 18 GPRs, CR, 18 FPRs; rounding up so r1 stays
++ 16-byte aligned. We must move r1, because ELF32 allows
++ signals to clobber below r1 (no red zone). */
++ addi 6, 1, -20 * 4
++ addi 1, 6, -18 * 8
++
++ /* Save GPRs */
++ stw 31, (19 * 4)(6)
++ stw 30, (18 * 4)(6)
++ stw 29, (17 * 4)(6)
++ stw 28, (16 * 4)(6)
++ stw 27, (15 * 4)(6)
++ stw 26, (14 * 4)(6)
++ stw 25, (13 * 4)(6)
++ stw 24, (12 * 4)(6)
++ stw 23, (11 * 4)(6)
++ stw 22, (10 * 4)(6)
++ stw 21, (9 * 4)(6)
++ stw 20, (8 * 4)(6)
++ stw 19, (7 * 4)(6)
++ stw 18, (6 * 4)(6)
++ stw 17, (5 * 4)(6)
++ stw 16, (4 * 4)(6)
++ stw 15, (3 * 4)(6)
++ stw 14, (2 * 4)(6)
++
++ /* Save condition register */
++ stw 5, 0(6)
++#endif
++
++ /* ELF32 and ELF64 - Save FPRs */
++ stfd 31, (-1 * 8)(6)
++ stfd 30, (-2 * 8)(6)
++ stfd 29, (-3 * 8)(6)
++ stfd 28, (-4 * 8)(6)
++ stfd 27, (-5 * 8)(6)
++ stfd 26, (-6 * 8)(6)
++ stfd 25, (-7 * 8)(6)
++ stfd 24, (-8 * 8)(6)
++ stfd 23, (-9 * 8)(6)
++ stfd 22, (-10 * 8)(6)
++ stfd 21, (-11 * 8)(6)
++ stfd 20, (-12 * 8)(6)
++ stfd 19, (-13 * 8)(6)
++ stfd 18, (-14 * 8)(6)
++ stfd 17, (-15 * 8)(6)
++ stfd 16, (-16 * 8)(6)
++ stfd 15, (-17 * 8)(6)
++ stfd 14, (-18 * 8)(6)
++
++ /* Save r6 in the old context, since we do not want the GC to
++ scan the floating point registers. */
++
++#ifdef __PPC64__
++ /* ELF64 - Update the old stack pointer */
++ std 6, 0(3)
++
++ /* Set new stack pointer */
++ addi 1, 4, -18 * 8
++
++ /* Set condition and link register. If lr is &fiber_entryPoint,
++ then ELFv2 ABI needs the same address in r12. */
++ lwz 5, (18 * 8 + 8)(4)
++ ld 12, (18 * 8 + 16)(4)
++ mtcr 5
++ mtlr 12
++#else
++ /* ELF32 - Update the old stack pointer */
++ stw 6, 0(3)
++
++ /* Set new stack pointer */
++ addi 1, 4, -18 * 8
++
++ /* Set condition and link register */
++ lwz 5, 0(4)
++ lwz 12, (20 * 4 + 4)(4)
++ mtcr 5
++ mtlr 12
++#endif
++
++ /* PPC32 and PPC64 - Restore FPRs */
++ lfd 14, (-18 * 8)(4)
++ lfd 15, (-17 * 8)(4)
++ lfd 16, (-16 * 8)(4)
++ lfd 17, (-15 * 8)(4)
++ lfd 18, (-14 * 8)(4)
++ lfd 19, (-13 * 8)(4)
++ lfd 20, (-12 * 8)(4)
++ lfd 21, (-11 * 8)(4)
++ lfd 22, (-10 * 8)(4)
++ lfd 23, (-9 * 8)(4)
++ lfd 24, (-8 * 8)(4)
++ lfd 25, (-7 * 8)(4)
++ lfd 26, (-6 * 8)(4)
++ lfd 27, (-5 * 8)(4)
++ lfd 28, (-4 * 8)(4)
++ lfd 29, (-3 * 8)(4)
++ lfd 30, (-2 * 8)(4)
++ lfd 31, (-1 * 8)(4)
++
++#ifdef __PPC64__
++ /* PPC64 - Restore GPRs */
++ ld 14, (0 * 8)(4)
++ ld 15, (1 * 8)(4)
++ ld 16, (2 * 8)(4)
++ ld 17, (3 * 8)(4)
++ ld 18, (4 * 8)(4)
++ ld 19, (5 * 8)(4)
++ ld 20, (6 * 8)(4)
++ ld 21, (7 * 8)(4)
++ ld 22, (8 * 8)(4)
++ ld 23, (9 * 8)(4)
++ ld 24, (10 * 8)(4)
++ ld 25, (11 * 8)(4)
++ ld 26, (12 * 8)(4)
++ ld 27, (13 * 8)(4)
++ ld 28, (14 * 8)(4)
++ ld 29, (15 * 8)(4)
++ ld 30, (16 * 8)(4)
++ ld 31, (17 * 8)(4)
++
++ /* Return and switch context */
++ addi 1, 4, 18 * 8
++ blr
++#else
++ /* PPC32 - Restore GPRs */
++ lwz 14, (2 * 4)(4)
++ lwz 15, (3 * 4)(4)
++ lwz 16, (4 * 4)(4)
++ lwz 17, (5 * 4)(4)
++ lwz 18, (6 * 4)(4)
++ lwz 19, (7 * 4)(4)
++ lwz 20, (8 * 4)(4)
++ lwz 21, (9 * 4)(4)
++ lwz 22, (10 * 4)(4)
++ lwz 23, (11 * 4)(4)
++ lwz 24, (12 * 4)(4)
++ lwz 25, (13 * 4)(4)
++ lwz 26, (14 * 4)(4)
++ lwz 27, (15 * 4)(4)
++ lwz 28, (16 * 4)(4)
++ lwz 29, (17 * 4)(4)
++ lwz 30, (18 * 4)(4)
++ lwz 31, (19 * 4)(4)
++
++ /* Return and switch context */
++ addi 1, 4, 20 * 4
++ blr
++#endif
++ .cfi_endproc
++ .size CSYM(fiber_switchContext),.-CSYM(fiber_switchContext)
++
++#elif !defined(__PPC64__) && !defined(__MACH__)
+
+ /**
+ * Performs a context switch.
Index: 15/patches/patch-libphobos_libdruntime_config_x86_switchcontext_S
===================================================================
RCS file: 15/patches/patch-libphobos_libdruntime_config_x86_switchcontext_S
diff -N 15/patches/patch-libphobos_libdruntime_config_x86_switchcontext_S
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ 15/patches/patch-libphobos_libdruntime_config_x86_switchcontext_S 1 Dec 2025 01:56:58 -0000
@@ -0,0 +1,46 @@
+Original approach build on assumption that ucontext is available and CET
+always means Shadow Stack. Both aren't true for OpenBSD.
+
+This patch fixes OpenBSD but might break the other platform.
+
+Index: libphobos/libdruntime/config/x86/switchcontext.S
+--- libphobos/libdruntime/config/x86/switchcontext.S.orig
++++ libphobos/libdruntime/config/x86/switchcontext.S
+@@ -27,10 +27,10 @@ see the files COPYING3 and COPYING.RUNTIME respectivel
+ /* NB: Generate the CET marker for -fcf-protection. */
+ #ifdef __CET__
+ # include <cet.h>
++#else
++# define _CET_ENDBR
+ #endif
+
+-#if !defined(__CET__)
+-
+ # if defined(__ELF__)
+
+ # if defined(__i386__)
+@@ -41,6 +41,7 @@ see the files COPYING3 and COPYING.RUNTIME respectivel
+ .align 16
+ CSYM(fiber_switchContext):
+ .cfi_startproc
++ _CET_ENDBR
+ // save current stack state
+ push %ebp
+ mov %esp, %ebp
+@@ -77,6 +78,7 @@ CSYM(fiber_switchContext):
+ .align 16
+ CSYM(fiber_switchContext):
+ .cfi_startproc
++ _CET_ENDBR
+ // Save current stack state.save current stack state
+ push %rbp
+ mov %rsp, %rbp
+@@ -107,6 +109,8 @@ CSYM(fiber_switchContext):
+ # endif /* defined(__ELF__) && defined(__x86_64__) && !defined(__ILP32__) */
+
+ # endif /* defined(__ELF__) */
++
++#if !defined(__CET__)
+
+ # if defined(__MACH__)
+
Index: 15/patches/patch-libphobos_libdruntime_core_stdc_stdio_d
===================================================================
RCS file: 15/patches/patch-libphobos_libdruntime_core_stdc_stdio_d
diff -N 15/patches/patch-libphobos_libdruntime_core_stdc_stdio_d
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ 15/patches/patch-libphobos_libdruntime_core_stdc_stdio_d 1 Dec 2025 01:56:58 -0000
@@ -0,0 +1,160 @@
+https://github.com/dlang/dmd/commit/bbd2b459ce0ee84b6c29f020d8509aa096f7e405
+
+Index: libphobos/libdruntime/core/stdc/stdio.d
+--- libphobos/libdruntime/core/stdc/stdio.d.orig
++++ libphobos/libdruntime/core/stdc/stdio.d
+@@ -611,31 +611,7 @@ else version (OpenBSD)
+ ///
+ struct __sFILE
+ {
+- ubyte* _p;
+- int _r;
+- int _w;
+- short _flags;
+- short _file;
+- __sbuf _bf;
+- int _lbfsize;
+-
+- void* _cookie;
+- int function(void*) _close;
+- int function(void*, scope char*, int) _read;
+- fpos_t function(void*, fpos_t, int) _seek;
+- int function(void*, scope const char*, int) _write;
+-
+- __sbuf _ext;
+- ubyte* _up;
+- int _ur;
+-
+- ubyte[3] _ubuf;
+- ubyte[1] _nbuf;
+-
+- __sbuf _lb;
+-
+- int _blksize;
+- fpos_t _offset;
++ void* dummy;
+ }
+
+ ///
+@@ -1019,16 +995,22 @@ else version (OpenBSD)
+ _IONBF = 2,
+ }
+
+- private extern shared FILE[3] __sF;
+- @property auto __stdin()() { return &__sF[0]; }
+- @property auto __stdout()() { return &__sF[1]; }
+- @property auto __stderr()() { return &__sF[2]; }
++ struct __sFstub { long _stub; }
++
++ private extern shared __sFstub[1] __stdin;
++ private extern shared __sFstub[1] __stdout;
++ private extern shared __sFstub[1] __stderr;
++
++ @property auto __stdin1()() { return cast(FILE*)__stdin; }
++ @property auto __stdout1()() { return cast(FILE*)__stdout; }
++ @property auto __stderr1()() { return cast(FILE*)__stderr; }
++
+ ///
+- alias __stdin stdin;
++ alias __stdin1 stdin;
+ ///
+- alias __stdout stdout;
++ alias __stdout1 stdout;
+ ///
+- alias __stderr stderr;
++ alias __stderr1 stderr;
+ }
+ else version (DragonFlyBSD)
+ {
+@@ -1727,83 +1709,14 @@ else version (OpenBSD)
+ {
+ ///
+ void rewind(FILE*);
+- }
+- @trusted private
+- {
+- ///
+- pragma(mangle, "clearerr")
+- pure void __clearerr(FILE*);
+- ///
+- pragma(mangle, "feof")
+- pure int __feof(FILE*);
+- ///
+- pragma(mangle, "ferror")
+- pure int __ferror(FILE*);
+- ///
+- pragma(mangle, "fileno")
+- int __fileno(FILE*);
+- }
+-
+- enum __SLBF = 0x0001;
+- enum __SNBF = 0x0002;
+- enum __SRD = 0x0004;
+- enum __SWR = 0x0008;
+- enum __SRW = 0x0010;
+- enum __SEOF = 0x0020;
+- enum __SERR = 0x0040;
+- enum __SMBF = 0x0080;
+- enum __SAPP = 0x0100;
+- enum __SSTR = 0x0200;
+- enum __SOPT = 0x0400;
+- enum __SNPT = 0x0800;
+- enum __SOFF = 0x1000;
+- enum __SMOD = 0x2000;
+- enum __SALC = 0x4000;
+- enum __SIGN = 0x8000;
+-
+- extern immutable __gshared int __isthreaded;
+-
+- extern (D) @trusted
+- {
+- void __sclearerr()(FILE* p)
+- {
+- p._flags = p._flags & ~(__SERR|__SEOF);
+- }
+-
+- int __sfeof()(FILE* p)
+- {
+- return (p._flags & __SEOF) != 0;
+- }
+-
+- int __sferror()(FILE* p)
+- {
+- return (p._flags & __SERR) != 0;
+- }
+-
+- int __sfileno()(FILE* p)
+- {
+- return p._file;
+- }
+-
+- pure void clearerr()(FILE* file)
+- {
+- !__isthreaded ? __sclearerr(file) : __clearerr(file);
+- }
+-
+- pure int feof()(FILE* file)
+- {
+- return !__isthreaded ? __sfeof(file) : __feof(file);
+- }
+-
+- pure int ferror()(FILE* file)
+- {
+- return !__isthreaded ? __sferror(file) : __ferror(file);
+- }
+-
+- int fileno()(FILE* file)
+- {
+- return !__isthreaded ? __sfileno(file) : __fileno(file);
+- }
++ ///
++ pure void clearerr(FILE*);
++ ///
++ pure int feof(FILE*);
++ ///
++ pure int ferror(FILE*);
++ ///
++ int fileno(FILE*);
+ }
+
+ ///
Index: 15/patches/patch-libphobos_libdruntime_core_sys_openbsd_dlfcn_d
===================================================================
RCS file: 15/patches/patch-libphobos_libdruntime_core_sys_openbsd_dlfcn_d
diff -N 15/patches/patch-libphobos_libdruntime_core_sys_openbsd_dlfcn_d
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ 15/patches/patch-libphobos_libdruntime_core_sys_openbsd_dlfcn_d 1 Dec 2025 01:56:58 -0000
@@ -0,0 +1,22 @@
+Index: libphobos/libdruntime/core/sys/openbsd/dlfcn.d
+--- libphobos/libdruntime/core/sys/openbsd/dlfcn.d.orig
++++ libphobos/libdruntime/core/sys/openbsd/dlfcn.d
+@@ -15,6 +15,9 @@ enum RTLD_NEXT = cast(void *)-1;
+ enum RTLD_DEFAULT = cast(void *)-2;
+ enum RTLD_SELF = cast(void *)-3;
+
++enum RTLD_NOLOAD = 0;
++enum RTLD_DI_LINKMAP = 0;
++
+ enum DL_GETERRNO = 1;
+ enum DL_SETTHREADLCK = 2;
+ enum DL_SETBINDLCK = 3;
+@@ -23,3 +26,8 @@ enum DL_REFERENCE = 4;
+ enum DL_LAZY = RTLD_LAZY;
+
+ int dlctl(void *, int, void *);
++
++int dlinfo(void *handle, int request, void *p) nothrow @nogc
++{
++ return 0;
++}
Index: 15/patches/patch-libphobos_libdruntime_core_sys_openbsd_execinfo_d
===================================================================
RCS file: 15/patches/patch-libphobos_libdruntime_core_sys_openbsd_execinfo_d
diff -N 15/patches/patch-libphobos_libdruntime_core_sys_openbsd_execinfo_d
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ 15/patches/patch-libphobos_libdruntime_core_sys_openbsd_execinfo_d 1 Dec 2025 01:56:58 -0000
@@ -0,0 +1,147 @@
+Index: libphobos/libdruntime/core/sys/openbsd/execinfo.d
+--- libphobos/libdruntime/core/sys/openbsd/execinfo.d.orig
++++ libphobos/libdruntime/core/sys/openbsd/execinfo.d
+@@ -11,10 +11,137 @@ module core.sys.openbsd.execinfo;
+ version (OpenBSD):
+ extern (C):
+ nothrow:
+-@nogc:
+
+-size_t backtrace(void**, size_t);
+-char** backtrace_symbols(const(void*)*, size_t);
+-void backtrace_symbols_fd(const(void*)*, size_t, int);
+-char** backtrace_symbols_fmt(const(void*)*, size_t, const char*);
+-int backtrace_symbols_fd_fmt(const(void*)*, size_t, int, const char*);
++version (GNU)
++ version = BacktraceExternal;
++
++version (BacktraceExternal)
++{
++ size_t backtrace(void**, size_t);
++ char** backtrace_symbols(const(void*)*, size_t);
++ void backtrace_symbols_fd(const(void*)*, size_t, int);
++ char** backtrace_symbols_fmt(const(void*)*, size_t, const char*);
++ int backtrace_symbols_fd_fmt(const(void*)*, size_t, int, const char*);
++}
++else
++{
++ import core.sys.openbsd.dlfcn;
++
++ // Use extern (D) so that these functions don't collide with libexecinfo.
++
++ extern (D) int backtrace(void** buffer, int size)
++ {
++ import core.thread : thread_stackBottom;
++
++ void** p, pend=cast(void**)thread_stackBottom();
++ version (D_InlineAsm_X86)
++ asm nothrow @trusted { mov p[EBP], EBP; }
++ else version (D_InlineAsm_X86_64)
++ asm nothrow @trusted { mov p[RBP], RBP; }
++ else
++ static assert(false, "Architecture not supported.");
++
++ int i;
++ for (; i < size && p < pend; ++i)
++ {
++ buffer[i] = *(p + 1);
++ auto pnext = cast(void**)*p;
++ if (pnext <= p) break;
++ p = pnext;
++ }
++ return i;
++ }
++
++
++ extern (D) char** backtrace_symbols(const(void*)* buffer, int size)
++ {
++ static void* realloc(void* p, size_t len) nothrow
++ {
++ static import cstdlib=core.stdc.stdlib;
++ auto res = cstdlib.realloc(p, len);
++ if (res is null) cstdlib.free(p);
++ return res;
++ }
++
++ if (size <= 0) return null;
++
++ size_t pos = size * (char*).sizeof;
++ char** p = cast(char**)realloc(null, pos);
++ if (p is null) return null;
++
++ Dl_info info;
++ foreach (i, addr; buffer[0 .. size])
++ {
++ if (dladdr(addr, &info) == 0)
++ (cast(ubyte*)&info)[0 .. info.sizeof] = 0;
++ fixupDLInfo(addr, info);
++
++ immutable len = formatStackFrame(null, 0, addr, info);
++ assert(len > 0);
++
++ p = cast(char**)realloc(p, pos + len);
++ if (p is null) return null;
++
++ formatStackFrame(cast(char*)p + pos, len, addr, info) == len || assert(0);
++
++ p[i] = cast(char*)pos;
++ pos += len;
++ }
++ foreach (i; 0 .. size)
++ {
++ pos = cast(size_t)p[i];
++ p[i] = cast(char*)p + pos;
++ }
++ return p;
++ }
++
++
++ extern (D) void backtrace_symbols_fd(const(void*)* buffer, int size, int fd)
++ {
++ import core.sys.posix.unistd : write;
++ import core.stdc.stdlib : alloca;
++
++ if (size <= 0) return;
++
++ Dl_info info;
++ foreach (i, addr; buffer[0 .. size])
++ {
++ if (dladdr(addr, &info) == 0)
++ (cast(ubyte*)&info)[0 .. info.sizeof] = 0;
++ fixupDLInfo(addr, info);
++
++ enum maxAlloca = 1024;
++ enum min = (size_t a, size_t b) => a <= b ? a : b;
++ immutable len = min(formatStackFrame(null, 0, addr, info), maxAlloca);
++ assert(len > 0);
++
++ auto p = cast(char*)alloca(len);
++ if (p is null) return;
++
++ formatStackFrame(p, len, addr, info) >= len || assert(0);
++ p[len - 1] = '\n';
++ write(fd, p, len);
++ }
++ }
++
++
++ private void fixupDLInfo(const(void)* addr, ref Dl_info info)
++ {
++ if (info.dli_fname is null) info.dli_fname = "???";
++ if (info.dli_fbase is null) info.dli_fbase = null;
++ if (info.dli_sname is null) info.dli_sname = "???";
++ if (info.dli_saddr is null) info.dli_saddr = cast(void*)addr;
++ }
++
++
++ private size_t formatStackFrame(char* p, size_t plen, const(void)* addr, const ref Dl_info info)
++ {
++ import core.stdc.stdio : snprintf;
++
++ immutable off = addr - info.dli_saddr;
++ immutable len = snprintf(p, plen, "%p <%s+%zd> at %s",
++ addr, info.dli_sname, off, info.dli_fname);
++ assert(len > 0);
++ return cast(size_t)len + 1; // + '\0'
++ }
++}
Index: 15/patches/patch-libphobos_libdruntime_core_sys_posix_config_d
===================================================================
RCS file: 15/patches/patch-libphobos_libdruntime_core_sys_posix_config_d
diff -N 15/patches/patch-libphobos_libdruntime_core_sys_posix_config_d
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ 15/patches/patch-libphobos_libdruntime_core_sys_posix_config_d 1 Dec 2025 01:56:58 -0000
@@ -0,0 +1,16 @@
+Index: libphobos/libdruntime/core/sys/posix/config.d
+--- libphobos/libdruntime/core/sys/posix/config.d.orig
++++ libphobos/libdruntime/core/sys/posix/config.d
+@@ -196,6 +196,12 @@ else version (OpenBSD)
+ enum _STACKALIGNBYTES = 15;
+ enum _MAX_PAGE_SHIFT = 12;
+ }
++ else version (PPC64)
++ {
++ enum _ALIGNBYTES = 7;
++ enum _STACKALIGNBYTES = 15;
++ enum _MAX_PAGE_SHIFT = 12;
++ }
+ else version (SPARC64)
+ {
+ enum _ALIGNBYTES = 15;
Index: 15/patches/patch-libphobos_libdruntime_core_sys_posix_setjmp_d
===================================================================
RCS file: 15/patches/patch-libphobos_libdruntime_core_sys_posix_setjmp_d
diff -N 15/patches/patch-libphobos_libdruntime_core_sys_posix_setjmp_d
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ 15/patches/patch-libphobos_libdruntime_core_sys_posix_setjmp_d 1 Dec 2025 01:56:58 -0000
@@ -0,0 +1,25 @@
+Index: libphobos/libdruntime/core/sys/posix/setjmp.d
+--- libphobos/libdruntime/core/sys/posix/setjmp.d.orig
++++ libphobos/libdruntime/core/sys/posix/setjmp.d
+@@ -283,6 +283,10 @@ else version (OpenBSD)
+ {
+ enum _JBLEN = 100;
+ }
++ else version (PPC64)
++ {
++ enum _JBLEN = 208;
++ }
+ else version (MIPS64)
+ {
+ enum _JBLEN = 83;
+@@ -294,6 +298,10 @@ else version (OpenBSD)
+ else version (SPARC64)
+ {
+ enum _JBLEN = 14;
++ }
++ else version (AArch64)
++ {
++ enum _JBLEN = 64;
+ }
+ else
+ static assert(0);
Index: 15/patches/patch-libphobos_libdruntime_core_sys_posix_sys_mman_d
===================================================================
RCS file: 15/patches/patch-libphobos_libdruntime_core_sys_posix_sys_mman_d
diff -N 15/patches/patch-libphobos_libdruntime_core_sys_posix_sys_mman_d
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ 15/patches/patch-libphobos_libdruntime_core_sys_posix_sys_mman_d 1 Dec 2025 01:56:58 -0000
@@ -0,0 +1,13 @@
+Fiber needs mmap(2) MAP_STACK.
+
+Index: libphobos/libdruntime/core/sys/posix/sys/mman.d
+--- libphobos/libdruntime/core/sys/posix/sys/mman.d.orig
++++ libphobos/libdruntime/core/sys/posix/sys/mman.d
+@@ -454,6 +454,7 @@ else version (DragonFlyBSD)
+ enum MAP_PRIVATE = 0x0002;
+ enum MAP_FIXED = 0x0010;
+ enum MAP_ANON = 0x1000;
++ enum MAP_STACK = 0x4000;
+
+ enum MAP_FAILED = cast(void*)-1;
+
Index: 15/patches/patch-libphobos_libdruntime_core_sys_posix_ucontext_d
===================================================================
RCS file: 15/patches/patch-libphobos_libdruntime_core_sys_posix_ucontext_d
diff -N 15/patches/patch-libphobos_libdruntime_core_sys_posix_ucontext_d
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ 15/patches/patch-libphobos_libdruntime_core_sys_posix_ucontext_d 1 Dec 2025 01:56:58 -0000
@@ -0,0 +1,29 @@
+Index: libphobos/libdruntime/core/sys/posix/ucontext.d
+--- libphobos/libdruntime/core/sys/posix/ucontext.d.orig
++++ libphobos/libdruntime/core/sys/posix/ucontext.d
+@@ -1275,6 +1275,25 @@ else version (OpenBSD)
+ trapframe sc_frame;
+ }
+ }
++ else version (PPC64)
++ {
++ struct sigcontext
++ {
++ c_long sc_cookie;
++ int sc_mask;
++ c_long[32] sc_reg;
++ c_long sc_lr;
++ c_long sc_cr;
++ c_long sc_xer;
++ c_long sc_ctr;
++ c_long sc_pc;
++ c_long sc_ps;
++ c_long sc_vrsave;
++ ulong[2][64] sc_vsx; // __uint128_t
++ ulong sc_fpscr;
++ ulong sc_vcsr;
++ }
++ }
+ else version (SPARC64)
+ {
+ struct sigcontext
Index: 15/patches/patch-libphobos_libdruntime_core_thread_fiber_package_d
===================================================================
RCS file: 15/patches/patch-libphobos_libdruntime_core_thread_fiber_package_d
diff -N 15/patches/patch-libphobos_libdruntime_core_thread_fiber_package_d
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ 15/patches/patch-libphobos_libdruntime_core_thread_fiber_package_d 1 Dec 2025 01:56:58 -0000
@@ -0,0 +1,78 @@
+Add fibers for powerpc64 ELFv2, and fix fibers for 32-bit powerpc ELF.
+The old code was for some other platform (AIX?), not BSD nor Linux.
+This patch fixes OpenBSD but might break the other platform.
+
+Index: libphobos/libdruntime/core/thread/fiber/package.d
+--- libphobos/libdruntime/core/thread/fiber/package.d.orig
++++ libphobos/libdruntime/core/thread/fiber/package.d
+@@ -94,8 +94,13 @@ package
+ {
+ version = AlignFiberStackTo16Byte;
+
+- version (GNU_CET)
++ version (OpenBSD)
+ {
++ version = AsmExternal;
++ version = AsmX86_64_Posix;
++ }
++ else version (GNU_CET)
++ {
+ // fiber_switchContext does not support shadow stack from
+ // Intel CET. So use ucontext implementation.
+ }
+@@ -127,6 +132,7 @@ package
+ {
+ version = AsmPPC_Posix;
+ version = AsmExternal;
++ version = AlignFiberStackTo16Byte;
+ }
+ }
+ else version (PPC64)
+@@ -139,6 +145,8 @@ package
+ }
+ else version (Posix)
+ {
++ version = AsmPPC_Posix;
++ version = AsmExternal;
+ version = AlignFiberStackTo16Byte;
+ }
+ }
+@@ -1075,27 +1083,22 @@ class Fiber : FiberBase (protected)
+ }
+ else version (AsmPPC_Posix)
+ {
+- version (StackGrowsDown)
+- {
+- pstack -= int.sizeof * 5;
+- }
+- else
+- {
+- pstack += int.sizeof * 5;
+- }
++ version (StackGrowsDown) {} else static assert (false);
+
+- push( cast(size_t) &fiber_entryPoint ); // link register
+- push( 0x00000000 ); // control register
+- push( 0x00000000 ); // old stack pointer
+-
+- // GPR values
+- version (StackGrowsDown)
++ version (PPC64)
+ {
+- pstack -= int.sizeof * 20;
++ pstack -= size_t.sizeof * 5;
++ push( cast(size_t) &fiber_entryPoint); // link register
++ push( 0x00000000_00000000 ); // condition register
++ push( 0x00000000_00000000 ); // old stack pointer
++ pstack -= size_t.sizeof * 18; // GPRs
+ }
+ else
+ {
+- pstack += int.sizeof * 20;
++ pstack -= size_t.sizeof * 6;
++ push( cast(size_t) &fiber_entryPoint); // link register
++ push( 0x00000000 ); // old stack pointer
++ pstack -= size_t.sizeof * 20; // GPRs and CR
+ }
+
+ assert( (cast(size_t) pstack & 0x0f) == 0 );
Index: 15/patches/patch-libphobos_src_Makefile_in
===================================================================
RCS file: 15/patches/patch-libphobos_src_Makefile_in
diff -N 15/patches/patch-libphobos_src_Makefile_in
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ 15/patches/patch-libphobos_src_Makefile_in 1 Dec 2025 01:56:58 -0000
@@ -0,0 +1,14 @@
+Index: libphobos/src/Makefile.in
+--- libphobos/src/Makefile.in.orig
++++ libphobos/src/Makefile.in
+@@ -540,8 +540,9 @@ toolexeclib_LTLIBRARIES = libgphobos.la
+ libgphobos_la_SOURCES = $(ALL_PHOBOS_SOURCES)
+ libgphobos_la_LIBTOOLFLAGS =
+ @ENABLE_DARWIN_AT_RPATH_TRUE@libgphobos_darwin_rpath = -Wl,-rpath,@loader_path
++include $(top_srcdir)/../libversions
+ libgphobos_la_LDFLAGS = -Wc,-nophoboslib,-dstartfiles,-B../libdruntime/gcc \
+- -version-info $(libtool_VERSION) $(libgphobos_darwin_rpath)
++ $(LIBgphobos_LTVERSION) $(libgphobos_darwin_rpath)
+
+ @ENABLE_LIBDRUNTIME_ONLY_FALSE@libgphobos_la_LIBADD = \
+ @ENABLE_LIBDRUNTIME_ONLY_FALSE@ ../libdruntime/libgdruntime_convenience.la $(LIBZ)
Index: 15/pkg/PLIST-dlang
===================================================================
RCS file: 15/pkg/PLIST-dlang
diff -N 15/pkg/PLIST-dlang
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ 15/pkg/PLIST-dlang 1 Dec 2025 01:56:59 -0000
@@ -0,0 +1,823 @@
+@bin bin/egdc
+@bin bin/${CONFIG}-egdc
+@info info/gdc.info
+lib/gcc/${CONFIG}/${V}/include/d/
+lib/gcc/${CONFIG}/${V}/include/d/__importc_builtins.di
+lib/gcc/${CONFIG}/${V}/include/d/__main.di
+lib/gcc/${CONFIG}/${V}/include/d/core/
+lib/gcc/${CONFIG}/${V}/include/d/core/atomic.d
+lib/gcc/${CONFIG}/${V}/include/d/core/attribute.d
+lib/gcc/${CONFIG}/${V}/include/d/core/bitop.d
+lib/gcc/${CONFIG}/${V}/include/d/core/builtins.d
+lib/gcc/${CONFIG}/${V}/include/d/core/checkedint.d
+lib/gcc/${CONFIG}/${V}/include/d/core/cpuid.d
+lib/gcc/${CONFIG}/${V}/include/d/core/demangle.d
+lib/gcc/${CONFIG}/${V}/include/d/core/exception.d
+lib/gcc/${CONFIG}/${V}/include/d/core/factory.d
+lib/gcc/${CONFIG}/${V}/include/d/core/gc/
+lib/gcc/${CONFIG}/${V}/include/d/core/gc/config.d
+lib/gcc/${CONFIG}/${V}/include/d/core/gc/gcinterface.d
+lib/gcc/${CONFIG}/${V}/include/d/core/gc/registry.d
+lib/gcc/${CONFIG}/${V}/include/d/core/int128.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/abort.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/array/
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/array/appending.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/array/arrayassign.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/array/capacity.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/array/casting.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/array/comparison.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/array/concatenation.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/array/construction.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/array/duplication.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/array/equality.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/array/operations.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/array/utils.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/atomic.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/attributes.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/container/
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/container/array.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/container/common.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/container/hashtab.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/container/treap.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/convert.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/dassert.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/destruction.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/entrypoint.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/gc/
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/gc/bits.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/gc/blkcache.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/gc/blockmeta.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/gc/impl/
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/gc/impl/conservative/
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/gc/impl/conservative/gc.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/gc/impl/manual/
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/gc/impl/manual/gc.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/gc/impl/proto/
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/gc/impl/proto/gc.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/gc/os.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/gc/pooltable.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/gc/proxy.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/hash.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/lifetime.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/moving.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/newaa.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/parseoptions.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/postblit.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/qsort.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/spinlock.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/string.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/switch_.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/traits.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/utf.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/util/
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/util/array.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/util/math.d
+lib/gcc/${CONFIG}/${V}/include/d/core/interpolation.d
+lib/gcc/${CONFIG}/${V}/include/d/core/lifetime.d
+lib/gcc/${CONFIG}/${V}/include/d/core/math.d
+lib/gcc/${CONFIG}/${V}/include/d/core/memory.d
+lib/gcc/${CONFIG}/${V}/include/d/core/runtime.d
+lib/gcc/${CONFIG}/${V}/include/d/core/simd.d
+lib/gcc/${CONFIG}/${V}/include/d/core/stdc/
+lib/gcc/${CONFIG}/${V}/include/d/core/stdc/assert_.d
+lib/gcc/${CONFIG}/${V}/include/d/core/stdc/complex.d
+lib/gcc/${CONFIG}/${V}/include/d/core/stdc/config.d
+lib/gcc/${CONFIG}/${V}/include/d/core/stdc/ctype.d
+lib/gcc/${CONFIG}/${V}/include/d/core/stdc/errno.d
+lib/gcc/${CONFIG}/${V}/include/d/core/stdc/fenv.d
+lib/gcc/${CONFIG}/${V}/include/d/core/stdc/float_.d
+lib/gcc/${CONFIG}/${V}/include/d/core/stdc/inttypes.d
+lib/gcc/${CONFIG}/${V}/include/d/core/stdc/limits.d
+lib/gcc/${CONFIG}/${V}/include/d/core/stdc/locale.d
+lib/gcc/${CONFIG}/${V}/include/d/core/stdc/math.d
+lib/gcc/${CONFIG}/${V}/include/d/core/stdc/signal.d
+lib/gcc/${CONFIG}/${V}/include/d/core/stdc/stdarg.d
+lib/gcc/${CONFIG}/${V}/include/d/core/stdc/stdatomic.d
+lib/gcc/${CONFIG}/${V}/include/d/core/stdc/stddef.d
+lib/gcc/${CONFIG}/${V}/include/d/core/stdc/stdint.d
+lib/gcc/${CONFIG}/${V}/include/d/core/stdc/stdio.d
+lib/gcc/${CONFIG}/${V}/include/d/core/stdc/stdlib.d
+lib/gcc/${CONFIG}/${V}/include/d/core/stdc/string.d
+lib/gcc/${CONFIG}/${V}/include/d/core/stdc/tgmath.d
+lib/gcc/${CONFIG}/${V}/include/d/core/stdc/time.d
+lib/gcc/${CONFIG}/${V}/include/d/core/stdc/wchar_.d
+lib/gcc/${CONFIG}/${V}/include/d/core/stdc/wctype.d
+lib/gcc/${CONFIG}/${V}/include/d/core/stdcpp/
+lib/gcc/${CONFIG}/${V}/include/d/core/stdcpp/allocator.d
+lib/gcc/${CONFIG}/${V}/include/d/core/stdcpp/array.d
+lib/gcc/${CONFIG}/${V}/include/d/core/stdcpp/exception.d
+lib/gcc/${CONFIG}/${V}/include/d/core/stdcpp/memory.d
+lib/gcc/${CONFIG}/${V}/include/d/core/stdcpp/new_.d
+lib/gcc/${CONFIG}/${V}/include/d/core/stdcpp/string.d
+lib/gcc/${CONFIG}/${V}/include/d/core/stdcpp/string_view.d
+lib/gcc/${CONFIG}/${V}/include/d/core/stdcpp/type_traits.d
+lib/gcc/${CONFIG}/${V}/include/d/core/stdcpp/typeinfo.d
+lib/gcc/${CONFIG}/${V}/include/d/core/stdcpp/utility.d
+lib/gcc/${CONFIG}/${V}/include/d/core/stdcpp/vector.d
+lib/gcc/${CONFIG}/${V}/include/d/core/stdcpp/xutility.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sync/
+lib/gcc/${CONFIG}/${V}/include/d/core/sync/barrier.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sync/condition.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sync/config.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sync/event.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sync/exception.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sync/mutex.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sync/package.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sync/rwmutex.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sync/semaphore.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/bionic/
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/bionic/err.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/bionic/fcntl.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/bionic/stdlib.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/bionic/string.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/bionic/unistd.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/darwin/
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/darwin/config.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/darwin/crt_externs.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/darwin/dlfcn.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/darwin/err.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/darwin/execinfo.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/darwin/fcntl.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/darwin/ifaddrs.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/darwin/mach/
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/darwin/mach/dyld.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/darwin/mach/getsect.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/darwin/mach/kern_return.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/darwin/mach/loader.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/darwin/mach/nlist.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/darwin/mach/port.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/darwin/mach/semaphore.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/darwin/mach/stab.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/darwin/mach/thread_act.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/darwin/netinet/
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/darwin/netinet/in_.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/darwin/pthread.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/darwin/stdlib.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/darwin/string.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/darwin/sys/
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/darwin/sys/attr.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/darwin/sys/cdefs.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/darwin/sys/event.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/darwin/sys/mman.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/darwin/sys/sysctl.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/dragonflybsd/
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/dragonflybsd/dlfcn.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/dragonflybsd/err.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/dragonflybsd/execinfo.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/dragonflybsd/netinet/
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/dragonflybsd/netinet/in_.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/dragonflybsd/pthread_np.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/dragonflybsd/stdlib.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/dragonflybsd/string.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/dragonflybsd/sys/
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/dragonflybsd/sys/_bitset.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/dragonflybsd/sys/_cpuset.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/dragonflybsd/sys/cdefs.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/dragonflybsd/sys/elf.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/dragonflybsd/sys/elf32.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/dragonflybsd/sys/elf64.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/dragonflybsd/sys/elf_common.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/dragonflybsd/sys/event.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/dragonflybsd/sys/link_elf.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/dragonflybsd/sys/mman.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/dragonflybsd/sys/socket.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/dragonflybsd/sys/sysctl.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/dragonflybsd/time.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/elf/
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/elf/package.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/freebsd/
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/freebsd/config.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/freebsd/dlfcn.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/freebsd/err.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/freebsd/execinfo.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/freebsd/ifaddrs.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/freebsd/mqueue.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/freebsd/net/
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/freebsd/net/if_.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/freebsd/net/if_dl.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/freebsd/netinet/
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/freebsd/netinet/in_.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/freebsd/pthread_np.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/freebsd/stdlib.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/freebsd/string.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/freebsd/sys/
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/freebsd/sys/_bitset.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/freebsd/sys/_cpuset.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/freebsd/sys/cdefs.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/freebsd/sys/elf.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/freebsd/sys/elf32.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/freebsd/sys/elf64.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/freebsd/sys/elf_common.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/freebsd/sys/event.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/freebsd/sys/link_elf.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/freebsd/sys/mman.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/freebsd/sys/mount.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/freebsd/sys/socket.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/freebsd/sys/sysctl.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/freebsd/sys/types.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/freebsd/time.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/freebsd/unistd.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/config.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/dlfcn.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/elf.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/epoll.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/err.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/errno.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/execinfo.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/fcntl.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/fs.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/ifaddrs.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/input.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/input_event_codes.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/io_uring.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/link.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/linux/
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/linux/if_arp.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/linux/if_packet.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/netinet/
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/netinet/in_.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/netinet/tcp.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/perf_event.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/sched.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/stdio.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/string.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/sys/
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/sys/auxv.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/sys/eventfd.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/sys/file.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/sys/inotify.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/sys/mman.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/sys/mount.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/sys/prctl.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/sys/procfs.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/sys/signalfd.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/sys/socket.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/sys/sysinfo.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/sys/time.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/sys/xattr.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/termios.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/time.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/timerfd.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/tipc.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/uinput.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/unistd.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/netbsd/
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/netbsd/dlfcn.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/netbsd/err.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/netbsd/execinfo.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/netbsd/stdlib.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/netbsd/string.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/netbsd/sys/
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/netbsd/sys/elf.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/netbsd/sys/elf32.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/netbsd/sys/elf64.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/netbsd/sys/elf_common.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/netbsd/sys/event.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/netbsd/sys/featuretest.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/netbsd/sys/link_elf.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/netbsd/sys/mman.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/netbsd/sys/sysctl.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/netbsd/time.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/openbsd/
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/openbsd/dlfcn.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/openbsd/err.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/openbsd/execinfo.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/openbsd/pthread_np.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/openbsd/pwd.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/openbsd/stdlib.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/openbsd/string.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/openbsd/sys/
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/openbsd/sys/cdefs.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/openbsd/sys/elf.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/openbsd/sys/elf32.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/openbsd/sys/elf64.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/openbsd/sys/elf_common.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/openbsd/sys/link_elf.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/openbsd/sys/mman.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/openbsd/sys/sysctl.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/openbsd/time.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/openbsd/unistd.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/aio.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/arpa/
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/arpa/inet.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/config.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/dirent.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/dlfcn.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/fcntl.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/grp.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/iconv.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/inttypes.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/libgen.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/locale.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/mqueue.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/net/
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/net/if_.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/netdb.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/netinet/
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/netinet/in_.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/netinet/tcp.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/poll.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/pthread.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/pwd.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/sched.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/semaphore.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/setjmp.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/signal.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/spawn.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/stdc/
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/stdc/time.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/stdio.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/stdlib.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/string.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/strings.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/sys/
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/sys/filio.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/sys/ioccom.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/sys/ioctl.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/sys/ipc.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/sys/mman.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/sys/msg.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/sys/resource.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/sys/select.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/sys/shm.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/sys/socket.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/sys/stat.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/sys/statvfs.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/sys/time.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/sys/ttycom.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/sys/types.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/sys/uio.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/sys/un.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/sys/utsname.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/sys/wait.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/syslog.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/termios.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/time.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/ucontext.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/unistd.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/utime.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/solaris/
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/solaris/dlfcn.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/solaris/elf.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/solaris/err.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/solaris/execinfo.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/solaris/libelf.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/solaris/link.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/solaris/stdlib.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/solaris/sys/
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/solaris/sys/elf.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/solaris/sys/elf_386.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/solaris/sys/elf_SPARC.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/solaris/sys/elf_amd64.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/solaris/sys/elf_notes.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/solaris/sys/elftypes.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/solaris/sys/link.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/solaris/sys/priocntl.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/solaris/sys/procset.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/solaris/sys/types.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/solaris/time.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/accctrl.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/aclapi.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/aclui.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/basetsd.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/basetyps.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/bcrypt.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/cderr.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/cguid.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/com.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/comcat.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/commctrl.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/commdlg.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/core.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/cpl.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/cplext.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/custcntl.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/dbghelp.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/dbghelp_types.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/dbt.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/dde.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/ddeml.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/dhcpcsdk.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/dlgs.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/dll.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/docobj.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/errorrep.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/exdisp.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/exdispid.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/httpext.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/idispids.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/imagehlp.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/imm.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/intshcut.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/ipexport.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/iphlpapi.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/ipifcons.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/iprtrmib.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/iptypes.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/isguids.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/lm.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/lmaccess.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/lmalert.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/lmapibuf.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/lmat.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/lmaudit.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/lmbrowsr.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/lmchdev.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/lmconfig.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/lmcons.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/lmerr.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/lmerrlog.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/lmmsg.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/lmremutl.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/lmrepl.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/lmserver.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/lmshare.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/lmsname.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/lmstats.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/lmsvc.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/lmuse.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/lmuseflg.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/lmwksta.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/lzexpand.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/mapi.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/mciavi.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/mcx.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/mgmtapi.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/mmsystem.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/msacm.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/mshtml.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/mswsock.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/nb30.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/nddeapi.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/nspapi.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/ntdef.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/ntdll.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/ntldap.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/ntsecapi.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/ntsecpkg.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/oaidl.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/objbase.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/objfwd.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/objidl.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/objsafe.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/ocidl.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/odbcinst.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/ole.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/ole2.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/ole2ver.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/oleacc.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/oleauto.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/olectl.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/olectlid.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/oledlg.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/oleidl.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/pbt.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/powrprof.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/prsht.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/psapi.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/rapi.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/ras.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/rasdlg.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/raserror.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/rassapi.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/reason.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/regstr.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/richedit.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/richole.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/rpc.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/rpcdce.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/rpcdce2.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/rpcdcep.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/rpcndr.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/rpcnsi.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/rpcnsip.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/rpcnterr.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/schannel.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/sdkddkver.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/secext.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/security.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/servprov.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/setupapi.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/shellapi.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/shldisp.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/shlguid.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/shlobj.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/shlwapi.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/snmp.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/sql.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/sqlext.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/sqltypes.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/sqlucode.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/sspi.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/stacktrace.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/stat.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/stdc/
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/stdc/malloc.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/stdc/time.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/subauth.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/threadaux.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/tlhelp32.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/tmschema.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/unknwn.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/uuid.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/vfw.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/w32api.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/winbase.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/winber.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/wincon.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/wincrypt.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/windef.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/windows.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/winerror.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/wingdi.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/winhttp.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/wininet.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/winioctl.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/winldap.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/winnetwk.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/winnls.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/winnt.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/winperf.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/winreg.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/winsock2.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/winspool.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/winsvc.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/winuser.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/winver.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/wtsapi32.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/wtypes.d
+lib/gcc/${CONFIG}/${V}/include/d/core/thread/
+lib/gcc/${CONFIG}/${V}/include/d/core/thread/context.d
+lib/gcc/${CONFIG}/${V}/include/d/core/thread/fiber/
+lib/gcc/${CONFIG}/${V}/include/d/core/thread/fiber/base.d
+lib/gcc/${CONFIG}/${V}/include/d/core/thread/fiber/package.d
+lib/gcc/${CONFIG}/${V}/include/d/core/thread/osthread.d
+lib/gcc/${CONFIG}/${V}/include/d/core/thread/package.d
+lib/gcc/${CONFIG}/${V}/include/d/core/thread/threadbase.d
+lib/gcc/${CONFIG}/${V}/include/d/core/thread/threadgroup.d
+lib/gcc/${CONFIG}/${V}/include/d/core/thread/types.d
+lib/gcc/${CONFIG}/${V}/include/d/core/time.d
+lib/gcc/${CONFIG}/${V}/include/d/core/vararg.d
+lib/gcc/${CONFIG}/${V}/include/d/core/volatile.d
+lib/gcc/${CONFIG}/${V}/include/d/etc/
+lib/gcc/${CONFIG}/${V}/include/d/etc/c/
+lib/gcc/${CONFIG}/${V}/include/d/etc/c/curl.d
+lib/gcc/${CONFIG}/${V}/include/d/etc/c/odbc/
+lib/gcc/${CONFIG}/${V}/include/d/etc/c/odbc/odbc32.d
+lib/gcc/${CONFIG}/${V}/include/d/etc/c/odbc/odbc64.d
+lib/gcc/${CONFIG}/${V}/include/d/etc/c/odbc/package.d
+lib/gcc/${CONFIG}/${V}/include/d/etc/c/odbc/sql.d
+lib/gcc/${CONFIG}/${V}/include/d/etc/c/odbc/sqlext.d
+lib/gcc/${CONFIG}/${V}/include/d/etc/c/odbc/sqltypes.d
+lib/gcc/${CONFIG}/${V}/include/d/etc/c/odbc/sqlucode.d
+lib/gcc/${CONFIG}/${V}/include/d/etc/c/sqlite3.d
+lib/gcc/${CONFIG}/${V}/include/d/etc/c/zlib.d
+lib/gcc/${CONFIG}/${V}/include/d/etc/valgrind/
+lib/gcc/${CONFIG}/${V}/include/d/etc/valgrind/valgrind.d
+lib/gcc/${CONFIG}/${V}/include/d/gcc/
+lib/gcc/${CONFIG}/${V}/include/d/gcc/attribute.d
+lib/gcc/${CONFIG}/${V}/include/d/gcc/attributes.d
+lib/gcc/${CONFIG}/${V}/include/d/gcc/backtrace.d
+lib/gcc/${CONFIG}/${V}/include/d/gcc/builtins.d
+lib/gcc/${CONFIG}/${V}/include/d/gcc/config.d
+lib/gcc/${CONFIG}/${V}/include/d/gcc/deh.d
+lib/gcc/${CONFIG}/${V}/include/d/gcc/emutls.d
+lib/gcc/${CONFIG}/${V}/include/d/gcc/gthread.d
+lib/gcc/${CONFIG}/${V}/include/d/gcc/libbacktrace.d
+lib/gcc/${CONFIG}/${V}/include/d/gcc/sections/
+lib/gcc/${CONFIG}/${V}/include/d/gcc/sections/common.d
+lib/gcc/${CONFIG}/${V}/include/d/gcc/sections/elf.d
+lib/gcc/${CONFIG}/${V}/include/d/gcc/sections/macho.d
+lib/gcc/${CONFIG}/${V}/include/d/gcc/sections/package.d
+lib/gcc/${CONFIG}/${V}/include/d/gcc/sections/pecoff.d
+lib/gcc/${CONFIG}/${V}/include/d/gcc/simd.d
+lib/gcc/${CONFIG}/${V}/include/d/gcc/unwind/
+lib/gcc/${CONFIG}/${V}/include/d/gcc/unwind/arm.d
+lib/gcc/${CONFIG}/${V}/include/d/gcc/unwind/arm_common.d
+lib/gcc/${CONFIG}/${V}/include/d/gcc/unwind/c6x.d
+lib/gcc/${CONFIG}/${V}/include/d/gcc/unwind/generic.d
+lib/gcc/${CONFIG}/${V}/include/d/gcc/unwind/package.d
+lib/gcc/${CONFIG}/${V}/include/d/gcc/unwind/pe.d
+lib/gcc/${CONFIG}/${V}/include/d/object.d
+lib/gcc/${CONFIG}/${V}/include/d/rt/
+lib/gcc/${CONFIG}/${V}/include/d/rt/aApply.d
+lib/gcc/${CONFIG}/${V}/include/d/rt/aApplyR.d
+lib/gcc/${CONFIG}/${V}/include/d/rt/aaA.d
+lib/gcc/${CONFIG}/${V}/include/d/rt/adi.d
+lib/gcc/${CONFIG}/${V}/include/d/rt/arraycat.d
+lib/gcc/${CONFIG}/${V}/include/d/rt/cast_.d
+lib/gcc/${CONFIG}/${V}/include/d/rt/config.d
+lib/gcc/${CONFIG}/${V}/include/d/rt/critical_.d
+lib/gcc/${CONFIG}/${V}/include/d/rt/deh.d
+lib/gcc/${CONFIG}/${V}/include/d/rt/dmain2.d
+lib/gcc/${CONFIG}/${V}/include/d/rt/ehalloc.d
+lib/gcc/${CONFIG}/${V}/include/d/rt/invariant_.d
+lib/gcc/${CONFIG}/${V}/include/d/rt/lifetime.d
+lib/gcc/${CONFIG}/${V}/include/d/rt/memory.d
+lib/gcc/${CONFIG}/${V}/include/d/rt/minfo.d
+lib/gcc/${CONFIG}/${V}/include/d/rt/monitor_.d
+lib/gcc/${CONFIG}/${V}/include/d/rt/profilegc.d
+lib/gcc/${CONFIG}/${V}/include/d/rt/sections.d
+lib/gcc/${CONFIG}/${V}/include/d/rt/tlsgc.d
+lib/gcc/${CONFIG}/${V}/include/d/rt/util/
+lib/gcc/${CONFIG}/${V}/include/d/rt/util/typeinfo.d
+lib/gcc/${CONFIG}/${V}/include/d/rt/util/utility.d
+lib/gcc/${CONFIG}/${V}/include/d/std/
+lib/gcc/${CONFIG}/${V}/include/d/std/algorithm/
+lib/gcc/${CONFIG}/${V}/include/d/std/algorithm/comparison.d
+lib/gcc/${CONFIG}/${V}/include/d/std/algorithm/internal.d
+lib/gcc/${CONFIG}/${V}/include/d/std/algorithm/iteration.d
+lib/gcc/${CONFIG}/${V}/include/d/std/algorithm/mutation.d
+lib/gcc/${CONFIG}/${V}/include/d/std/algorithm/package.d
+lib/gcc/${CONFIG}/${V}/include/d/std/algorithm/searching.d
+lib/gcc/${CONFIG}/${V}/include/d/std/algorithm/setops.d
+lib/gcc/${CONFIG}/${V}/include/d/std/algorithm/sorting.d
+lib/gcc/${CONFIG}/${V}/include/d/std/array.d
+lib/gcc/${CONFIG}/${V}/include/d/std/ascii.d
+lib/gcc/${CONFIG}/${V}/include/d/std/base64.d
+lib/gcc/${CONFIG}/${V}/include/d/std/bigint.d
+lib/gcc/${CONFIG}/${V}/include/d/std/bitmanip.d
+lib/gcc/${CONFIG}/${V}/include/d/std/checkedint.d
+lib/gcc/${CONFIG}/${V}/include/d/std/compiler.d
+lib/gcc/${CONFIG}/${V}/include/d/std/complex.d
+lib/gcc/${CONFIG}/${V}/include/d/std/concurrency.d
+lib/gcc/${CONFIG}/${V}/include/d/std/container/
+lib/gcc/${CONFIG}/${V}/include/d/std/container/array.d
+lib/gcc/${CONFIG}/${V}/include/d/std/container/binaryheap.d
+lib/gcc/${CONFIG}/${V}/include/d/std/container/dlist.d
+lib/gcc/${CONFIG}/${V}/include/d/std/container/package.d
+lib/gcc/${CONFIG}/${V}/include/d/std/container/rbtree.d
+lib/gcc/${CONFIG}/${V}/include/d/std/container/slist.d
+lib/gcc/${CONFIG}/${V}/include/d/std/container/util.d
+lib/gcc/${CONFIG}/${V}/include/d/std/conv.d
+lib/gcc/${CONFIG}/${V}/include/d/std/csv.d
+lib/gcc/${CONFIG}/${V}/include/d/std/datetime/
+lib/gcc/${CONFIG}/${V}/include/d/std/datetime/date.d
+lib/gcc/${CONFIG}/${V}/include/d/std/datetime/interval.d
+lib/gcc/${CONFIG}/${V}/include/d/std/datetime/package.d
+lib/gcc/${CONFIG}/${V}/include/d/std/datetime/stopwatch.d
+lib/gcc/${CONFIG}/${V}/include/d/std/datetime/systime.d
+lib/gcc/${CONFIG}/${V}/include/d/std/datetime/timezone.d
+lib/gcc/${CONFIG}/${V}/include/d/std/demangle.d
+lib/gcc/${CONFIG}/${V}/include/d/std/digest/
+lib/gcc/${CONFIG}/${V}/include/d/std/digest/crc.d
+lib/gcc/${CONFIG}/${V}/include/d/std/digest/hmac.d
+lib/gcc/${CONFIG}/${V}/include/d/std/digest/md.d
+lib/gcc/${CONFIG}/${V}/include/d/std/digest/murmurhash.d
+lib/gcc/${CONFIG}/${V}/include/d/std/digest/package.d
+lib/gcc/${CONFIG}/${V}/include/d/std/digest/ripemd.d
+lib/gcc/${CONFIG}/${V}/include/d/std/digest/sha.d
+lib/gcc/${CONFIG}/${V}/include/d/std/encoding.d
+lib/gcc/${CONFIG}/${V}/include/d/std/exception.d
+lib/gcc/${CONFIG}/${V}/include/d/std/experimental/
+lib/gcc/${CONFIG}/${V}/include/d/std/experimental/allocator/
+lib/gcc/${CONFIG}/${V}/include/d/std/experimental/allocator/building_blocks/
+lib/gcc/${CONFIG}/${V}/include/d/std/experimental/allocator/building_blocks/affix_allocator.d
+lib/gcc/${CONFIG}/${V}/include/d/std/experimental/allocator/building_blocks/aligned_block_list.d
+lib/gcc/${CONFIG}/${V}/include/d/std/experimental/allocator/building_blocks/allocator_list.d
+lib/gcc/${CONFIG}/${V}/include/d/std/experimental/allocator/building_blocks/ascending_page_allocator.d
+lib/gcc/${CONFIG}/${V}/include/d/std/experimental/allocator/building_blocks/bitmapped_block.d
+lib/gcc/${CONFIG}/${V}/include/d/std/experimental/allocator/building_blocks/bucketizer.d
+lib/gcc/${CONFIG}/${V}/include/d/std/experimental/allocator/building_blocks/fallback_allocator.d
+lib/gcc/${CONFIG}/${V}/include/d/std/experimental/allocator/building_blocks/free_list.d
+lib/gcc/${CONFIG}/${V}/include/d/std/experimental/allocator/building_blocks/free_tree.d
+lib/gcc/${CONFIG}/${V}/include/d/std/experimental/allocator/building_blocks/kernighan_ritchie.d
+lib/gcc/${CONFIG}/${V}/include/d/std/experimental/allocator/building_blocks/null_allocator.d
+lib/gcc/${CONFIG}/${V}/include/d/std/experimental/allocator/building_blocks/package.d
+lib/gcc/${CONFIG}/${V}/include/d/std/experimental/allocator/building_blocks/quantizer.d
+lib/gcc/${CONFIG}/${V}/include/d/std/experimental/allocator/building_blocks/region.d
+lib/gcc/${CONFIG}/${V}/include/d/std/experimental/allocator/building_blocks/scoped_allocator.d
+lib/gcc/${CONFIG}/${V}/include/d/std/experimental/allocator/building_blocks/segregator.d
+lib/gcc/${CONFIG}/${V}/include/d/std/experimental/allocator/building_blocks/stats_collector.d
+lib/gcc/${CONFIG}/${V}/include/d/std/experimental/allocator/common.d
+lib/gcc/${CONFIG}/${V}/include/d/std/experimental/allocator/gc_allocator.d
+lib/gcc/${CONFIG}/${V}/include/d/std/experimental/allocator/mallocator.d
+lib/gcc/${CONFIG}/${V}/include/d/std/experimental/allocator/mmap_allocator.d
+lib/gcc/${CONFIG}/${V}/include/d/std/experimental/allocator/package.d
+lib/gcc/${CONFIG}/${V}/include/d/std/experimental/allocator/showcase.d
+lib/gcc/${CONFIG}/${V}/include/d/std/experimental/allocator/typed.d
+lib/gcc/${CONFIG}/${V}/include/d/std/experimental/checkedint.d
+lib/gcc/${CONFIG}/${V}/include/d/std/experimental/logger/
+lib/gcc/${CONFIG}/${V}/include/d/std/experimental/logger/core.d
+lib/gcc/${CONFIG}/${V}/include/d/std/experimental/logger/filelogger.d
+lib/gcc/${CONFIG}/${V}/include/d/std/experimental/logger/multilogger.d
+lib/gcc/${CONFIG}/${V}/include/d/std/experimental/logger/nulllogger.d
+lib/gcc/${CONFIG}/${V}/include/d/std/experimental/logger/package.d
+lib/gcc/${CONFIG}/${V}/include/d/std/file.d
+lib/gcc/${CONFIG}/${V}/include/d/std/format/
+lib/gcc/${CONFIG}/${V}/include/d/std/format/internal/
+lib/gcc/${CONFIG}/${V}/include/d/std/format/internal/floats.d
+lib/gcc/${CONFIG}/${V}/include/d/std/format/internal/read.d
+lib/gcc/${CONFIG}/${V}/include/d/std/format/internal/write.d
+lib/gcc/${CONFIG}/${V}/include/d/std/format/package.d
+lib/gcc/${CONFIG}/${V}/include/d/std/format/read.d
+lib/gcc/${CONFIG}/${V}/include/d/std/format/spec.d
+lib/gcc/${CONFIG}/${V}/include/d/std/format/write.d
+lib/gcc/${CONFIG}/${V}/include/d/std/functional.d
+lib/gcc/${CONFIG}/${V}/include/d/std/getopt.d
+lib/gcc/${CONFIG}/${V}/include/d/std/int128.d
+lib/gcc/${CONFIG}/${V}/include/d/std/internal/
+lib/gcc/${CONFIG}/${V}/include/d/std/internal/attributes.d
+lib/gcc/${CONFIG}/${V}/include/d/std/internal/cstring.d
+lib/gcc/${CONFIG}/${V}/include/d/std/internal/math/
+lib/gcc/${CONFIG}/${V}/include/d/std/internal/math/biguintcore.d
+lib/gcc/${CONFIG}/${V}/include/d/std/internal/math/biguintnoasm.d
+lib/gcc/${CONFIG}/${V}/include/d/std/internal/math/errorfunction.d
+lib/gcc/${CONFIG}/${V}/include/d/std/internal/math/gammafunction.d
+lib/gcc/${CONFIG}/${V}/include/d/std/internal/memory.d
+lib/gcc/${CONFIG}/${V}/include/d/std/internal/scopebuffer.d
+lib/gcc/${CONFIG}/${V}/include/d/std/internal/test/
+lib/gcc/${CONFIG}/${V}/include/d/std/internal/test/dummyrange.d
+lib/gcc/${CONFIG}/${V}/include/d/std/internal/test/range.d
+lib/gcc/${CONFIG}/${V}/include/d/std/internal/test/sumtype_example_overloads.d
+lib/gcc/${CONFIG}/${V}/include/d/std/internal/test/uda.d
+lib/gcc/${CONFIG}/${V}/include/d/std/internal/unicode_comp.d
+lib/gcc/${CONFIG}/${V}/include/d/std/internal/unicode_decomp.d
+lib/gcc/${CONFIG}/${V}/include/d/std/internal/unicode_grapheme.d
+lib/gcc/${CONFIG}/${V}/include/d/std/internal/unicode_norm.d
+lib/gcc/${CONFIG}/${V}/include/d/std/internal/unicode_tables.d
+lib/gcc/${CONFIG}/${V}/include/d/std/internal/windows/
+lib/gcc/${CONFIG}/${V}/include/d/std/internal/windows/advapi32.d
+lib/gcc/${CONFIG}/${V}/include/d/std/internal/windows/bcrypt.d
+lib/gcc/${CONFIG}/${V}/include/d/std/json.d
+lib/gcc/${CONFIG}/${V}/include/d/std/logger/
+lib/gcc/${CONFIG}/${V}/include/d/std/logger/core.d
+lib/gcc/${CONFIG}/${V}/include/d/std/logger/filelogger.d
+lib/gcc/${CONFIG}/${V}/include/d/std/logger/multilogger.d
+lib/gcc/${CONFIG}/${V}/include/d/std/logger/nulllogger.d
+lib/gcc/${CONFIG}/${V}/include/d/std/logger/package.d
+lib/gcc/${CONFIG}/${V}/include/d/std/math/
+lib/gcc/${CONFIG}/${V}/include/d/std/math/algebraic.d
+lib/gcc/${CONFIG}/${V}/include/d/std/math/constants.d
+lib/gcc/${CONFIG}/${V}/include/d/std/math/exponential.d
+lib/gcc/${CONFIG}/${V}/include/d/std/math/hardware.d
+lib/gcc/${CONFIG}/${V}/include/d/std/math/operations.d
+lib/gcc/${CONFIG}/${V}/include/d/std/math/package.d
+lib/gcc/${CONFIG}/${V}/include/d/std/math/remainder.d
+lib/gcc/${CONFIG}/${V}/include/d/std/math/rounding.d
+lib/gcc/${CONFIG}/${V}/include/d/std/math/traits.d
+lib/gcc/${CONFIG}/${V}/include/d/std/math/trigonometry.d
+lib/gcc/${CONFIG}/${V}/include/d/std/mathspecial.d
+lib/gcc/${CONFIG}/${V}/include/d/std/meta.d
+lib/gcc/${CONFIG}/${V}/include/d/std/mmfile.d
+lib/gcc/${CONFIG}/${V}/include/d/std/net/
+lib/gcc/${CONFIG}/${V}/include/d/std/net/curl.d
+lib/gcc/${CONFIG}/${V}/include/d/std/net/isemail.d
+lib/gcc/${CONFIG}/${V}/include/d/std/numeric.d
+lib/gcc/${CONFIG}/${V}/include/d/std/outbuffer.d
+lib/gcc/${CONFIG}/${V}/include/d/std/package.d
+lib/gcc/${CONFIG}/${V}/include/d/std/parallelism.d
+lib/gcc/${CONFIG}/${V}/include/d/std/path.d
+lib/gcc/${CONFIG}/${V}/include/d/std/process.d
+lib/gcc/${CONFIG}/${V}/include/d/std/random.d
+lib/gcc/${CONFIG}/${V}/include/d/std/range/
+lib/gcc/${CONFIG}/${V}/include/d/std/range/interfaces.d
+lib/gcc/${CONFIG}/${V}/include/d/std/range/package.d
+lib/gcc/${CONFIG}/${V}/include/d/std/range/primitives.d
+lib/gcc/${CONFIG}/${V}/include/d/std/regex/
+lib/gcc/${CONFIG}/${V}/include/d/std/regex/internal/
+lib/gcc/${CONFIG}/${V}/include/d/std/regex/internal/backtracking.d
+lib/gcc/${CONFIG}/${V}/include/d/std/regex/internal/generator.d
+lib/gcc/${CONFIG}/${V}/include/d/std/regex/internal/ir.d
+lib/gcc/${CONFIG}/${V}/include/d/std/regex/internal/kickstart.d
+lib/gcc/${CONFIG}/${V}/include/d/std/regex/internal/parser.d
+lib/gcc/${CONFIG}/${V}/include/d/std/regex/internal/tests.d
+lib/gcc/${CONFIG}/${V}/include/d/std/regex/internal/tests2.d
+lib/gcc/${CONFIG}/${V}/include/d/std/regex/internal/thompson.d
+lib/gcc/${CONFIG}/${V}/include/d/std/regex/package.d
+lib/gcc/${CONFIG}/${V}/include/d/std/signals.d
+lib/gcc/${CONFIG}/${V}/include/d/std/socket.d
+lib/gcc/${CONFIG}/${V}/include/d/std/stdint.d
+lib/gcc/${CONFIG}/${V}/include/d/std/stdio.d
+lib/gcc/${CONFIG}/${V}/include/d/std/string.d
+lib/gcc/${CONFIG}/${V}/include/d/std/sumtype.d
+lib/gcc/${CONFIG}/${V}/include/d/std/system.d
+lib/gcc/${CONFIG}/${V}/include/d/std/traits.d
+lib/gcc/${CONFIG}/${V}/include/d/std/typecons.d
+lib/gcc/${CONFIG}/${V}/include/d/std/typetuple.d
+lib/gcc/${CONFIG}/${V}/include/d/std/uni/
+lib/gcc/${CONFIG}/${V}/include/d/std/uni/package.d
+lib/gcc/${CONFIG}/${V}/include/d/std/uri.d
+lib/gcc/${CONFIG}/${V}/include/d/std/utf.d
+lib/gcc/${CONFIG}/${V}/include/d/std/uuid.d
+lib/gcc/${CONFIG}/${V}/include/d/std/variant.d
+lib/gcc/${CONFIG}/${V}/include/d/std/windows/
+lib/gcc/${CONFIG}/${V}/include/d/std/windows/charset.d
+lib/gcc/${CONFIG}/${V}/include/d/std/windows/registry.d
+lib/gcc/${CONFIG}/${V}/include/d/std/windows/syserror.d
+lib/gcc/${CONFIG}/${V}/include/d/std/zip.d
+lib/gcc/${CONFIG}/${V}/include/d/std/zlib.d
+@static-lib lib/libgdruntime.a
+lib/libgdruntime.la
+@lib lib/libgdruntime.so.${LIBgdruntime_VERSION}
+@static-lib lib/libgphobos.a
+lib/libgphobos.la
+@lib lib/libgphobos.so.${LIBgphobos_VERSION}
+lib/libgphobos.spec
+@bin libexec/gcc/${CONFIG}/${V}/d21
+@man man/man1/egdc.1
ports@,
I'd like to enable gdc (dlang) on amd64 and arm64 inside lang/gcc/15.
To do it I need to updaed boostrap to latest version of lang/gcc/11.
I still called it as adastrap, but maybe we need to rename it.
Here links to two used bootstraps:
- https://kirill.korins.ky/pub/distfiles/adastrap-amd64-11.2.0-6.tar.xz
- https://kirill.korins.ky/pub/distfiles/adastrap-aarch64-11.2.0-0.tar.xz
I've attached two diffs:
- gcc-11.diff is small one, just micro tune to build bootstrap
- gcc-15.diff is a large one, where I recover gdc for amd64 and arm64
both bootstrap builds from this week snapshots against libc.so.102.2
Tested on the same snapshots on amd64 and arm64, compiles and exectued a
trivial program:
import std.stdio;
import std.range;
import std.algorithm;
import std.concurrency;
import core.thread;
void fiberFunction()
{
10.iota.each!(i => yield(i));
}
void threadFunction()
{
auto fiber = cast()receiveOnly!(shared(Generator!int));
writefln("worker: %(%s %)", fiber.take(5));
}
void main()
{
auto numbers = new Generator!int(&fiberFunction);
auto worker = spawn(&threadFunction);
writefln("main : %(%s %)", numbers.take(2));
worker.send(cast(shared)numbers);
thread_joinAll();
writefln("main : %(%s %)", numbers);
}
as
main : 0 1
worker: 2 3 4 5 6
main : 7 8 9
Anyone willing to test it? Or ok it?
--
wbr, Kirill
===================================================================
RCS file: /cvs/ports/lang/gcc/11/Makefile,v
diff -u -p -r1.58 Makefile
--- 11/Makefile 28 Nov 2025 11:10:07 -0000 1.58
+++ 11/Makefile 1 Dec 2025 01:56:51 -0000
@@ -17,7 +17,9 @@ FULL_VERSION = $V
FULL_PKGVERSION = $V
REVISION = 21
-ADASTRAP-amd64 = adastrap-amd64-$V-5.tar.xz
+# aarch64 bootstrap contains only gdc
+ADASTRAP-aarch64 = adastrap-aarch64-$V-0.tar.xz
+ADASTRAP-amd64 = adastrap-amd64-$V-6.tar.xz
ADASTRAP-i386 = adastrap-i386-$V-4.tar.xz
ADASTRAP-mips64 = adastrap-mips64-8.4.0-5.tar.xz
ADASTRAP-powerpc = adastrap-powerpc-$V-4.tar.xz
@@ -272,14 +274,29 @@ post-install:
ADA_PACKAGE = ${PACKAGE_REPOSITORY}/${MACHINE_ARCH}/all/${FULLPKGNAME-ada}.tgz
GCC_PACKAGE = ${PACKAGE_REPOSITORY}/${MACHINE_ARCH}/all/${FULLPKGNAME-main}.tgz
+GDC_PACKAGE = ${PACKAGE_REPOSITORY}/${MACHINE_ARCH}/all/${FULLPKGNAME-dlang}.tgz
GXX_PACKAGE = ${PACKAGE_REPOSITORY}/${MACHINE_ARCH}/all/${FULLPKGNAME-c++}.tgz
.PHONY: bootstrap
+.if ${BUILD_PACKAGES:M-ada} && ${BUILD_PACKAGES:M-dlang}
+bootstrap: ${ADA_PACKAGE} ${GCC_PACKAGE} ${GDC_PACKAGE} ${GXX_PACKAGE}
+.elif ${BUILD_PACKAGES:M-ada}
bootstrap: ${ADA_PACKAGE} ${GCC_PACKAGE} ${GXX_PACKAGE}
+.elif ${BUILD_PACKAGES:M-dlang}
+bootstrap: ${GCC_PACKAGE} ${GDC_PACKAGE} ${GXX_PACKAGE}
+.else
+bootstrap: ${GCC_PACKAGE} ${GXX_PACKAGE}
+.endif
+ ${_PBUILD} rm -rf ${WRKDIR}/prepare
${_PBUILD} mkdir -p ${WRKDIR}/prepare/bootstrap/system-libs
+.if ${BUILD_PACKAGES:M-ada}
cd ${WRKDIR}/prepare/bootstrap && ${_PBUILD} tar xzf ${ADA_PACKAGE}
+.endif
cd ${WRKDIR}/prepare/bootstrap && ${_PBUILD} tar xzf ${GCC_PACKAGE}
+.if ${BUILD_PACKAGES:M-dlang}
+ cd ${WRKDIR}/prepare/bootstrap && ${_PBUILD} tar xzf ${GDC_PACKAGE}
+.endif
cd ${WRKDIR}/prepare/bootstrap && ${_PBUILD} tar xzf ${GXX_PACKAGE}
${_PBUILD} rm -rf ${WRKDIR}/prepare/bootstrap/{+*,info,man,share}
${_PBUILD} rm -rf ${WRKDIR}/prepare/bootstrap/lib/gcc/*-openbsd*/$V/include-fixed
Index: 11/distinfo
===================================================================
RCS file: /cvs/ports/lang/gcc/11/distinfo,v
diff -u -p -r1.15 distinfo
--- 11/distinfo 20 Sep 2025 23:07:25 -0000 1.15
+++ 11/distinfo 1 Dec 2025 01:56:51 -0000
@@ -1,9 +1,9 @@
-SHA256 (gcc/adastrap-amd64-11.2.0-5.tar.xz) = xv2mjPXOBPnrbP98RlbKmbNgE3iP8MHBrShaipe/YNI=
+SHA256 (gcc/adastrap-amd64-11.2.0-6.tar.xz) = rxI866IO57k5nZGBVbaGynN0XRcA4QJIN1AAW3xNA1w=
SHA256 (gcc/adastrap-i386-11.2.0-4.tar.xz) = 1T55LnFIsdo+lb3beM/FW0QR1U9RuHftAytxwRs8W/Y=
SHA256 (gcc/adastrap-mips64-8.4.0-5.tar.xz) = Rfwenft0B3hxydQ3mqkkbFN40maQ73Jl4fgTFn1eNKQ=
SHA256 (gcc/adastrap-powerpc-11.2.0-4.tar.xz) = 9KgiD7tqhcrCd8oTds/iVrmo9LXBNEAJQ+DdplytMuU=
SHA256 (gcc/gcc-11.2.0.tar.xz) = 0I7cU2tUw3KhAQ/2YZ3SdMDxYDqkkhK6IPeqLNo2+os=
-SIZE (gcc/adastrap-amd64-11.2.0-5.tar.xz) = 78100312
+SIZE (gcc/adastrap-amd64-11.2.0-6.tar.xz) = 100826604
SIZE (gcc/adastrap-i386-11.2.0-4.tar.xz) = 75923604
SIZE (gcc/adastrap-mips64-8.4.0-5.tar.xz) = 49877060
SIZE (gcc/adastrap-powerpc-11.2.0-4.tar.xz) = 70164724
Index: 15/Makefile
===================================================================
RCS file: /cvs/ports/lang/gcc/15/Makefile,v
diff -u -p -r1.13 Makefile
--- 15/Makefile 13 Nov 2025 23:30:14 -0000 1.13
+++ 15/Makefile 1 Dec 2025 01:56:58 -0000
@@ -5,6 +5,7 @@ ONLY_FOR_ARCHS = aarch64 alpha amd64 arm
powerpc powerpc64 riscv64 sparc64
ONLY_FOR_ARCHS-ada = amd64 mips64 powerpc # i386
+ONLY_FOR_ARCHS-dlang = aarch64 amd64 # needs gdc from gcc-9+
DPB_PROPERTIES = parallel
@@ -18,9 +19,11 @@ V = 15.2.0
FULL_VERSION = $V
FULL_PKGVERSION = $V
-REVISION = 3
+REVISION = 4
-ADASTRAP-amd64 = adastrap-amd64-11.2.0-5.tar.xz
+# aarch64 bootstrap contains only gdc
+ADASTRAP-aarch64 = adastrap-aarch64-11.2.0-0.tar.xz
+ADASTRAP-amd64 = adastrap-amd64-11.2.0-6.tar.xz
ADASTRAP-arm = adastrap-arm-4.9.4-0.tar.xz
ADASTRAP-hppa = adastrap-hppa-8.3.0-1.tar.xz
ADASTRAP-i386 = adastrap-i386-11.2.0-4.tar.xz
@@ -34,6 +37,7 @@ PKGNAME-c++ = g++-${FULL_PKGVERSION}
PKGNAME-f95 = g95-${FULL_PKGVERSION}
PKGNAME-objc = gobjc-${FULL_PKGVERSION}
PKGNAME-ada = gnat-${FULL_PKGVERSION}
+PKGNAME-dlang = gdc-${FULL_PKGVERSION}
PKGSPEC-main = gcc->=15,<16
SHARED_LIBS = estdc++ 21.0 \
@@ -45,12 +49,14 @@ SHARED_LIBS = estdc++ 21.0 \
quadmath 5.0 \
cc1 3.0 \
cc1plugin 3.0 \
- cp1plugin 2.0
+ cp1plugin 2.0 \
+ gphobos 1.0 \
+ gdruntime 1.0
PSEUDO_FLAVORS = no_ada full
FLAVOR ?=
-MULTI_PACKAGES = -main -libs -f95 -objc -c++ -ada
+MULTI_PACKAGES = -main -libs -f95 -objc -c++ -ada -dlang
.include <bsd.port.arch.mk>
@@ -83,11 +89,12 @@ TEST_DEPENDS += devel/dejagnu \
${BUILD_PKGPATH},-libs>=15,<16
LANGS = c,c++,fortran,objc
-.if ${BUILD_PACKAGES:M-ada}
+.if ${BUILD_PACKAGES:M-ada} || ${BUILD_PACKAGES:M-dlang}
DISTFILES.strap += ${ADASTRAP-${MACHINE_ARCH}}
EXTRACT_ONLY += ${ADASTRAP-${MACHINE_ARCH}}
CC = ${WRKDIR}/bin/egcc
CXX = ${WRKDIR}/bin/eg++
+GDC = ${WRKDIR}/bin/egdc
# make sure we link the right libestdc++.a in stage1 when using a bootstrap
CONFIGURE_ARGS += --with-stage1-ldflags="-L${WRKDIR}/bootstrap/lib"
.elif ${PROPERTIES:Mgcc4}
@@ -102,6 +109,10 @@ LANGS := ${LANGS},ada
TEST_DEPENDS += ${BUILD_PKGPATH},-ada
.endif
+.if ${BUILD_PACKAGES:M-dlang}
+LANGS := ${LANGS},d
+.endif
+
CONFIGURE_STYLE = gnu
MODGNU_CONFIG_GUESS_DIRS = ${WRKSRC} ${WRKSRC}/gcc
@@ -110,6 +121,7 @@ EXTRA_ENV += ac_cv_prog_M4=/usr/bin/m4
EXTRA_ENV += ac_cv_header_magic_h=no
EXTRA_ENV += lt_cv_path_SED=/usr/bin/sed
EXTRA_ENV += STRIP=/usr/bin/strip
+EXTRA_ENV += GDC=${GDC}
MAKE_FLAGS += ac_cv_path_mkdir=/bin/mkdir
CONFIGURE_ENV += ${EXTRA_ENV}
@@ -236,7 +248,7 @@ LIB_DEPENDS += devel/gmp,no_cxx,bootstr
LIB_DEPENDS-libs =
post-extract:
-.for f in egcc eg++
+.for f in egcc eg++ egdc
echo "#! /bin/sh" >${WRKDIR}/bin/$f
echo 'GNAT_ROOT=${WRKDIR}/bootstrap GCC_ROOT=${WRKDIR}/bootstrap LD_LIBRARY_PATH=${WRKDIR}/bootstrap/system-libs exec ${WRKDIR}/bootstrap/bin/$f "$$@"' >>${WRKDIR}/bin/$f
chmod a+x ${WRKDIR}/bin/$f
@@ -277,6 +289,7 @@ post-install:
ADA_PACKAGE = ${PACKAGE_REPOSITORY}/${MACHINE_ARCH}/all/${FULLPKGNAME-ada}.tgz
GCC_PACKAGE = ${PACKAGE_REPOSITORY}/${MACHINE_ARCH}/all/${FULLPKGNAME-main}.tgz
+GDC_PACKAGE = ${PACKAGE_REPOSITORY}/${MACHINE_ARCH}/all/${FULLPKGNAME-dlang}.tgz
GXX_PACKAGE = ${PACKAGE_REPOSITORY}/${MACHINE_ARCH}/all/${FULLPKGNAME-c++}.tgz
.PHONY: bootstrap
@@ -284,8 +297,13 @@ GXX_PACKAGE = ${PACKAGE_REPOSITORY}/${MA
bootstrap: ${ADA_PACKAGE} ${GCC_PACKAGE} ${GXX_PACKAGE}
${_PBUILD} rm -rf ${WRKDIR}/prepare
${_PBUILD} mkdir -p ${WRKDIR}/prepare/bootstrap/system-libs
+.if ${BUILD_PACKAGES:M-ada}
cd ${WRKDIR}/prepare/bootstrap && ${_PBUILD} tar xzf ${ADA_PACKAGE}
+.endif
cd ${WRKDIR}/prepare/bootstrap && ${_PBUILD} tar xzf ${GCC_PACKAGE}
+.if ${BUILD_PACKAGES:M-dlang}
+ cd ${WRKDIR}/prepare/bootstrap && ${_PBUILD} tar xzf ${GDC_PACKAGE}
+.endif
cd ${WRKDIR}/prepare/bootstrap && ${_PBUILD} tar xzf ${GXX_PACKAGE}
${_PBUILD} rm -rf ${WRKDIR}/prepare/bootstrap/{+*,info,man,share}
${_PBUILD} rm -rf ${WRKDIR}/prepare/bootstrap/lib/gcc/*-openbsd*/$V/include-fixed
Index: 15/distinfo
===================================================================
RCS file: /cvs/ports/lang/gcc/15/distinfo,v
diff -u -p -r1.5 distinfo
--- 15/distinfo 2 Nov 2025 18:48:50 -0000 1.5
+++ 15/distinfo 1 Dec 2025 01:56:58 -0000
@@ -1,8 +1,10 @@
-SHA256 (gcc/adastrap-amd64-11.2.0-5.tar.xz) = xv2mjPXOBPnrbP98RlbKmbNgE3iP8MHBrShaipe/YNI=
+SHA256 (gcc/adastrap-aarch64-11.2.0-0.tar.xz) = rVm75YiR/GJ6lsS9PbTaCmE5G4Q7CpXo5924ag3lqro=
+SHA256 (gcc/adastrap-amd64-11.2.0-6.tar.xz) = rxI866IO57k5nZGBVbaGynN0XRcA4QJIN1AAW3xNA1w=
SHA256 (gcc/adastrap-mips64-8.4.0-5.tar.xz) = Rfwenft0B3hxydQ3mqkkbFN40maQ73Jl4fgTFn1eNKQ=
SHA256 (gcc/adastrap-powerpc-11.2.0-3.tar.xz) = acJtrhP/QyqtfDHrcXZjwI1LIBBN8C+SrTokVunndSQ=
SHA256 (gcc/gcc-15.2.0.tar.xz) = Q4/ZloJrDIJIWinaA6ctcdbjVBqD7HAt9Ccfb+Al0k4=
-SIZE (gcc/adastrap-amd64-11.2.0-5.tar.xz) = 78100312
+SIZE (gcc/adastrap-aarch64-11.2.0-0.tar.xz) = 67081156
+SIZE (gcc/adastrap-amd64-11.2.0-6.tar.xz) = 100826604
SIZE (gcc/adastrap-mips64-8.4.0-5.tar.xz) = 49877060
SIZE (gcc/adastrap-powerpc-11.2.0-3.tar.xz) = 70134604
SIZE (gcc/gcc-15.2.0.tar.xz) = 101056276
Index: 15/patches/patch-Makefile_in
===================================================================
RCS file: /cvs/ports/lang/gcc/15/patches/patch-Makefile_in,v
diff -u -p -r1.1.1.1 patch-Makefile_in
--- 15/patches/patch-Makefile_in 18 Aug 2025 19:49:19 -0000 1.1.1.1
+++ 15/patches/patch-Makefile_in 1 Dec 2025 01:56:58 -0000
@@ -1,7 +1,15 @@
Index: Makefile.in
--- Makefile.in.orig
+++ Makefile.in
-@@ -2898,7 +2898,7 @@ install:
+@@ -621,7 +621,6 @@ STAGE1_CONFIGURE_FLAGS = $(STAGE1_CHECKING) \
+
+ @if target-libphobos-bootstrap
+ STAGE1_CONFIGURE_FLAGS += --with-libphobos-druntime-only
+-STAGE2_CONFIGURE_FLAGS += --with-libphobos-druntime-only
+ @endif target-libphobos-bootstrap
+
+ # When using the slow stage1 compiler disable IL verification and forcefully
+@@ -2898,7 +2897,7 @@ install:
@: $(MAKE); $(unstage)
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
@@ -10,7 +18,7 @@ Index: Makefile.in
.PHONY: install-host-nogcc
install-host-nogcc: \
-@@ -3222,7 +3222,7 @@ configure-build-libiberty:
+@@ -3222,7 +3221,7 @@ configure-build-libiberty:
esac; \
module_srcdir=libiberty; \
rm -f no-such-file || : ; \
@@ -19,7 +27,7 @@ Index: Makefile.in
$$s/$$module_srcdir/configure \
--srcdir=$${topdir}/$$module_srcdir \
$(BUILD_CONFIGARGS) --build=${build_alias} --host=${build_alias} \
-@@ -3279,7 +3279,7 @@ configure-build-bison:
+@@ -3279,7 +3278,7 @@ configure-build-bison:
esac; \
module_srcdir=bison; \
rm -f no-such-file || : ; \
@@ -28,7 +36,7 @@ Index: Makefile.in
$$s/$$module_srcdir/configure \
--srcdir=$${topdir}/$$module_srcdir \
$(BUILD_CONFIGARGS) --build=${build_alias} --host=${build_alias} \
-@@ -3336,7 +3336,7 @@ configure-build-flex:
+@@ -3336,7 +3335,7 @@ configure-build-flex:
esac; \
module_srcdir=flex; \
rm -f no-such-file || : ; \
@@ -37,7 +45,7 @@ Index: Makefile.in
$$s/$$module_srcdir/configure \
--srcdir=$${topdir}/$$module_srcdir \
$(BUILD_CONFIGARGS) --build=${build_alias} --host=${build_alias} \
-@@ -3393,7 +3393,7 @@ configure-build-m4:
+@@ -3393,7 +3392,7 @@ configure-build-m4:
esac; \
module_srcdir=m4; \
rm -f no-such-file || : ; \
@@ -46,7 +54,7 @@ Index: Makefile.in
$$s/$$module_srcdir/configure \
--srcdir=$${topdir}/$$module_srcdir \
$(BUILD_CONFIGARGS) --build=${build_alias} --host=${build_alias} \
-@@ -3450,7 +3450,7 @@ configure-build-texinfo:
+@@ -3450,7 +3449,7 @@ configure-build-texinfo:
esac; \
module_srcdir=texinfo; \
rm -f no-such-file || : ; \
@@ -55,7 +63,7 @@ Index: Makefile.in
$$s/$$module_srcdir/configure \
--srcdir=$${topdir}/$$module_srcdir \
$(BUILD_CONFIGARGS) --build=${build_alias} --host=${build_alias} \
-@@ -3507,7 +3507,7 @@ configure-build-fixincludes:
+@@ -3507,7 +3506,7 @@ configure-build-fixincludes:
esac; \
module_srcdir=fixincludes; \
rm -f no-such-file || : ; \
@@ -64,7 +72,7 @@ Index: Makefile.in
$$s/$$module_srcdir/configure \
--srcdir=$${topdir}/$$module_srcdir \
$(BUILD_CONFIGARGS) --build=${build_alias} --host=${build_alias} \
-@@ -3564,7 +3564,7 @@ configure-build-libcpp:
+@@ -3564,7 +3563,7 @@ configure-build-libcpp:
esac; \
module_srcdir=libcpp; \
rm -f no-such-file || : ; \
@@ -73,7 +81,7 @@ Index: Makefile.in
$$s/$$module_srcdir/configure \
--srcdir=$${topdir}/$$module_srcdir \
$(BUILD_CONFIGARGS) --build=${build_alias} --host=${build_alias} \
-@@ -45191,7 +45191,7 @@ configure-target-libstdc++-v3:
+@@ -45191,7 +45190,7 @@ configure-target-libstdc++-v3:
esac; \
module_srcdir=libstdc++-v3; \
rm -f no-such-file || : ; \
@@ -82,7 +90,7 @@ Index: Makefile.in
$$s/$$module_srcdir/configure \
--srcdir=$${topdir}/$$module_srcdir \
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
-@@ -46461,7 +46461,7 @@ configure-target-libsanitizer:
+@@ -46461,7 +46460,7 @@ configure-target-libsanitizer:
esac; \
module_srcdir=libsanitizer; \
rm -f no-such-file || : ; \
@@ -91,7 +99,7 @@ Index: Makefile.in
$$s/$$module_srcdir/configure \
--srcdir=$${topdir}/$$module_srcdir \
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
-@@ -47731,7 +47731,7 @@ configure-target-libvtv:
+@@ -47731,7 +47730,7 @@ configure-target-libvtv:
esac; \
module_srcdir=libvtv; \
rm -f no-such-file || : ; \
@@ -100,7 +108,7 @@ Index: Makefile.in
$$s/$$module_srcdir/configure \
--srcdir=$${topdir}/$$module_srcdir \
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
-@@ -49002,7 +49002,7 @@ configure-target-libssp:
+@@ -49002,7 +49001,7 @@ configure-target-libssp:
esac; \
module_srcdir=libssp; \
rm -f no-such-file || : ; \
@@ -109,7 +117,7 @@ Index: Makefile.in
$$s/$$module_srcdir/configure \
--srcdir=$${topdir}/$$module_srcdir \
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
-@@ -49487,7 +49487,7 @@ configure-target-newlib:
+@@ -49487,7 +49486,7 @@ configure-target-newlib:
esac; \
module_srcdir=newlib; \
rm -f no-such-file || : ; \
@@ -118,7 +126,7 @@ Index: Makefile.in
$$s/$$module_srcdir/configure \
--srcdir=$${topdir}/$$module_srcdir \
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
-@@ -49971,7 +49971,7 @@ configure-target-libgcc:
+@@ -49971,7 +49970,7 @@ configure-target-libgcc:
esac; \
module_srcdir=libgcc; \
rm -f no-such-file || : ; \
@@ -127,7 +135,7 @@ Index: Makefile.in
$$s/$$module_srcdir/configure \
--srcdir=$${topdir}/$$module_srcdir \
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
-@@ -51203,7 +51203,7 @@ configure-target-libbacktrace:
+@@ -51203,7 +51202,7 @@ configure-target-libbacktrace:
esac; \
module_srcdir=libbacktrace; \
rm -f no-such-file || : ; \
@@ -136,7 +144,7 @@ Index: Makefile.in
$$s/$$module_srcdir/configure \
--srcdir=$${topdir}/$$module_srcdir \
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
-@@ -52474,7 +52474,7 @@ configure-target-libquadmath:
+@@ -52474,7 +52473,7 @@ configure-target-libquadmath:
esac; \
module_srcdir=libquadmath; \
rm -f no-such-file || : ; \
@@ -145,7 +153,7 @@ Index: Makefile.in
$$s/$$module_srcdir/configure \
--srcdir=$${topdir}/$$module_srcdir \
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
-@@ -52959,7 +52959,7 @@ configure-target-libgfortran:
+@@ -52959,7 +52958,7 @@ configure-target-libgfortran:
esac; \
module_srcdir=libgfortran; \
rm -f no-such-file || : ; \
@@ -154,7 +162,7 @@ Index: Makefile.in
$$s/$$module_srcdir/configure \
--srcdir=$${topdir}/$$module_srcdir \
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
-@@ -53444,7 +53444,7 @@ configure-target-libobjc:
+@@ -53444,7 +53443,7 @@ configure-target-libobjc:
esac; \
module_srcdir=libobjc; \
rm -f no-such-file || : ; \
@@ -163,7 +171,7 @@ Index: Makefile.in
$$s/$$module_srcdir/configure \
--srcdir=$${topdir}/$$module_srcdir \
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
-@@ -53896,7 +53896,7 @@ configure-target-libgo:
+@@ -53896,7 +53895,7 @@ configure-target-libgo:
esac; \
module_srcdir=libgo; \
rm -f no-such-file || : ; \
@@ -172,7 +180,7 @@ Index: Makefile.in
$$s/$$module_srcdir/configure \
--srcdir=$${topdir}/$$module_srcdir \
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
-@@ -54380,7 +54380,7 @@ configure-target-libphobos:
+@@ -54380,7 +54379,7 @@ configure-target-libphobos:
esac; \
module_srcdir=libphobos; \
rm -f no-such-file || : ; \
@@ -181,7 +189,7 @@ Index: Makefile.in
$$s/$$module_srcdir/configure \
--srcdir=$${topdir}/$$module_srcdir \
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
-@@ -55651,7 +55651,7 @@ configure-target-libtermcap:
+@@ -55651,7 +55650,7 @@ configure-target-libtermcap:
esac; \
module_srcdir=libtermcap; \
rm -f no-such-file || : ; \
@@ -190,7 +198,7 @@ Index: Makefile.in
$$s/$$module_srcdir/configure \
--srcdir=$${topdir}/$$module_srcdir \
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
-@@ -56071,7 +56071,7 @@ configure-target-winsup:
+@@ -56071,7 +56070,7 @@ configure-target-winsup:
esac; \
module_srcdir=winsup; \
rm -f no-such-file || : ; \
@@ -199,7 +207,7 @@ Index: Makefile.in
$$s/$$module_srcdir/configure \
--srcdir=$${topdir}/$$module_srcdir \
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
-@@ -56556,7 +56556,7 @@ configure-target-libgloss:
+@@ -56556,7 +56555,7 @@ configure-target-libgloss:
esac; \
module_srcdir=libgloss; \
rm -f no-such-file || : ; \
@@ -208,7 +216,7 @@ Index: Makefile.in
$$s/$$module_srcdir/configure \
--srcdir=$${topdir}/$$module_srcdir \
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
-@@ -57036,7 +57036,7 @@ configure-target-libffi:
+@@ -57036,7 +57035,7 @@ configure-target-libffi:
esac; \
module_srcdir=libffi; \
rm -f no-such-file || : ; \
@@ -217,7 +225,7 @@ Index: Makefile.in
$$s/$$module_srcdir/configure \
--srcdir=$${topdir}/$$module_srcdir \
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
-@@ -57510,7 +57510,7 @@ configure-target-zlib:
+@@ -57510,7 +57509,7 @@ configure-target-zlib:
esac; \
module_srcdir=zlib; \
rm -f no-such-file || : ; \
@@ -226,7 +234,7 @@ Index: Makefile.in
$$s/$$module_srcdir/configure \
--srcdir=$${topdir}/$$module_srcdir \
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
-@@ -58781,7 +58781,7 @@ configure-target-rda:
+@@ -58781,7 +58780,7 @@ configure-target-rda:
esac; \
module_srcdir=rda; \
rm -f no-such-file || : ; \
@@ -235,7 +243,7 @@ Index: Makefile.in
$$s/$$module_srcdir/configure \
--srcdir=$${topdir}/$$module_srcdir \
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
-@@ -59266,7 +59266,7 @@ configure-target-libada:
+@@ -59266,7 +59265,7 @@ configure-target-libada:
esac; \
module_srcdir=libada; \
rm -f no-such-file || : ; \
@@ -244,7 +252,7 @@ Index: Makefile.in
$$s/$$module_srcdir/configure \
--srcdir=$${topdir}/$$module_srcdir \
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
-@@ -59751,7 +59751,7 @@ configure-target-libgm2:
+@@ -59751,7 +59750,7 @@ configure-target-libgm2:
esac; \
module_srcdir=libgm2; \
rm -f no-such-file || : ; \
@@ -253,7 +261,7 @@ Index: Makefile.in
$$s/$$module_srcdir/configure \
--srcdir=$${topdir}/$$module_srcdir \
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
-@@ -60235,7 +60235,7 @@ configure-target-libgomp:
+@@ -60235,7 +60234,7 @@ configure-target-libgomp:
esac; \
module_srcdir=libgomp; \
rm -f no-such-file || : ; \
@@ -262,7 +270,7 @@ Index: Makefile.in
$$s/$$module_srcdir/configure \
--srcdir=$${topdir}/$$module_srcdir \
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
-@@ -61506,7 +61506,7 @@ configure-target-libitm:
+@@ -61506,7 +61505,7 @@ configure-target-libitm:
esac; \
module_srcdir=libitm; \
rm -f no-such-file || : ; \
@@ -271,7 +279,7 @@ Index: Makefile.in
$$s/$$module_srcdir/configure \
--srcdir=$${topdir}/$$module_srcdir \
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
-@@ -61990,7 +61990,7 @@ configure-target-libatomic:
+@@ -61990,7 +61989,7 @@ configure-target-libatomic:
esac; \
module_srcdir=libatomic; \
rm -f no-such-file || : ; \
@@ -280,7 +288,7 @@ Index: Makefile.in
$$s/$$module_srcdir/configure \
--srcdir=$${topdir}/$$module_srcdir \
$(TARGET_CONFIGARGS) --build=${build_alias} --host=${target_alias} \
-@@ -63261,7 +63261,7 @@ configure-target-libgrust:
+@@ -63261,7 +63260,7 @@ configure-target-libgrust:
esac; \
module_srcdir=libgrust; \
rm -f no-such-file || : ; \
Index: 15/patches/patch-gcc_d_Make-lang_in
===================================================================
RCS file: 15/patches/patch-gcc_d_Make-lang_in
diff -N 15/patches/patch-gcc_d_Make-lang_in
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ 15/patches/patch-gcc_d_Make-lang_in 1 Dec 2025 01:56:58 -0000
@@ -0,0 +1,12 @@
+Index: gcc/d/Make-lang.in
+--- gcc/d/Make-lang.in.orig
++++ gcc/d/Make-lang.in
+@@ -67,7 +67,7 @@ ALL_DFLAGS = $(DFLAGS-$@) $(GDCFLAGS) -fversion=IN_GCC
+ DCOMPILE.base = $(GDC) -c $(ALL_DFLAGS) -o $@
+ DCOMPILE = $(DCOMPILE.base) -MT $@ -MMD -MP -MF $(@D)/$(DEPDIR)/$(basename $(@F)).TPo
+ DPOSTCOMPILE = @mv $(@D)/$(DEPDIR)/$(basename $(@F)).TPo $(@D)/$(DEPDIR)/$(basename $(@F)).Po
+-DLINKER = $(GDC) $(NO_PIE_FLAG) -lstdc++
++DLINKER = $(GDC) $(NO_PIE_FLAG) -lestdc++
+
+ # Like LINKER, but use a mutex for serializing front end links.
+ ifeq ($(DO_LINK_MUTEX),true)
Index: 15/patches/patch-gcc_d_d-lang_cc
===================================================================
RCS file: 15/patches/patch-gcc_d_d-lang_cc
diff -N 15/patches/patch-gcc_d_d-lang_cc
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ 15/patches/patch-gcc_d_d-lang_cc 1 Dec 2025 01:56:58 -0000
@@ -0,0 +1,16 @@
+Index: gcc/d/d-lang.cc
+--- gcc/d/d-lang.cc.orig
++++ gcc/d/d-lang.cc
+@@ -1964,6 +1964,12 @@ const scoped_attribute_specs *const d_langhook_attribu
+ &d_langhook_common_attribute_table,
+ };
+
++extern "C" const char *
++fname_as_string(int pretty_p __attribute__((__unused__)))
++{
++ return NULL;
++}
++
+ /* Definitions for our language-specific hooks. */
+
+ #undef LANG_HOOKS_NAME
Index: 15/patches/patch-gcc_d_d-longdouble_cc
===================================================================
RCS file: 15/patches/patch-gcc_d_d-longdouble_cc
diff -N 15/patches/patch-gcc_d_d-longdouble_cc
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ 15/patches/patch-gcc_d_d-longdouble_cc 1 Dec 2025 01:56:58 -0000
@@ -0,0 +1,22 @@
+Index: gcc/d/d-longdouble.cc
+--- gcc/d/d-longdouble.cc.orig
++++ gcc/d/d-longdouble.cc
+@@ -86,6 +86,18 @@ longdouble::set (uint64_t d)
+ UNSIGNED);
+ }
+
++#if defined(__OpenBSD__) && defined(__LP64__)
++void longdouble::set(long d)
++{
++ set((int64_t)d);
++}
++
++void longdouble::set(unsigned long d)
++{
++ set((uint64_t)d);
++}
++#endif
++
+ uint64_t
+ longdouble::to_uint (void) const
+ {
Index: 15/patches/patch-gcc_d_d-port_cc
===================================================================
RCS file: 15/patches/patch-gcc_d_d-port_cc
diff -N 15/patches/patch-gcc_d_d-port_cc
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ 15/patches/patch-gcc_d_d-port_cc 1 Dec 2025 01:56:58 -0000
@@ -0,0 +1,14 @@
+Index: gcc/d/d-port.cc
+--- gcc/d/d-port.cc.orig
++++ gcc/d/d-port.cc
+@@ -169,3 +169,10 @@ Port::valcpy (void *buffer, uint64_t value, d_size_t s
+ gcc_unreachable ();
+ }
+ }
++
++#if defined(__OpenBSD__) && defined(__LP64__)
++void Port::valcpy(void *dst, unsigned long val, size_t size)
++{
++ valcpy(dst, (uint64_t)val, size);
++}
++#endif
Index: 15/patches/patch-gcc_d_dmd_root_port_h
===================================================================
RCS file: 15/patches/patch-gcc_d_dmd_root_port_h
diff -N 15/patches/patch-gcc_d_dmd_root_port_h
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ 15/patches/patch-gcc_d_dmd_root_port_h 1 Dec 2025 01:56:58 -0000
@@ -0,0 +1,11 @@
+Index: gcc/d/dmd/root/port.h
+--- gcc/d/dmd/root/port.h.orig
++++ gcc/d/dmd/root/port.h
+@@ -32,4 +32,7 @@ struct Port
+ static unsigned readwordLE(const void *buffer);
+ static unsigned readwordBE(const void *buffer);
+ static void valcpy(void *dst, uint64_t val, d_size_t size);
++#if defined(__OpenBSD__) && defined(__LP64__)
++ static void valcpy(void *dst, unsigned long val, size_t size);
++#endif
+ };
Index: 15/patches/patch-gcc_d_longdouble_h
===================================================================
RCS file: 15/patches/patch-gcc_d_longdouble_h
diff -N 15/patches/patch-gcc_d_longdouble_h
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ 15/patches/patch-gcc_d_longdouble_h 1 Dec 2025 01:56:58 -0000
@@ -0,0 +1,14 @@
+Index: gcc/d/longdouble.h
+--- gcc/d/longdouble.h.orig
++++ gcc/d/longdouble.h
+@@ -45,6 +45,10 @@ struct longdouble (public)
+ void set (uint32_t d);
+ void set (uint64_t d);
+ void set (bool d);
++#if defined(__OpenBSD__) && defined(__LP64__)
++ void set (long d);
++ void set (unsigned long d);
++#endif
+
+ /* Rvalue operators. */
+ bool to_bool () const;
Index: 15/patches/patch-libphobos_configure
===================================================================
RCS file: 15/patches/patch-libphobos_configure
diff -N 15/patches/patch-libphobos_configure
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ 15/patches/patch-libphobos_configure 1 Dec 2025 01:56:58 -0000
@@ -0,0 +1,15 @@
+Add fiber asm for powerpc64, to avoid
+"configure: error: setcontext required but not found"
+
+Index: libphobos/configure
+--- libphobos/configure.orig
++++ libphobos/configure
+@@ -15424,7 +15424,7 @@ fi
+ aarch64* | \
+ arm* | \
+ i[34567]86|x86_64 | \
+- powerpc)
++ powerpc*)
+ druntime_fiber_asm_external=yes
+ ;;
+ esac
Index: 15/patches/patch-libphobos_configure_tgt
===================================================================
RCS file: 15/patches/patch-libphobos_configure_tgt
diff -N 15/patches/patch-libphobos_configure_tgt
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ 15/patches/patch-libphobos_configure_tgt 1 Dec 2025 01:56:58 -0000
@@ -0,0 +1,13 @@
+Index: libphobos/configure.tgt
+--- libphobos/configure.tgt.orig
++++ libphobos/configure.tgt
+@@ -30,6 +30,9 @@ case "${target}" in
+ aarch64-*-darwin2*)
+ LIBPHOBOS_SUPPORTED=yes
+ ;;
++ *-*-openbsd*)
++ LIBPHOBOS_SUPPORTED=yes
++ ;;
+ aarch64*-*-linux*)
+ LIBPHOBOS_SUPPORTED=yes
+ ;;
Index: 15/patches/patch-libphobos_libdruntime_Makefile_in
===================================================================
RCS file: 15/patches/patch-libphobos_libdruntime_Makefile_in
diff -N 15/patches/patch-libphobos_libdruntime_Makefile_in
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ 15/patches/patch-libphobos_libdruntime_Makefile_in 1 Dec 2025 01:56:58 -0000
@@ -0,0 +1,14 @@
+Index: libphobos/libdruntime/Makefile.in
+--- libphobos/libdruntime/Makefile.in.orig
++++ libphobos/libdruntime/Makefile.in
+@@ -829,8 +829,9 @@ toolexeclib_LTLIBRARIES = libgdruntime.la
+ libgdruntime_la_SOURCES = $(ALL_DRUNTIME_SOURCES)
+ libgdruntime_la_LIBTOOLFLAGS =
+ @ENABLE_DARWIN_AT_RPATH_TRUE@libgdruntime_darwin_rpath = -Wl,-rpath,@loader_path
++include $(top_srcdir)/../libversions
+ libgdruntime_la_LDFLAGS = -Wc,-nophoboslib,-dstartfiles,-B../src,-Bgcc \
+- -version-info $(libtool_VERSION) $(libgdruntime_darwin_rpath)
++ $(LIBgdruntime_LTVERSION) $(libgdruntime_darwin_rpath)
+
+ libgdruntime_la_LIBADD = $(LIBATOMIC) $(LIBBACKTRACE)
+ libgdruntime_la_DEPENDENCIES = $(DRTSTUFF)
Index: 15/patches/patch-libphobos_libdruntime_config_powerpc_switchcontext_S
===================================================================
RCS file: 15/patches/patch-libphobos_libdruntime_config_powerpc_switchcontext_S
diff -N 15/patches/patch-libphobos_libdruntime_config_powerpc_switchcontext_S
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ 15/patches/patch-libphobos_libdruntime_config_powerpc_switchcontext_S 1 Dec 2025 01:56:58 -0000
@@ -0,0 +1,222 @@
+Add fibers for powerpc64 ELFv2, and fix fibers for 32-bit powerpc ELF.
+The old code was for some other platform (AIX?), not BSD nor Linux.
+This patch fixes OpenBSD but might break the other platform.
+
+This patch doesn't save altivec registers v20..v31, because gcc
+disables altivec by default.
+
+Index: libphobos/libdruntime/config/powerpc/switchcontext.S
+--- libphobos/libdruntime/config/powerpc/switchcontext.S.orig
++++ libphobos/libdruntime/config/powerpc/switchcontext.S
+@@ -24,7 +24,210 @@ see the files COPYING3 and COPYING.RUNTIME respectivel
+
+ #include "../common/threadasm.S"
+
+-#if !defined(__PPC64__) && !defined(__MACH__)
++#if defined(__ELF__)
++
++/**
++ * Performs a context switch.
++ *
++ * r3 - old context pointer
++ * r4 - new context pointer
++ *
++ */
++ .text
++ .globl CSYM(fiber_switchContext)
++ .type CSYM(fiber_switchContext), @function
++ .align 2
++CSYM(fiber_switchContext):
++ .cfi_startproc
++#ifdef __PPC64__
++ /* ELF64 - Save linkage area */
++ mflr 0
++ mfcr 5
++ std 0, 16(1)
++ stw 5, 8(1)
++
++ /* Make room for 18 GPRs, 18 FPRs */
++ addi 6, 1, -18 * 8
++ addi 1, 6, -18 * 8
++
++ /* Save GPRs */
++ std 31, (17 * 8)(6)
++ std 30, (16 * 8)(6)
++ std 29, (15 * 8)(6)
++ std 28, (14 * 8)(6)
++ std 27, (13 * 8)(6)
++ std 26, (12 * 8)(6)
++ std 25, (11 * 8)(6)
++ std 24, (10 * 8)(6)
++ std 23, (9 * 8)(6)
++ std 22, (8 * 8)(6)
++ std 21, (7 * 8)(6)
++ std 20, (6 * 8)(6)
++ std 19, (5 * 8)(6)
++ std 18, (4 * 8)(6)
++ std 17, (3 * 8)(6)
++ std 16, (2 * 8)(6)
++ std 15, (1 * 8)(6)
++ std 14, (0 * 8)(6)
++#else
++ /* ELF32 - Save linkage area */
++ mflr 0
++ mfcr 5
++ stw 0, 4(1)
++
++ /* Make room for 18 GPRs, CR, 18 FPRs; rounding up so r1 stays
++ 16-byte aligned. We must move r1, because ELF32 allows
++ signals to clobber below r1 (no red zone). */
++ addi 6, 1, -20 * 4
++ addi 1, 6, -18 * 8
++
++ /* Save GPRs */
++ stw 31, (19 * 4)(6)
++ stw 30, (18 * 4)(6)
++ stw 29, (17 * 4)(6)
++ stw 28, (16 * 4)(6)
++ stw 27, (15 * 4)(6)
++ stw 26, (14 * 4)(6)
++ stw 25, (13 * 4)(6)
++ stw 24, (12 * 4)(6)
++ stw 23, (11 * 4)(6)
++ stw 22, (10 * 4)(6)
++ stw 21, (9 * 4)(6)
++ stw 20, (8 * 4)(6)
++ stw 19, (7 * 4)(6)
++ stw 18, (6 * 4)(6)
++ stw 17, (5 * 4)(6)
++ stw 16, (4 * 4)(6)
++ stw 15, (3 * 4)(6)
++ stw 14, (2 * 4)(6)
++
++ /* Save condition register */
++ stw 5, 0(6)
++#endif
++
++ /* ELF32 and ELF64 - Save FPRs */
++ stfd 31, (-1 * 8)(6)
++ stfd 30, (-2 * 8)(6)
++ stfd 29, (-3 * 8)(6)
++ stfd 28, (-4 * 8)(6)
++ stfd 27, (-5 * 8)(6)
++ stfd 26, (-6 * 8)(6)
++ stfd 25, (-7 * 8)(6)
++ stfd 24, (-8 * 8)(6)
++ stfd 23, (-9 * 8)(6)
++ stfd 22, (-10 * 8)(6)
++ stfd 21, (-11 * 8)(6)
++ stfd 20, (-12 * 8)(6)
++ stfd 19, (-13 * 8)(6)
++ stfd 18, (-14 * 8)(6)
++ stfd 17, (-15 * 8)(6)
++ stfd 16, (-16 * 8)(6)
++ stfd 15, (-17 * 8)(6)
++ stfd 14, (-18 * 8)(6)
++
++ /* Save r6 in the old context, since we do not want the GC to
++ scan the floating point registers. */
++
++#ifdef __PPC64__
++ /* ELF64 - Update the old stack pointer */
++ std 6, 0(3)
++
++ /* Set new stack pointer */
++ addi 1, 4, -18 * 8
++
++ /* Set condition and link register. If lr is &fiber_entryPoint,
++ then ELFv2 ABI needs the same address in r12. */
++ lwz 5, (18 * 8 + 8)(4)
++ ld 12, (18 * 8 + 16)(4)
++ mtcr 5
++ mtlr 12
++#else
++ /* ELF32 - Update the old stack pointer */
++ stw 6, 0(3)
++
++ /* Set new stack pointer */
++ addi 1, 4, -18 * 8
++
++ /* Set condition and link register */
++ lwz 5, 0(4)
++ lwz 12, (20 * 4 + 4)(4)
++ mtcr 5
++ mtlr 12
++#endif
++
++ /* PPC32 and PPC64 - Restore FPRs */
++ lfd 14, (-18 * 8)(4)
++ lfd 15, (-17 * 8)(4)
++ lfd 16, (-16 * 8)(4)
++ lfd 17, (-15 * 8)(4)
++ lfd 18, (-14 * 8)(4)
++ lfd 19, (-13 * 8)(4)
++ lfd 20, (-12 * 8)(4)
++ lfd 21, (-11 * 8)(4)
++ lfd 22, (-10 * 8)(4)
++ lfd 23, (-9 * 8)(4)
++ lfd 24, (-8 * 8)(4)
++ lfd 25, (-7 * 8)(4)
++ lfd 26, (-6 * 8)(4)
++ lfd 27, (-5 * 8)(4)
++ lfd 28, (-4 * 8)(4)
++ lfd 29, (-3 * 8)(4)
++ lfd 30, (-2 * 8)(4)
++ lfd 31, (-1 * 8)(4)
++
++#ifdef __PPC64__
++ /* PPC64 - Restore GPRs */
++ ld 14, (0 * 8)(4)
++ ld 15, (1 * 8)(4)
++ ld 16, (2 * 8)(4)
++ ld 17, (3 * 8)(4)
++ ld 18, (4 * 8)(4)
++ ld 19, (5 * 8)(4)
++ ld 20, (6 * 8)(4)
++ ld 21, (7 * 8)(4)
++ ld 22, (8 * 8)(4)
++ ld 23, (9 * 8)(4)
++ ld 24, (10 * 8)(4)
++ ld 25, (11 * 8)(4)
++ ld 26, (12 * 8)(4)
++ ld 27, (13 * 8)(4)
++ ld 28, (14 * 8)(4)
++ ld 29, (15 * 8)(4)
++ ld 30, (16 * 8)(4)
++ ld 31, (17 * 8)(4)
++
++ /* Return and switch context */
++ addi 1, 4, 18 * 8
++ blr
++#else
++ /* PPC32 - Restore GPRs */
++ lwz 14, (2 * 4)(4)
++ lwz 15, (3 * 4)(4)
++ lwz 16, (4 * 4)(4)
++ lwz 17, (5 * 4)(4)
++ lwz 18, (6 * 4)(4)
++ lwz 19, (7 * 4)(4)
++ lwz 20, (8 * 4)(4)
++ lwz 21, (9 * 4)(4)
++ lwz 22, (10 * 4)(4)
++ lwz 23, (11 * 4)(4)
++ lwz 24, (12 * 4)(4)
++ lwz 25, (13 * 4)(4)
++ lwz 26, (14 * 4)(4)
++ lwz 27, (15 * 4)(4)
++ lwz 28, (16 * 4)(4)
++ lwz 29, (17 * 4)(4)
++ lwz 30, (18 * 4)(4)
++ lwz 31, (19 * 4)(4)
++
++ /* Return and switch context */
++ addi 1, 4, 20 * 4
++ blr
++#endif
++ .cfi_endproc
++ .size CSYM(fiber_switchContext),.-CSYM(fiber_switchContext)
++
++#elif !defined(__PPC64__) && !defined(__MACH__)
+
+ /**
+ * Performs a context switch.
Index: 15/patches/patch-libphobos_libdruntime_config_x86_switchcontext_S
===================================================================
RCS file: 15/patches/patch-libphobos_libdruntime_config_x86_switchcontext_S
diff -N 15/patches/patch-libphobos_libdruntime_config_x86_switchcontext_S
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ 15/patches/patch-libphobos_libdruntime_config_x86_switchcontext_S 1 Dec 2025 01:56:58 -0000
@@ -0,0 +1,46 @@
+Original approach build on assumption that ucontext is available and CET
+always means Shadow Stack. Both aren't true for OpenBSD.
+
+This patch fixes OpenBSD but might break the other platform.
+
+Index: libphobos/libdruntime/config/x86/switchcontext.S
+--- libphobos/libdruntime/config/x86/switchcontext.S.orig
++++ libphobos/libdruntime/config/x86/switchcontext.S
+@@ -27,10 +27,10 @@ see the files COPYING3 and COPYING.RUNTIME respectivel
+ /* NB: Generate the CET marker for -fcf-protection. */
+ #ifdef __CET__
+ # include <cet.h>
++#else
++# define _CET_ENDBR
+ #endif
+
+-#if !defined(__CET__)
+-
+ # if defined(__ELF__)
+
+ # if defined(__i386__)
+@@ -41,6 +41,7 @@ see the files COPYING3 and COPYING.RUNTIME respectivel
+ .align 16
+ CSYM(fiber_switchContext):
+ .cfi_startproc
++ _CET_ENDBR
+ // save current stack state
+ push %ebp
+ mov %esp, %ebp
+@@ -77,6 +78,7 @@ CSYM(fiber_switchContext):
+ .align 16
+ CSYM(fiber_switchContext):
+ .cfi_startproc
++ _CET_ENDBR
+ // Save current stack state.save current stack state
+ push %rbp
+ mov %rsp, %rbp
+@@ -107,6 +109,8 @@ CSYM(fiber_switchContext):
+ # endif /* defined(__ELF__) && defined(__x86_64__) && !defined(__ILP32__) */
+
+ # endif /* defined(__ELF__) */
++
++#if !defined(__CET__)
+
+ # if defined(__MACH__)
+
Index: 15/patches/patch-libphobos_libdruntime_core_stdc_stdio_d
===================================================================
RCS file: 15/patches/patch-libphobos_libdruntime_core_stdc_stdio_d
diff -N 15/patches/patch-libphobos_libdruntime_core_stdc_stdio_d
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ 15/patches/patch-libphobos_libdruntime_core_stdc_stdio_d 1 Dec 2025 01:56:58 -0000
@@ -0,0 +1,160 @@
+https://github.com/dlang/dmd/commit/bbd2b459ce0ee84b6c29f020d8509aa096f7e405
+
+Index: libphobos/libdruntime/core/stdc/stdio.d
+--- libphobos/libdruntime/core/stdc/stdio.d.orig
++++ libphobos/libdruntime/core/stdc/stdio.d
+@@ -611,31 +611,7 @@ else version (OpenBSD)
+ ///
+ struct __sFILE
+ {
+- ubyte* _p;
+- int _r;
+- int _w;
+- short _flags;
+- short _file;
+- __sbuf _bf;
+- int _lbfsize;
+-
+- void* _cookie;
+- int function(void*) _close;
+- int function(void*, scope char*, int) _read;
+- fpos_t function(void*, fpos_t, int) _seek;
+- int function(void*, scope const char*, int) _write;
+-
+- __sbuf _ext;
+- ubyte* _up;
+- int _ur;
+-
+- ubyte[3] _ubuf;
+- ubyte[1] _nbuf;
+-
+- __sbuf _lb;
+-
+- int _blksize;
+- fpos_t _offset;
++ void* dummy;
+ }
+
+ ///
+@@ -1019,16 +995,22 @@ else version (OpenBSD)
+ _IONBF = 2,
+ }
+
+- private extern shared FILE[3] __sF;
+- @property auto __stdin()() { return &__sF[0]; }
+- @property auto __stdout()() { return &__sF[1]; }
+- @property auto __stderr()() { return &__sF[2]; }
++ struct __sFstub { long _stub; }
++
++ private extern shared __sFstub[1] __stdin;
++ private extern shared __sFstub[1] __stdout;
++ private extern shared __sFstub[1] __stderr;
++
++ @property auto __stdin1()() { return cast(FILE*)__stdin; }
++ @property auto __stdout1()() { return cast(FILE*)__stdout; }
++ @property auto __stderr1()() { return cast(FILE*)__stderr; }
++
+ ///
+- alias __stdin stdin;
++ alias __stdin1 stdin;
+ ///
+- alias __stdout stdout;
++ alias __stdout1 stdout;
+ ///
+- alias __stderr stderr;
++ alias __stderr1 stderr;
+ }
+ else version (DragonFlyBSD)
+ {
+@@ -1727,83 +1709,14 @@ else version (OpenBSD)
+ {
+ ///
+ void rewind(FILE*);
+- }
+- @trusted private
+- {
+- ///
+- pragma(mangle, "clearerr")
+- pure void __clearerr(FILE*);
+- ///
+- pragma(mangle, "feof")
+- pure int __feof(FILE*);
+- ///
+- pragma(mangle, "ferror")
+- pure int __ferror(FILE*);
+- ///
+- pragma(mangle, "fileno")
+- int __fileno(FILE*);
+- }
+-
+- enum __SLBF = 0x0001;
+- enum __SNBF = 0x0002;
+- enum __SRD = 0x0004;
+- enum __SWR = 0x0008;
+- enum __SRW = 0x0010;
+- enum __SEOF = 0x0020;
+- enum __SERR = 0x0040;
+- enum __SMBF = 0x0080;
+- enum __SAPP = 0x0100;
+- enum __SSTR = 0x0200;
+- enum __SOPT = 0x0400;
+- enum __SNPT = 0x0800;
+- enum __SOFF = 0x1000;
+- enum __SMOD = 0x2000;
+- enum __SALC = 0x4000;
+- enum __SIGN = 0x8000;
+-
+- extern immutable __gshared int __isthreaded;
+-
+- extern (D) @trusted
+- {
+- void __sclearerr()(FILE* p)
+- {
+- p._flags = p._flags & ~(__SERR|__SEOF);
+- }
+-
+- int __sfeof()(FILE* p)
+- {
+- return (p._flags & __SEOF) != 0;
+- }
+-
+- int __sferror()(FILE* p)
+- {
+- return (p._flags & __SERR) != 0;
+- }
+-
+- int __sfileno()(FILE* p)
+- {
+- return p._file;
+- }
+-
+- pure void clearerr()(FILE* file)
+- {
+- !__isthreaded ? __sclearerr(file) : __clearerr(file);
+- }
+-
+- pure int feof()(FILE* file)
+- {
+- return !__isthreaded ? __sfeof(file) : __feof(file);
+- }
+-
+- pure int ferror()(FILE* file)
+- {
+- return !__isthreaded ? __sferror(file) : __ferror(file);
+- }
+-
+- int fileno()(FILE* file)
+- {
+- return !__isthreaded ? __sfileno(file) : __fileno(file);
+- }
++ ///
++ pure void clearerr(FILE*);
++ ///
++ pure int feof(FILE*);
++ ///
++ pure int ferror(FILE*);
++ ///
++ int fileno(FILE*);
+ }
+
+ ///
Index: 15/patches/patch-libphobos_libdruntime_core_sys_openbsd_dlfcn_d
===================================================================
RCS file: 15/patches/patch-libphobos_libdruntime_core_sys_openbsd_dlfcn_d
diff -N 15/patches/patch-libphobos_libdruntime_core_sys_openbsd_dlfcn_d
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ 15/patches/patch-libphobos_libdruntime_core_sys_openbsd_dlfcn_d 1 Dec 2025 01:56:58 -0000
@@ -0,0 +1,22 @@
+Index: libphobos/libdruntime/core/sys/openbsd/dlfcn.d
+--- libphobos/libdruntime/core/sys/openbsd/dlfcn.d.orig
++++ libphobos/libdruntime/core/sys/openbsd/dlfcn.d
+@@ -15,6 +15,9 @@ enum RTLD_NEXT = cast(void *)-1;
+ enum RTLD_DEFAULT = cast(void *)-2;
+ enum RTLD_SELF = cast(void *)-3;
+
++enum RTLD_NOLOAD = 0;
++enum RTLD_DI_LINKMAP = 0;
++
+ enum DL_GETERRNO = 1;
+ enum DL_SETTHREADLCK = 2;
+ enum DL_SETBINDLCK = 3;
+@@ -23,3 +26,8 @@ enum DL_REFERENCE = 4;
+ enum DL_LAZY = RTLD_LAZY;
+
+ int dlctl(void *, int, void *);
++
++int dlinfo(void *handle, int request, void *p) nothrow @nogc
++{
++ return 0;
++}
Index: 15/patches/patch-libphobos_libdruntime_core_sys_openbsd_execinfo_d
===================================================================
RCS file: 15/patches/patch-libphobos_libdruntime_core_sys_openbsd_execinfo_d
diff -N 15/patches/patch-libphobos_libdruntime_core_sys_openbsd_execinfo_d
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ 15/patches/patch-libphobos_libdruntime_core_sys_openbsd_execinfo_d 1 Dec 2025 01:56:58 -0000
@@ -0,0 +1,147 @@
+Index: libphobos/libdruntime/core/sys/openbsd/execinfo.d
+--- libphobos/libdruntime/core/sys/openbsd/execinfo.d.orig
++++ libphobos/libdruntime/core/sys/openbsd/execinfo.d
+@@ -11,10 +11,137 @@ module core.sys.openbsd.execinfo;
+ version (OpenBSD):
+ extern (C):
+ nothrow:
+-@nogc:
+
+-size_t backtrace(void**, size_t);
+-char** backtrace_symbols(const(void*)*, size_t);
+-void backtrace_symbols_fd(const(void*)*, size_t, int);
+-char** backtrace_symbols_fmt(const(void*)*, size_t, const char*);
+-int backtrace_symbols_fd_fmt(const(void*)*, size_t, int, const char*);
++version (GNU)
++ version = BacktraceExternal;
++
++version (BacktraceExternal)
++{
++ size_t backtrace(void**, size_t);
++ char** backtrace_symbols(const(void*)*, size_t);
++ void backtrace_symbols_fd(const(void*)*, size_t, int);
++ char** backtrace_symbols_fmt(const(void*)*, size_t, const char*);
++ int backtrace_symbols_fd_fmt(const(void*)*, size_t, int, const char*);
++}
++else
++{
++ import core.sys.openbsd.dlfcn;
++
++ // Use extern (D) so that these functions don't collide with libexecinfo.
++
++ extern (D) int backtrace(void** buffer, int size)
++ {
++ import core.thread : thread_stackBottom;
++
++ void** p, pend=cast(void**)thread_stackBottom();
++ version (D_InlineAsm_X86)
++ asm nothrow @trusted { mov p[EBP], EBP; }
++ else version (D_InlineAsm_X86_64)
++ asm nothrow @trusted { mov p[RBP], RBP; }
++ else
++ static assert(false, "Architecture not supported.");
++
++ int i;
++ for (; i < size && p < pend; ++i)
++ {
++ buffer[i] = *(p + 1);
++ auto pnext = cast(void**)*p;
++ if (pnext <= p) break;
++ p = pnext;
++ }
++ return i;
++ }
++
++
++ extern (D) char** backtrace_symbols(const(void*)* buffer, int size)
++ {
++ static void* realloc(void* p, size_t len) nothrow
++ {
++ static import cstdlib=core.stdc.stdlib;
++ auto res = cstdlib.realloc(p, len);
++ if (res is null) cstdlib.free(p);
++ return res;
++ }
++
++ if (size <= 0) return null;
++
++ size_t pos = size * (char*).sizeof;
++ char** p = cast(char**)realloc(null, pos);
++ if (p is null) return null;
++
++ Dl_info info;
++ foreach (i, addr; buffer[0 .. size])
++ {
++ if (dladdr(addr, &info) == 0)
++ (cast(ubyte*)&info)[0 .. info.sizeof] = 0;
++ fixupDLInfo(addr, info);
++
++ immutable len = formatStackFrame(null, 0, addr, info);
++ assert(len > 0);
++
++ p = cast(char**)realloc(p, pos + len);
++ if (p is null) return null;
++
++ formatStackFrame(cast(char*)p + pos, len, addr, info) == len || assert(0);
++
++ p[i] = cast(char*)pos;
++ pos += len;
++ }
++ foreach (i; 0 .. size)
++ {
++ pos = cast(size_t)p[i];
++ p[i] = cast(char*)p + pos;
++ }
++ return p;
++ }
++
++
++ extern (D) void backtrace_symbols_fd(const(void*)* buffer, int size, int fd)
++ {
++ import core.sys.posix.unistd : write;
++ import core.stdc.stdlib : alloca;
++
++ if (size <= 0) return;
++
++ Dl_info info;
++ foreach (i, addr; buffer[0 .. size])
++ {
++ if (dladdr(addr, &info) == 0)
++ (cast(ubyte*)&info)[0 .. info.sizeof] = 0;
++ fixupDLInfo(addr, info);
++
++ enum maxAlloca = 1024;
++ enum min = (size_t a, size_t b) => a <= b ? a : b;
++ immutable len = min(formatStackFrame(null, 0, addr, info), maxAlloca);
++ assert(len > 0);
++
++ auto p = cast(char*)alloca(len);
++ if (p is null) return;
++
++ formatStackFrame(p, len, addr, info) >= len || assert(0);
++ p[len - 1] = '\n';
++ write(fd, p, len);
++ }
++ }
++
++
++ private void fixupDLInfo(const(void)* addr, ref Dl_info info)
++ {
++ if (info.dli_fname is null) info.dli_fname = "???";
++ if (info.dli_fbase is null) info.dli_fbase = null;
++ if (info.dli_sname is null) info.dli_sname = "???";
++ if (info.dli_saddr is null) info.dli_saddr = cast(void*)addr;
++ }
++
++
++ private size_t formatStackFrame(char* p, size_t plen, const(void)* addr, const ref Dl_info info)
++ {
++ import core.stdc.stdio : snprintf;
++
++ immutable off = addr - info.dli_saddr;
++ immutable len = snprintf(p, plen, "%p <%s+%zd> at %s",
++ addr, info.dli_sname, off, info.dli_fname);
++ assert(len > 0);
++ return cast(size_t)len + 1; // + '\0'
++ }
++}
Index: 15/patches/patch-libphobos_libdruntime_core_sys_posix_config_d
===================================================================
RCS file: 15/patches/patch-libphobos_libdruntime_core_sys_posix_config_d
diff -N 15/patches/patch-libphobos_libdruntime_core_sys_posix_config_d
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ 15/patches/patch-libphobos_libdruntime_core_sys_posix_config_d 1 Dec 2025 01:56:58 -0000
@@ -0,0 +1,16 @@
+Index: libphobos/libdruntime/core/sys/posix/config.d
+--- libphobos/libdruntime/core/sys/posix/config.d.orig
++++ libphobos/libdruntime/core/sys/posix/config.d
+@@ -196,6 +196,12 @@ else version (OpenBSD)
+ enum _STACKALIGNBYTES = 15;
+ enum _MAX_PAGE_SHIFT = 12;
+ }
++ else version (PPC64)
++ {
++ enum _ALIGNBYTES = 7;
++ enum _STACKALIGNBYTES = 15;
++ enum _MAX_PAGE_SHIFT = 12;
++ }
+ else version (SPARC64)
+ {
+ enum _ALIGNBYTES = 15;
Index: 15/patches/patch-libphobos_libdruntime_core_sys_posix_setjmp_d
===================================================================
RCS file: 15/patches/patch-libphobos_libdruntime_core_sys_posix_setjmp_d
diff -N 15/patches/patch-libphobos_libdruntime_core_sys_posix_setjmp_d
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ 15/patches/patch-libphobos_libdruntime_core_sys_posix_setjmp_d 1 Dec 2025 01:56:58 -0000
@@ -0,0 +1,25 @@
+Index: libphobos/libdruntime/core/sys/posix/setjmp.d
+--- libphobos/libdruntime/core/sys/posix/setjmp.d.orig
++++ libphobos/libdruntime/core/sys/posix/setjmp.d
+@@ -283,6 +283,10 @@ else version (OpenBSD)
+ {
+ enum _JBLEN = 100;
+ }
++ else version (PPC64)
++ {
++ enum _JBLEN = 208;
++ }
+ else version (MIPS64)
+ {
+ enum _JBLEN = 83;
+@@ -294,6 +298,10 @@ else version (OpenBSD)
+ else version (SPARC64)
+ {
+ enum _JBLEN = 14;
++ }
++ else version (AArch64)
++ {
++ enum _JBLEN = 64;
+ }
+ else
+ static assert(0);
Index: 15/patches/patch-libphobos_libdruntime_core_sys_posix_sys_mman_d
===================================================================
RCS file: 15/patches/patch-libphobos_libdruntime_core_sys_posix_sys_mman_d
diff -N 15/patches/patch-libphobos_libdruntime_core_sys_posix_sys_mman_d
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ 15/patches/patch-libphobos_libdruntime_core_sys_posix_sys_mman_d 1 Dec 2025 01:56:58 -0000
@@ -0,0 +1,13 @@
+Fiber needs mmap(2) MAP_STACK.
+
+Index: libphobos/libdruntime/core/sys/posix/sys/mman.d
+--- libphobos/libdruntime/core/sys/posix/sys/mman.d.orig
++++ libphobos/libdruntime/core/sys/posix/sys/mman.d
+@@ -454,6 +454,7 @@ else version (DragonFlyBSD)
+ enum MAP_PRIVATE = 0x0002;
+ enum MAP_FIXED = 0x0010;
+ enum MAP_ANON = 0x1000;
++ enum MAP_STACK = 0x4000;
+
+ enum MAP_FAILED = cast(void*)-1;
+
Index: 15/patches/patch-libphobos_libdruntime_core_sys_posix_ucontext_d
===================================================================
RCS file: 15/patches/patch-libphobos_libdruntime_core_sys_posix_ucontext_d
diff -N 15/patches/patch-libphobos_libdruntime_core_sys_posix_ucontext_d
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ 15/patches/patch-libphobos_libdruntime_core_sys_posix_ucontext_d 1 Dec 2025 01:56:58 -0000
@@ -0,0 +1,29 @@
+Index: libphobos/libdruntime/core/sys/posix/ucontext.d
+--- libphobos/libdruntime/core/sys/posix/ucontext.d.orig
++++ libphobos/libdruntime/core/sys/posix/ucontext.d
+@@ -1275,6 +1275,25 @@ else version (OpenBSD)
+ trapframe sc_frame;
+ }
+ }
++ else version (PPC64)
++ {
++ struct sigcontext
++ {
++ c_long sc_cookie;
++ int sc_mask;
++ c_long[32] sc_reg;
++ c_long sc_lr;
++ c_long sc_cr;
++ c_long sc_xer;
++ c_long sc_ctr;
++ c_long sc_pc;
++ c_long sc_ps;
++ c_long sc_vrsave;
++ ulong[2][64] sc_vsx; // __uint128_t
++ ulong sc_fpscr;
++ ulong sc_vcsr;
++ }
++ }
+ else version (SPARC64)
+ {
+ struct sigcontext
Index: 15/patches/patch-libphobos_libdruntime_core_thread_fiber_package_d
===================================================================
RCS file: 15/patches/patch-libphobos_libdruntime_core_thread_fiber_package_d
diff -N 15/patches/patch-libphobos_libdruntime_core_thread_fiber_package_d
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ 15/patches/patch-libphobos_libdruntime_core_thread_fiber_package_d 1 Dec 2025 01:56:58 -0000
@@ -0,0 +1,78 @@
+Add fibers for powerpc64 ELFv2, and fix fibers for 32-bit powerpc ELF.
+The old code was for some other platform (AIX?), not BSD nor Linux.
+This patch fixes OpenBSD but might break the other platform.
+
+Index: libphobos/libdruntime/core/thread/fiber/package.d
+--- libphobos/libdruntime/core/thread/fiber/package.d.orig
++++ libphobos/libdruntime/core/thread/fiber/package.d
+@@ -94,8 +94,13 @@ package
+ {
+ version = AlignFiberStackTo16Byte;
+
+- version (GNU_CET)
++ version (OpenBSD)
+ {
++ version = AsmExternal;
++ version = AsmX86_64_Posix;
++ }
++ else version (GNU_CET)
++ {
+ // fiber_switchContext does not support shadow stack from
+ // Intel CET. So use ucontext implementation.
+ }
+@@ -127,6 +132,7 @@ package
+ {
+ version = AsmPPC_Posix;
+ version = AsmExternal;
++ version = AlignFiberStackTo16Byte;
+ }
+ }
+ else version (PPC64)
+@@ -139,6 +145,8 @@ package
+ }
+ else version (Posix)
+ {
++ version = AsmPPC_Posix;
++ version = AsmExternal;
+ version = AlignFiberStackTo16Byte;
+ }
+ }
+@@ -1075,27 +1083,22 @@ class Fiber : FiberBase (protected)
+ }
+ else version (AsmPPC_Posix)
+ {
+- version (StackGrowsDown)
+- {
+- pstack -= int.sizeof * 5;
+- }
+- else
+- {
+- pstack += int.sizeof * 5;
+- }
++ version (StackGrowsDown) {} else static assert (false);
+
+- push( cast(size_t) &fiber_entryPoint ); // link register
+- push( 0x00000000 ); // control register
+- push( 0x00000000 ); // old stack pointer
+-
+- // GPR values
+- version (StackGrowsDown)
++ version (PPC64)
+ {
+- pstack -= int.sizeof * 20;
++ pstack -= size_t.sizeof * 5;
++ push( cast(size_t) &fiber_entryPoint); // link register
++ push( 0x00000000_00000000 ); // condition register
++ push( 0x00000000_00000000 ); // old stack pointer
++ pstack -= size_t.sizeof * 18; // GPRs
+ }
+ else
+ {
+- pstack += int.sizeof * 20;
++ pstack -= size_t.sizeof * 6;
++ push( cast(size_t) &fiber_entryPoint); // link register
++ push( 0x00000000 ); // old stack pointer
++ pstack -= size_t.sizeof * 20; // GPRs and CR
+ }
+
+ assert( (cast(size_t) pstack & 0x0f) == 0 );
Index: 15/patches/patch-libphobos_src_Makefile_in
===================================================================
RCS file: 15/patches/patch-libphobos_src_Makefile_in
diff -N 15/patches/patch-libphobos_src_Makefile_in
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ 15/patches/patch-libphobos_src_Makefile_in 1 Dec 2025 01:56:58 -0000
@@ -0,0 +1,14 @@
+Index: libphobos/src/Makefile.in
+--- libphobos/src/Makefile.in.orig
++++ libphobos/src/Makefile.in
+@@ -540,8 +540,9 @@ toolexeclib_LTLIBRARIES = libgphobos.la
+ libgphobos_la_SOURCES = $(ALL_PHOBOS_SOURCES)
+ libgphobos_la_LIBTOOLFLAGS =
+ @ENABLE_DARWIN_AT_RPATH_TRUE@libgphobos_darwin_rpath = -Wl,-rpath,@loader_path
++include $(top_srcdir)/../libversions
+ libgphobos_la_LDFLAGS = -Wc,-nophoboslib,-dstartfiles,-B../libdruntime/gcc \
+- -version-info $(libtool_VERSION) $(libgphobos_darwin_rpath)
++ $(LIBgphobos_LTVERSION) $(libgphobos_darwin_rpath)
+
+ @ENABLE_LIBDRUNTIME_ONLY_FALSE@libgphobos_la_LIBADD = \
+ @ENABLE_LIBDRUNTIME_ONLY_FALSE@ ../libdruntime/libgdruntime_convenience.la $(LIBZ)
Index: 15/pkg/PLIST-dlang
===================================================================
RCS file: 15/pkg/PLIST-dlang
diff -N 15/pkg/PLIST-dlang
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ 15/pkg/PLIST-dlang 1 Dec 2025 01:56:59 -0000
@@ -0,0 +1,823 @@
+@bin bin/egdc
+@bin bin/${CONFIG}-egdc
+@info info/gdc.info
+lib/gcc/${CONFIG}/${V}/include/d/
+lib/gcc/${CONFIG}/${V}/include/d/__importc_builtins.di
+lib/gcc/${CONFIG}/${V}/include/d/__main.di
+lib/gcc/${CONFIG}/${V}/include/d/core/
+lib/gcc/${CONFIG}/${V}/include/d/core/atomic.d
+lib/gcc/${CONFIG}/${V}/include/d/core/attribute.d
+lib/gcc/${CONFIG}/${V}/include/d/core/bitop.d
+lib/gcc/${CONFIG}/${V}/include/d/core/builtins.d
+lib/gcc/${CONFIG}/${V}/include/d/core/checkedint.d
+lib/gcc/${CONFIG}/${V}/include/d/core/cpuid.d
+lib/gcc/${CONFIG}/${V}/include/d/core/demangle.d
+lib/gcc/${CONFIG}/${V}/include/d/core/exception.d
+lib/gcc/${CONFIG}/${V}/include/d/core/factory.d
+lib/gcc/${CONFIG}/${V}/include/d/core/gc/
+lib/gcc/${CONFIG}/${V}/include/d/core/gc/config.d
+lib/gcc/${CONFIG}/${V}/include/d/core/gc/gcinterface.d
+lib/gcc/${CONFIG}/${V}/include/d/core/gc/registry.d
+lib/gcc/${CONFIG}/${V}/include/d/core/int128.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/abort.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/array/
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/array/appending.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/array/arrayassign.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/array/capacity.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/array/casting.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/array/comparison.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/array/concatenation.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/array/construction.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/array/duplication.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/array/equality.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/array/operations.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/array/utils.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/atomic.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/attributes.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/container/
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/container/array.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/container/common.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/container/hashtab.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/container/treap.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/convert.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/dassert.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/destruction.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/entrypoint.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/gc/
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/gc/bits.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/gc/blkcache.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/gc/blockmeta.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/gc/impl/
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/gc/impl/conservative/
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/gc/impl/conservative/gc.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/gc/impl/manual/
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/gc/impl/manual/gc.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/gc/impl/proto/
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/gc/impl/proto/gc.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/gc/os.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/gc/pooltable.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/gc/proxy.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/hash.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/lifetime.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/moving.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/newaa.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/parseoptions.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/postblit.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/qsort.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/spinlock.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/string.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/switch_.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/traits.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/utf.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/util/
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/util/array.d
+lib/gcc/${CONFIG}/${V}/include/d/core/internal/util/math.d
+lib/gcc/${CONFIG}/${V}/include/d/core/interpolation.d
+lib/gcc/${CONFIG}/${V}/include/d/core/lifetime.d
+lib/gcc/${CONFIG}/${V}/include/d/core/math.d
+lib/gcc/${CONFIG}/${V}/include/d/core/memory.d
+lib/gcc/${CONFIG}/${V}/include/d/core/runtime.d
+lib/gcc/${CONFIG}/${V}/include/d/core/simd.d
+lib/gcc/${CONFIG}/${V}/include/d/core/stdc/
+lib/gcc/${CONFIG}/${V}/include/d/core/stdc/assert_.d
+lib/gcc/${CONFIG}/${V}/include/d/core/stdc/complex.d
+lib/gcc/${CONFIG}/${V}/include/d/core/stdc/config.d
+lib/gcc/${CONFIG}/${V}/include/d/core/stdc/ctype.d
+lib/gcc/${CONFIG}/${V}/include/d/core/stdc/errno.d
+lib/gcc/${CONFIG}/${V}/include/d/core/stdc/fenv.d
+lib/gcc/${CONFIG}/${V}/include/d/core/stdc/float_.d
+lib/gcc/${CONFIG}/${V}/include/d/core/stdc/inttypes.d
+lib/gcc/${CONFIG}/${V}/include/d/core/stdc/limits.d
+lib/gcc/${CONFIG}/${V}/include/d/core/stdc/locale.d
+lib/gcc/${CONFIG}/${V}/include/d/core/stdc/math.d
+lib/gcc/${CONFIG}/${V}/include/d/core/stdc/signal.d
+lib/gcc/${CONFIG}/${V}/include/d/core/stdc/stdarg.d
+lib/gcc/${CONFIG}/${V}/include/d/core/stdc/stdatomic.d
+lib/gcc/${CONFIG}/${V}/include/d/core/stdc/stddef.d
+lib/gcc/${CONFIG}/${V}/include/d/core/stdc/stdint.d
+lib/gcc/${CONFIG}/${V}/include/d/core/stdc/stdio.d
+lib/gcc/${CONFIG}/${V}/include/d/core/stdc/stdlib.d
+lib/gcc/${CONFIG}/${V}/include/d/core/stdc/string.d
+lib/gcc/${CONFIG}/${V}/include/d/core/stdc/tgmath.d
+lib/gcc/${CONFIG}/${V}/include/d/core/stdc/time.d
+lib/gcc/${CONFIG}/${V}/include/d/core/stdc/wchar_.d
+lib/gcc/${CONFIG}/${V}/include/d/core/stdc/wctype.d
+lib/gcc/${CONFIG}/${V}/include/d/core/stdcpp/
+lib/gcc/${CONFIG}/${V}/include/d/core/stdcpp/allocator.d
+lib/gcc/${CONFIG}/${V}/include/d/core/stdcpp/array.d
+lib/gcc/${CONFIG}/${V}/include/d/core/stdcpp/exception.d
+lib/gcc/${CONFIG}/${V}/include/d/core/stdcpp/memory.d
+lib/gcc/${CONFIG}/${V}/include/d/core/stdcpp/new_.d
+lib/gcc/${CONFIG}/${V}/include/d/core/stdcpp/string.d
+lib/gcc/${CONFIG}/${V}/include/d/core/stdcpp/string_view.d
+lib/gcc/${CONFIG}/${V}/include/d/core/stdcpp/type_traits.d
+lib/gcc/${CONFIG}/${V}/include/d/core/stdcpp/typeinfo.d
+lib/gcc/${CONFIG}/${V}/include/d/core/stdcpp/utility.d
+lib/gcc/${CONFIG}/${V}/include/d/core/stdcpp/vector.d
+lib/gcc/${CONFIG}/${V}/include/d/core/stdcpp/xutility.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sync/
+lib/gcc/${CONFIG}/${V}/include/d/core/sync/barrier.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sync/condition.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sync/config.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sync/event.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sync/exception.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sync/mutex.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sync/package.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sync/rwmutex.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sync/semaphore.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/bionic/
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/bionic/err.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/bionic/fcntl.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/bionic/stdlib.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/bionic/string.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/bionic/unistd.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/darwin/
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/darwin/config.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/darwin/crt_externs.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/darwin/dlfcn.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/darwin/err.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/darwin/execinfo.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/darwin/fcntl.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/darwin/ifaddrs.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/darwin/mach/
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/darwin/mach/dyld.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/darwin/mach/getsect.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/darwin/mach/kern_return.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/darwin/mach/loader.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/darwin/mach/nlist.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/darwin/mach/port.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/darwin/mach/semaphore.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/darwin/mach/stab.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/darwin/mach/thread_act.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/darwin/netinet/
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/darwin/netinet/in_.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/darwin/pthread.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/darwin/stdlib.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/darwin/string.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/darwin/sys/
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/darwin/sys/attr.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/darwin/sys/cdefs.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/darwin/sys/event.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/darwin/sys/mman.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/darwin/sys/sysctl.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/dragonflybsd/
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/dragonflybsd/dlfcn.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/dragonflybsd/err.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/dragonflybsd/execinfo.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/dragonflybsd/netinet/
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/dragonflybsd/netinet/in_.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/dragonflybsd/pthread_np.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/dragonflybsd/stdlib.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/dragonflybsd/string.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/dragonflybsd/sys/
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/dragonflybsd/sys/_bitset.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/dragonflybsd/sys/_cpuset.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/dragonflybsd/sys/cdefs.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/dragonflybsd/sys/elf.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/dragonflybsd/sys/elf32.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/dragonflybsd/sys/elf64.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/dragonflybsd/sys/elf_common.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/dragonflybsd/sys/event.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/dragonflybsd/sys/link_elf.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/dragonflybsd/sys/mman.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/dragonflybsd/sys/socket.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/dragonflybsd/sys/sysctl.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/dragonflybsd/time.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/elf/
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/elf/package.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/freebsd/
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/freebsd/config.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/freebsd/dlfcn.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/freebsd/err.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/freebsd/execinfo.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/freebsd/ifaddrs.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/freebsd/mqueue.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/freebsd/net/
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/freebsd/net/if_.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/freebsd/net/if_dl.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/freebsd/netinet/
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/freebsd/netinet/in_.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/freebsd/pthread_np.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/freebsd/stdlib.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/freebsd/string.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/freebsd/sys/
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/freebsd/sys/_bitset.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/freebsd/sys/_cpuset.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/freebsd/sys/cdefs.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/freebsd/sys/elf.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/freebsd/sys/elf32.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/freebsd/sys/elf64.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/freebsd/sys/elf_common.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/freebsd/sys/event.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/freebsd/sys/link_elf.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/freebsd/sys/mman.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/freebsd/sys/mount.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/freebsd/sys/socket.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/freebsd/sys/sysctl.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/freebsd/sys/types.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/freebsd/time.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/freebsd/unistd.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/config.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/dlfcn.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/elf.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/epoll.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/err.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/errno.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/execinfo.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/fcntl.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/fs.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/ifaddrs.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/input.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/input_event_codes.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/io_uring.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/link.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/linux/
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/linux/if_arp.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/linux/if_packet.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/netinet/
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/netinet/in_.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/netinet/tcp.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/perf_event.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/sched.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/stdio.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/string.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/sys/
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/sys/auxv.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/sys/eventfd.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/sys/file.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/sys/inotify.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/sys/mman.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/sys/mount.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/sys/prctl.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/sys/procfs.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/sys/signalfd.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/sys/socket.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/sys/sysinfo.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/sys/time.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/sys/xattr.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/termios.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/time.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/timerfd.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/tipc.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/uinput.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/linux/unistd.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/netbsd/
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/netbsd/dlfcn.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/netbsd/err.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/netbsd/execinfo.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/netbsd/stdlib.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/netbsd/string.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/netbsd/sys/
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/netbsd/sys/elf.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/netbsd/sys/elf32.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/netbsd/sys/elf64.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/netbsd/sys/elf_common.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/netbsd/sys/event.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/netbsd/sys/featuretest.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/netbsd/sys/link_elf.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/netbsd/sys/mman.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/netbsd/sys/sysctl.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/netbsd/time.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/openbsd/
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/openbsd/dlfcn.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/openbsd/err.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/openbsd/execinfo.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/openbsd/pthread_np.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/openbsd/pwd.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/openbsd/stdlib.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/openbsd/string.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/openbsd/sys/
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/openbsd/sys/cdefs.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/openbsd/sys/elf.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/openbsd/sys/elf32.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/openbsd/sys/elf64.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/openbsd/sys/elf_common.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/openbsd/sys/link_elf.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/openbsd/sys/mman.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/openbsd/sys/sysctl.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/openbsd/time.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/openbsd/unistd.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/aio.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/arpa/
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/arpa/inet.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/config.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/dirent.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/dlfcn.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/fcntl.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/grp.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/iconv.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/inttypes.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/libgen.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/locale.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/mqueue.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/net/
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/net/if_.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/netdb.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/netinet/
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/netinet/in_.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/netinet/tcp.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/poll.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/pthread.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/pwd.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/sched.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/semaphore.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/setjmp.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/signal.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/spawn.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/stdc/
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/stdc/time.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/stdio.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/stdlib.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/string.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/strings.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/sys/
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/sys/filio.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/sys/ioccom.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/sys/ioctl.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/sys/ipc.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/sys/mman.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/sys/msg.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/sys/resource.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/sys/select.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/sys/shm.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/sys/socket.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/sys/stat.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/sys/statvfs.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/sys/time.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/sys/ttycom.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/sys/types.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/sys/uio.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/sys/un.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/sys/utsname.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/sys/wait.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/syslog.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/termios.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/time.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/ucontext.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/unistd.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/posix/utime.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/solaris/
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/solaris/dlfcn.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/solaris/elf.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/solaris/err.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/solaris/execinfo.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/solaris/libelf.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/solaris/link.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/solaris/stdlib.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/solaris/sys/
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/solaris/sys/elf.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/solaris/sys/elf_386.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/solaris/sys/elf_SPARC.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/solaris/sys/elf_amd64.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/solaris/sys/elf_notes.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/solaris/sys/elftypes.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/solaris/sys/link.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/solaris/sys/priocntl.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/solaris/sys/procset.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/solaris/sys/types.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/solaris/time.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/accctrl.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/aclapi.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/aclui.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/basetsd.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/basetyps.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/bcrypt.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/cderr.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/cguid.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/com.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/comcat.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/commctrl.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/commdlg.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/core.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/cpl.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/cplext.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/custcntl.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/dbghelp.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/dbghelp_types.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/dbt.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/dde.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/ddeml.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/dhcpcsdk.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/dlgs.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/dll.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/docobj.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/errorrep.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/exdisp.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/exdispid.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/httpext.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/idispids.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/imagehlp.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/imm.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/intshcut.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/ipexport.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/iphlpapi.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/ipifcons.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/iprtrmib.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/iptypes.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/isguids.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/lm.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/lmaccess.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/lmalert.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/lmapibuf.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/lmat.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/lmaudit.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/lmbrowsr.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/lmchdev.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/lmconfig.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/lmcons.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/lmerr.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/lmerrlog.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/lmmsg.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/lmremutl.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/lmrepl.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/lmserver.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/lmshare.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/lmsname.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/lmstats.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/lmsvc.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/lmuse.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/lmuseflg.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/lmwksta.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/lzexpand.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/mapi.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/mciavi.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/mcx.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/mgmtapi.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/mmsystem.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/msacm.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/mshtml.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/mswsock.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/nb30.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/nddeapi.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/nspapi.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/ntdef.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/ntdll.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/ntldap.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/ntsecapi.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/ntsecpkg.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/oaidl.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/objbase.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/objfwd.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/objidl.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/objsafe.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/ocidl.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/odbcinst.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/ole.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/ole2.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/ole2ver.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/oleacc.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/oleauto.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/olectl.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/olectlid.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/oledlg.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/oleidl.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/pbt.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/powrprof.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/prsht.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/psapi.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/rapi.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/ras.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/rasdlg.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/raserror.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/rassapi.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/reason.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/regstr.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/richedit.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/richole.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/rpc.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/rpcdce.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/rpcdce2.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/rpcdcep.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/rpcndr.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/rpcnsi.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/rpcnsip.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/rpcnterr.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/schannel.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/sdkddkver.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/secext.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/security.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/servprov.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/setupapi.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/shellapi.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/shldisp.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/shlguid.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/shlobj.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/shlwapi.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/snmp.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/sql.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/sqlext.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/sqltypes.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/sqlucode.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/sspi.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/stacktrace.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/stat.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/stdc/
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/stdc/malloc.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/stdc/time.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/subauth.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/threadaux.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/tlhelp32.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/tmschema.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/unknwn.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/uuid.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/vfw.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/w32api.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/winbase.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/winber.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/wincon.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/wincrypt.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/windef.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/windows.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/winerror.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/wingdi.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/winhttp.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/wininet.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/winioctl.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/winldap.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/winnetwk.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/winnls.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/winnt.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/winperf.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/winreg.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/winsock2.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/winspool.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/winsvc.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/winuser.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/winver.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/wtsapi32.d
+lib/gcc/${CONFIG}/${V}/include/d/core/sys/windows/wtypes.d
+lib/gcc/${CONFIG}/${V}/include/d/core/thread/
+lib/gcc/${CONFIG}/${V}/include/d/core/thread/context.d
+lib/gcc/${CONFIG}/${V}/include/d/core/thread/fiber/
+lib/gcc/${CONFIG}/${V}/include/d/core/thread/fiber/base.d
+lib/gcc/${CONFIG}/${V}/include/d/core/thread/fiber/package.d
+lib/gcc/${CONFIG}/${V}/include/d/core/thread/osthread.d
+lib/gcc/${CONFIG}/${V}/include/d/core/thread/package.d
+lib/gcc/${CONFIG}/${V}/include/d/core/thread/threadbase.d
+lib/gcc/${CONFIG}/${V}/include/d/core/thread/threadgroup.d
+lib/gcc/${CONFIG}/${V}/include/d/core/thread/types.d
+lib/gcc/${CONFIG}/${V}/include/d/core/time.d
+lib/gcc/${CONFIG}/${V}/include/d/core/vararg.d
+lib/gcc/${CONFIG}/${V}/include/d/core/volatile.d
+lib/gcc/${CONFIG}/${V}/include/d/etc/
+lib/gcc/${CONFIG}/${V}/include/d/etc/c/
+lib/gcc/${CONFIG}/${V}/include/d/etc/c/curl.d
+lib/gcc/${CONFIG}/${V}/include/d/etc/c/odbc/
+lib/gcc/${CONFIG}/${V}/include/d/etc/c/odbc/odbc32.d
+lib/gcc/${CONFIG}/${V}/include/d/etc/c/odbc/odbc64.d
+lib/gcc/${CONFIG}/${V}/include/d/etc/c/odbc/package.d
+lib/gcc/${CONFIG}/${V}/include/d/etc/c/odbc/sql.d
+lib/gcc/${CONFIG}/${V}/include/d/etc/c/odbc/sqlext.d
+lib/gcc/${CONFIG}/${V}/include/d/etc/c/odbc/sqltypes.d
+lib/gcc/${CONFIG}/${V}/include/d/etc/c/odbc/sqlucode.d
+lib/gcc/${CONFIG}/${V}/include/d/etc/c/sqlite3.d
+lib/gcc/${CONFIG}/${V}/include/d/etc/c/zlib.d
+lib/gcc/${CONFIG}/${V}/include/d/etc/valgrind/
+lib/gcc/${CONFIG}/${V}/include/d/etc/valgrind/valgrind.d
+lib/gcc/${CONFIG}/${V}/include/d/gcc/
+lib/gcc/${CONFIG}/${V}/include/d/gcc/attribute.d
+lib/gcc/${CONFIG}/${V}/include/d/gcc/attributes.d
+lib/gcc/${CONFIG}/${V}/include/d/gcc/backtrace.d
+lib/gcc/${CONFIG}/${V}/include/d/gcc/builtins.d
+lib/gcc/${CONFIG}/${V}/include/d/gcc/config.d
+lib/gcc/${CONFIG}/${V}/include/d/gcc/deh.d
+lib/gcc/${CONFIG}/${V}/include/d/gcc/emutls.d
+lib/gcc/${CONFIG}/${V}/include/d/gcc/gthread.d
+lib/gcc/${CONFIG}/${V}/include/d/gcc/libbacktrace.d
+lib/gcc/${CONFIG}/${V}/include/d/gcc/sections/
+lib/gcc/${CONFIG}/${V}/include/d/gcc/sections/common.d
+lib/gcc/${CONFIG}/${V}/include/d/gcc/sections/elf.d
+lib/gcc/${CONFIG}/${V}/include/d/gcc/sections/macho.d
+lib/gcc/${CONFIG}/${V}/include/d/gcc/sections/package.d
+lib/gcc/${CONFIG}/${V}/include/d/gcc/sections/pecoff.d
+lib/gcc/${CONFIG}/${V}/include/d/gcc/simd.d
+lib/gcc/${CONFIG}/${V}/include/d/gcc/unwind/
+lib/gcc/${CONFIG}/${V}/include/d/gcc/unwind/arm.d
+lib/gcc/${CONFIG}/${V}/include/d/gcc/unwind/arm_common.d
+lib/gcc/${CONFIG}/${V}/include/d/gcc/unwind/c6x.d
+lib/gcc/${CONFIG}/${V}/include/d/gcc/unwind/generic.d
+lib/gcc/${CONFIG}/${V}/include/d/gcc/unwind/package.d
+lib/gcc/${CONFIG}/${V}/include/d/gcc/unwind/pe.d
+lib/gcc/${CONFIG}/${V}/include/d/object.d
+lib/gcc/${CONFIG}/${V}/include/d/rt/
+lib/gcc/${CONFIG}/${V}/include/d/rt/aApply.d
+lib/gcc/${CONFIG}/${V}/include/d/rt/aApplyR.d
+lib/gcc/${CONFIG}/${V}/include/d/rt/aaA.d
+lib/gcc/${CONFIG}/${V}/include/d/rt/adi.d
+lib/gcc/${CONFIG}/${V}/include/d/rt/arraycat.d
+lib/gcc/${CONFIG}/${V}/include/d/rt/cast_.d
+lib/gcc/${CONFIG}/${V}/include/d/rt/config.d
+lib/gcc/${CONFIG}/${V}/include/d/rt/critical_.d
+lib/gcc/${CONFIG}/${V}/include/d/rt/deh.d
+lib/gcc/${CONFIG}/${V}/include/d/rt/dmain2.d
+lib/gcc/${CONFIG}/${V}/include/d/rt/ehalloc.d
+lib/gcc/${CONFIG}/${V}/include/d/rt/invariant_.d
+lib/gcc/${CONFIG}/${V}/include/d/rt/lifetime.d
+lib/gcc/${CONFIG}/${V}/include/d/rt/memory.d
+lib/gcc/${CONFIG}/${V}/include/d/rt/minfo.d
+lib/gcc/${CONFIG}/${V}/include/d/rt/monitor_.d
+lib/gcc/${CONFIG}/${V}/include/d/rt/profilegc.d
+lib/gcc/${CONFIG}/${V}/include/d/rt/sections.d
+lib/gcc/${CONFIG}/${V}/include/d/rt/tlsgc.d
+lib/gcc/${CONFIG}/${V}/include/d/rt/util/
+lib/gcc/${CONFIG}/${V}/include/d/rt/util/typeinfo.d
+lib/gcc/${CONFIG}/${V}/include/d/rt/util/utility.d
+lib/gcc/${CONFIG}/${V}/include/d/std/
+lib/gcc/${CONFIG}/${V}/include/d/std/algorithm/
+lib/gcc/${CONFIG}/${V}/include/d/std/algorithm/comparison.d
+lib/gcc/${CONFIG}/${V}/include/d/std/algorithm/internal.d
+lib/gcc/${CONFIG}/${V}/include/d/std/algorithm/iteration.d
+lib/gcc/${CONFIG}/${V}/include/d/std/algorithm/mutation.d
+lib/gcc/${CONFIG}/${V}/include/d/std/algorithm/package.d
+lib/gcc/${CONFIG}/${V}/include/d/std/algorithm/searching.d
+lib/gcc/${CONFIG}/${V}/include/d/std/algorithm/setops.d
+lib/gcc/${CONFIG}/${V}/include/d/std/algorithm/sorting.d
+lib/gcc/${CONFIG}/${V}/include/d/std/array.d
+lib/gcc/${CONFIG}/${V}/include/d/std/ascii.d
+lib/gcc/${CONFIG}/${V}/include/d/std/base64.d
+lib/gcc/${CONFIG}/${V}/include/d/std/bigint.d
+lib/gcc/${CONFIG}/${V}/include/d/std/bitmanip.d
+lib/gcc/${CONFIG}/${V}/include/d/std/checkedint.d
+lib/gcc/${CONFIG}/${V}/include/d/std/compiler.d
+lib/gcc/${CONFIG}/${V}/include/d/std/complex.d
+lib/gcc/${CONFIG}/${V}/include/d/std/concurrency.d
+lib/gcc/${CONFIG}/${V}/include/d/std/container/
+lib/gcc/${CONFIG}/${V}/include/d/std/container/array.d
+lib/gcc/${CONFIG}/${V}/include/d/std/container/binaryheap.d
+lib/gcc/${CONFIG}/${V}/include/d/std/container/dlist.d
+lib/gcc/${CONFIG}/${V}/include/d/std/container/package.d
+lib/gcc/${CONFIG}/${V}/include/d/std/container/rbtree.d
+lib/gcc/${CONFIG}/${V}/include/d/std/container/slist.d
+lib/gcc/${CONFIG}/${V}/include/d/std/container/util.d
+lib/gcc/${CONFIG}/${V}/include/d/std/conv.d
+lib/gcc/${CONFIG}/${V}/include/d/std/csv.d
+lib/gcc/${CONFIG}/${V}/include/d/std/datetime/
+lib/gcc/${CONFIG}/${V}/include/d/std/datetime/date.d
+lib/gcc/${CONFIG}/${V}/include/d/std/datetime/interval.d
+lib/gcc/${CONFIG}/${V}/include/d/std/datetime/package.d
+lib/gcc/${CONFIG}/${V}/include/d/std/datetime/stopwatch.d
+lib/gcc/${CONFIG}/${V}/include/d/std/datetime/systime.d
+lib/gcc/${CONFIG}/${V}/include/d/std/datetime/timezone.d
+lib/gcc/${CONFIG}/${V}/include/d/std/demangle.d
+lib/gcc/${CONFIG}/${V}/include/d/std/digest/
+lib/gcc/${CONFIG}/${V}/include/d/std/digest/crc.d
+lib/gcc/${CONFIG}/${V}/include/d/std/digest/hmac.d
+lib/gcc/${CONFIG}/${V}/include/d/std/digest/md.d
+lib/gcc/${CONFIG}/${V}/include/d/std/digest/murmurhash.d
+lib/gcc/${CONFIG}/${V}/include/d/std/digest/package.d
+lib/gcc/${CONFIG}/${V}/include/d/std/digest/ripemd.d
+lib/gcc/${CONFIG}/${V}/include/d/std/digest/sha.d
+lib/gcc/${CONFIG}/${V}/include/d/std/encoding.d
+lib/gcc/${CONFIG}/${V}/include/d/std/exception.d
+lib/gcc/${CONFIG}/${V}/include/d/std/experimental/
+lib/gcc/${CONFIG}/${V}/include/d/std/experimental/allocator/
+lib/gcc/${CONFIG}/${V}/include/d/std/experimental/allocator/building_blocks/
+lib/gcc/${CONFIG}/${V}/include/d/std/experimental/allocator/building_blocks/affix_allocator.d
+lib/gcc/${CONFIG}/${V}/include/d/std/experimental/allocator/building_blocks/aligned_block_list.d
+lib/gcc/${CONFIG}/${V}/include/d/std/experimental/allocator/building_blocks/allocator_list.d
+lib/gcc/${CONFIG}/${V}/include/d/std/experimental/allocator/building_blocks/ascending_page_allocator.d
+lib/gcc/${CONFIG}/${V}/include/d/std/experimental/allocator/building_blocks/bitmapped_block.d
+lib/gcc/${CONFIG}/${V}/include/d/std/experimental/allocator/building_blocks/bucketizer.d
+lib/gcc/${CONFIG}/${V}/include/d/std/experimental/allocator/building_blocks/fallback_allocator.d
+lib/gcc/${CONFIG}/${V}/include/d/std/experimental/allocator/building_blocks/free_list.d
+lib/gcc/${CONFIG}/${V}/include/d/std/experimental/allocator/building_blocks/free_tree.d
+lib/gcc/${CONFIG}/${V}/include/d/std/experimental/allocator/building_blocks/kernighan_ritchie.d
+lib/gcc/${CONFIG}/${V}/include/d/std/experimental/allocator/building_blocks/null_allocator.d
+lib/gcc/${CONFIG}/${V}/include/d/std/experimental/allocator/building_blocks/package.d
+lib/gcc/${CONFIG}/${V}/include/d/std/experimental/allocator/building_blocks/quantizer.d
+lib/gcc/${CONFIG}/${V}/include/d/std/experimental/allocator/building_blocks/region.d
+lib/gcc/${CONFIG}/${V}/include/d/std/experimental/allocator/building_blocks/scoped_allocator.d
+lib/gcc/${CONFIG}/${V}/include/d/std/experimental/allocator/building_blocks/segregator.d
+lib/gcc/${CONFIG}/${V}/include/d/std/experimental/allocator/building_blocks/stats_collector.d
+lib/gcc/${CONFIG}/${V}/include/d/std/experimental/allocator/common.d
+lib/gcc/${CONFIG}/${V}/include/d/std/experimental/allocator/gc_allocator.d
+lib/gcc/${CONFIG}/${V}/include/d/std/experimental/allocator/mallocator.d
+lib/gcc/${CONFIG}/${V}/include/d/std/experimental/allocator/mmap_allocator.d
+lib/gcc/${CONFIG}/${V}/include/d/std/experimental/allocator/package.d
+lib/gcc/${CONFIG}/${V}/include/d/std/experimental/allocator/showcase.d
+lib/gcc/${CONFIG}/${V}/include/d/std/experimental/allocator/typed.d
+lib/gcc/${CONFIG}/${V}/include/d/std/experimental/checkedint.d
+lib/gcc/${CONFIG}/${V}/include/d/std/experimental/logger/
+lib/gcc/${CONFIG}/${V}/include/d/std/experimental/logger/core.d
+lib/gcc/${CONFIG}/${V}/include/d/std/experimental/logger/filelogger.d
+lib/gcc/${CONFIG}/${V}/include/d/std/experimental/logger/multilogger.d
+lib/gcc/${CONFIG}/${V}/include/d/std/experimental/logger/nulllogger.d
+lib/gcc/${CONFIG}/${V}/include/d/std/experimental/logger/package.d
+lib/gcc/${CONFIG}/${V}/include/d/std/file.d
+lib/gcc/${CONFIG}/${V}/include/d/std/format/
+lib/gcc/${CONFIG}/${V}/include/d/std/format/internal/
+lib/gcc/${CONFIG}/${V}/include/d/std/format/internal/floats.d
+lib/gcc/${CONFIG}/${V}/include/d/std/format/internal/read.d
+lib/gcc/${CONFIG}/${V}/include/d/std/format/internal/write.d
+lib/gcc/${CONFIG}/${V}/include/d/std/format/package.d
+lib/gcc/${CONFIG}/${V}/include/d/std/format/read.d
+lib/gcc/${CONFIG}/${V}/include/d/std/format/spec.d
+lib/gcc/${CONFIG}/${V}/include/d/std/format/write.d
+lib/gcc/${CONFIG}/${V}/include/d/std/functional.d
+lib/gcc/${CONFIG}/${V}/include/d/std/getopt.d
+lib/gcc/${CONFIG}/${V}/include/d/std/int128.d
+lib/gcc/${CONFIG}/${V}/include/d/std/internal/
+lib/gcc/${CONFIG}/${V}/include/d/std/internal/attributes.d
+lib/gcc/${CONFIG}/${V}/include/d/std/internal/cstring.d
+lib/gcc/${CONFIG}/${V}/include/d/std/internal/math/
+lib/gcc/${CONFIG}/${V}/include/d/std/internal/math/biguintcore.d
+lib/gcc/${CONFIG}/${V}/include/d/std/internal/math/biguintnoasm.d
+lib/gcc/${CONFIG}/${V}/include/d/std/internal/math/errorfunction.d
+lib/gcc/${CONFIG}/${V}/include/d/std/internal/math/gammafunction.d
+lib/gcc/${CONFIG}/${V}/include/d/std/internal/memory.d
+lib/gcc/${CONFIG}/${V}/include/d/std/internal/scopebuffer.d
+lib/gcc/${CONFIG}/${V}/include/d/std/internal/test/
+lib/gcc/${CONFIG}/${V}/include/d/std/internal/test/dummyrange.d
+lib/gcc/${CONFIG}/${V}/include/d/std/internal/test/range.d
+lib/gcc/${CONFIG}/${V}/include/d/std/internal/test/sumtype_example_overloads.d
+lib/gcc/${CONFIG}/${V}/include/d/std/internal/test/uda.d
+lib/gcc/${CONFIG}/${V}/include/d/std/internal/unicode_comp.d
+lib/gcc/${CONFIG}/${V}/include/d/std/internal/unicode_decomp.d
+lib/gcc/${CONFIG}/${V}/include/d/std/internal/unicode_grapheme.d
+lib/gcc/${CONFIG}/${V}/include/d/std/internal/unicode_norm.d
+lib/gcc/${CONFIG}/${V}/include/d/std/internal/unicode_tables.d
+lib/gcc/${CONFIG}/${V}/include/d/std/internal/windows/
+lib/gcc/${CONFIG}/${V}/include/d/std/internal/windows/advapi32.d
+lib/gcc/${CONFIG}/${V}/include/d/std/internal/windows/bcrypt.d
+lib/gcc/${CONFIG}/${V}/include/d/std/json.d
+lib/gcc/${CONFIG}/${V}/include/d/std/logger/
+lib/gcc/${CONFIG}/${V}/include/d/std/logger/core.d
+lib/gcc/${CONFIG}/${V}/include/d/std/logger/filelogger.d
+lib/gcc/${CONFIG}/${V}/include/d/std/logger/multilogger.d
+lib/gcc/${CONFIG}/${V}/include/d/std/logger/nulllogger.d
+lib/gcc/${CONFIG}/${V}/include/d/std/logger/package.d
+lib/gcc/${CONFIG}/${V}/include/d/std/math/
+lib/gcc/${CONFIG}/${V}/include/d/std/math/algebraic.d
+lib/gcc/${CONFIG}/${V}/include/d/std/math/constants.d
+lib/gcc/${CONFIG}/${V}/include/d/std/math/exponential.d
+lib/gcc/${CONFIG}/${V}/include/d/std/math/hardware.d
+lib/gcc/${CONFIG}/${V}/include/d/std/math/operations.d
+lib/gcc/${CONFIG}/${V}/include/d/std/math/package.d
+lib/gcc/${CONFIG}/${V}/include/d/std/math/remainder.d
+lib/gcc/${CONFIG}/${V}/include/d/std/math/rounding.d
+lib/gcc/${CONFIG}/${V}/include/d/std/math/traits.d
+lib/gcc/${CONFIG}/${V}/include/d/std/math/trigonometry.d
+lib/gcc/${CONFIG}/${V}/include/d/std/mathspecial.d
+lib/gcc/${CONFIG}/${V}/include/d/std/meta.d
+lib/gcc/${CONFIG}/${V}/include/d/std/mmfile.d
+lib/gcc/${CONFIG}/${V}/include/d/std/net/
+lib/gcc/${CONFIG}/${V}/include/d/std/net/curl.d
+lib/gcc/${CONFIG}/${V}/include/d/std/net/isemail.d
+lib/gcc/${CONFIG}/${V}/include/d/std/numeric.d
+lib/gcc/${CONFIG}/${V}/include/d/std/outbuffer.d
+lib/gcc/${CONFIG}/${V}/include/d/std/package.d
+lib/gcc/${CONFIG}/${V}/include/d/std/parallelism.d
+lib/gcc/${CONFIG}/${V}/include/d/std/path.d
+lib/gcc/${CONFIG}/${V}/include/d/std/process.d
+lib/gcc/${CONFIG}/${V}/include/d/std/random.d
+lib/gcc/${CONFIG}/${V}/include/d/std/range/
+lib/gcc/${CONFIG}/${V}/include/d/std/range/interfaces.d
+lib/gcc/${CONFIG}/${V}/include/d/std/range/package.d
+lib/gcc/${CONFIG}/${V}/include/d/std/range/primitives.d
+lib/gcc/${CONFIG}/${V}/include/d/std/regex/
+lib/gcc/${CONFIG}/${V}/include/d/std/regex/internal/
+lib/gcc/${CONFIG}/${V}/include/d/std/regex/internal/backtracking.d
+lib/gcc/${CONFIG}/${V}/include/d/std/regex/internal/generator.d
+lib/gcc/${CONFIG}/${V}/include/d/std/regex/internal/ir.d
+lib/gcc/${CONFIG}/${V}/include/d/std/regex/internal/kickstart.d
+lib/gcc/${CONFIG}/${V}/include/d/std/regex/internal/parser.d
+lib/gcc/${CONFIG}/${V}/include/d/std/regex/internal/tests.d
+lib/gcc/${CONFIG}/${V}/include/d/std/regex/internal/tests2.d
+lib/gcc/${CONFIG}/${V}/include/d/std/regex/internal/thompson.d
+lib/gcc/${CONFIG}/${V}/include/d/std/regex/package.d
+lib/gcc/${CONFIG}/${V}/include/d/std/signals.d
+lib/gcc/${CONFIG}/${V}/include/d/std/socket.d
+lib/gcc/${CONFIG}/${V}/include/d/std/stdint.d
+lib/gcc/${CONFIG}/${V}/include/d/std/stdio.d
+lib/gcc/${CONFIG}/${V}/include/d/std/string.d
+lib/gcc/${CONFIG}/${V}/include/d/std/sumtype.d
+lib/gcc/${CONFIG}/${V}/include/d/std/system.d
+lib/gcc/${CONFIG}/${V}/include/d/std/traits.d
+lib/gcc/${CONFIG}/${V}/include/d/std/typecons.d
+lib/gcc/${CONFIG}/${V}/include/d/std/typetuple.d
+lib/gcc/${CONFIG}/${V}/include/d/std/uni/
+lib/gcc/${CONFIG}/${V}/include/d/std/uni/package.d
+lib/gcc/${CONFIG}/${V}/include/d/std/uri.d
+lib/gcc/${CONFIG}/${V}/include/d/std/utf.d
+lib/gcc/${CONFIG}/${V}/include/d/std/uuid.d
+lib/gcc/${CONFIG}/${V}/include/d/std/variant.d
+lib/gcc/${CONFIG}/${V}/include/d/std/windows/
+lib/gcc/${CONFIG}/${V}/include/d/std/windows/charset.d
+lib/gcc/${CONFIG}/${V}/include/d/std/windows/registry.d
+lib/gcc/${CONFIG}/${V}/include/d/std/windows/syserror.d
+lib/gcc/${CONFIG}/${V}/include/d/std/zip.d
+lib/gcc/${CONFIG}/${V}/include/d/std/zlib.d
+@static-lib lib/libgdruntime.a
+lib/libgdruntime.la
+@lib lib/libgdruntime.so.${LIBgdruntime_VERSION}
+@static-lib lib/libgphobos.a
+lib/libgphobos.la
+@lib lib/libgphobos.so.${LIBgphobos_VERSION}
+lib/libgphobos.spec
+@bin libexec/gcc/${CONFIG}/${V}/d21
+@man man/man1/egdc.1
ports@,
I'd like to enable gdc (dlang) on amd64 and arm64 inside lang/gcc/15.
To do it I need to updaed boostrap to latest version of lang/gcc/11.
I still called it as adastrap, but maybe we need to rename it.
Here links to two used bootstraps:
- https://kirill.korins.ky/pub/distfiles/adastrap-amd64-11.2.0-6.tar.xz
- https://kirill.korins.ky/pub/distfiles/adastrap-aarch64-11.2.0-0.tar.xz
I've attached two diffs:
- gcc-11.diff is small one, just micro tune to build bootstrap
- gcc-15.diff is a large one, where I recover gdc for amd64 and arm64
both bootstrap builds from this week snapshots against libc.so.102.2
Tested on the same snapshots on amd64 and arm64, compiles and exectued a
trivial program:
import std.stdio;
import std.range;
import std.algorithm;
import std.concurrency;
import core.thread;
void fiberFunction()
{
10.iota.each!(i => yield(i));
}
void threadFunction()
{
auto fiber = cast()receiveOnly!(shared(Generator!int));
writefln("worker: %(%s %)", fiber.take(5));
}
void main()
{
auto numbers = new Generator!int(&fiberFunction);
auto worker = spawn(&threadFunction);
writefln("main : %(%s %)", numbers.take(2));
worker.send(cast(shared)numbers);
thread_joinAll();
writefln("main : %(%s %)", numbers);
}
as
main : 0 1
worker: 2 3 4 5 6
main : 7 8 9
Anyone willing to test it? Or ok it?
--
wbr, Kirill
Subscribe to:
Comments (Atom)