Download raw body.
lang/gcc/15: enable dlang on amd64 and arm64
On Mon, 01 Dec 2025 03:03:05 +0100, Kirill A. Korinsky wrote:
> 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
Mirrored. We'll probably rebuild the gcc15 version from gcc15 soon, but
until then ...
> 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?
OK.
> --
> wbr, Kirill
>
> 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
>
lang/gcc/15: enable dlang on amd64 and arm64