From: Kirill A. Korinsky Subject: lang/gcc/15: enable dlang on amd64 and arm64 To: OpenBSD ports Cc: Pascal Stumpf Date: Mon, 01 Dec 2025 03:03:05 +0100 ports@, I'd like to enable gdc (dlang) on amd64 and arm64 inside lang/gcc/15. To do it I need to updaed boostrap to latest version of lang/gcc/11. I still called it as adastrap, but maybe we need to rename it. Here links to two used bootstraps: - https://kirill.korins.ky/pub/distfiles/adastrap-amd64-11.2.0-6.tar.xz - https://kirill.korins.ky/pub/distfiles/adastrap-aarch64-11.2.0-0.tar.xz I've attached two diffs: - gcc-11.diff is small one, just micro tune to build bootstrap - gcc-15.diff is a large one, where I recover gdc for amd64 and arm64 both bootstrap builds from this week snapshots against libc.so.102.2 Tested on the same snapshots on amd64 and arm64, compiles and exectued a trivial program: import std.stdio; import std.range; import std.algorithm; import std.concurrency; import core.thread; void fiberFunction() { 10.iota.each!(i => yield(i)); } void threadFunction() { auto fiber = cast()receiveOnly!(shared(Generator!int)); writefln("worker: %(%s %)", fiber.take(5)); } void main() { auto numbers = new Generator!int(&fiberFunction); auto worker = spawn(&threadFunction); writefln("main : %(%s %)", numbers.take(2)); worker.send(cast(shared)numbers); thread_joinAll(); writefln("main : %(%s %)", numbers); } as main : 0 1 worker: 2 3 4 5 6 main : 7 8 9 Anyone willing to test it? Or ok it? -- wbr, Kirill 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 @@ -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 ++#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