View | Details | Raw Unified | Return to bug 237427 | Differences between
and this patch

Collapse All | Expand All

(-)w/lang/ldc/Makefile (-41 / +71 lines)
Lines 1-64 Link Here
1
# $FreeBSD$
1
# $FreeBSD$
2
2
3
PORTNAME=	ldc
3
PORTNAME=		ldc
4
PORTVERSION=	1.14.0
4
PORTVERSION=		1.16.0
5
DISTVERSIONPREFIX=	v
5
DISTVERSIONPREFIX=	v
6
CATEGORIES=	lang
6
CATEGORIES=		lang
7
7
8
MAINTAINER=	acm@FreeBSD.org
8
# fixes for LTO, gc-sections, backtrace
9
COMMENT=	The LLVM-based D compiler
9
PATCH_SITES=	https://github.com/myfreeweb/ldc/commit/
10
PATCHFILES=	3616870e9acbe565ff5b59db97482eda010dc00d.patch:-p1 \
11
	120ed38cef179ec3774253bb424c159f7a566aa7.patch:-p1 \
12
	573cb1456b1074bb4ab604a838658f30beb6a797.patch:-p1
10
13
11
LICENSE=	BSD3CLAUSE
14
MAINTAINER=		acm@FreeBSD.org
15
COMMENT=		The LLVM-based D compiler
16
LICENSE=		BSD3CLAUSE
17
USES= 			ninja cmake:insource compiler:c++14-lang
12
18
13
BUILD_DEPENDS=	llvm70>0:devel/llvm70
19
OPTIONS_GROUP=		BOOTSTRAP
14
RUN_DEPENDS=	llvm70>0:devel/llvm70
20
BOOTSTRAP_DESC=		Force using ltsmaster to bootstrap
15
LIB_DEPENDS=	libconfig.so:devel/libconfig
21
OPTIONS_GROUP_BOOTSTRAP=LTSMASTER
22
23
LLVM_VERSION=	80
24
BUILD_DEPENDS=	llvm${LLVM_VERSION}>0:devel/llvm${LLVM_VERSION}
25
RUN_DEPENDS=	llvm${LLVM_VERSION}>0:devel/llvm${LLVM_VERSION}
26
27
CC=			${LOCALBASE}/bin/clang${LLVM_VERSION}
28
CXX=			${LOCALBASE}/bin/clang++${LLVM_VERSION}
29
LLVM_CONFIG=		${LOCALBASE}/bin/llvm-config${LLVM_VERSION}
30
LDCVER=			${PORTVERSION}
31
32
PLIST_SUB=		LOCALBASE=${LOCALBASE}
16
33
17
BROKEN_aarch64=		fails to compile: Error: undefined identifier _jmp_buf, did you mean alias jmp_buf?
18
BROKEN_armv6=		fails to compile: Error: undefined identifier _jmp_buf, did you mean alias jmp_buf?
34
BROKEN_armv6=		fails to compile: Error: undefined identifier _jmp_buf, did you mean alias jmp_buf?
19
BROKEN_armv7=		fails to compile: Error: undefined identifier _jmp_buf, did you mean alias jmp_buf?
35
BROKEN_armv7=		fails to compile: Error: undefined identifier _jmp_buf, did you mean alias jmp_buf?
20
BROKEN_i386=		function core.bitop.bsf (uint v) is not callable using argument types (ulong)
36
BROKEN_i386=		function core.bitop.bsf (uint v) is not callable using argument types (ulong)
21
BROKEN_powerpc64=	fails to compile: cc1plus: error: unrecognized command line option "-std=c++11"
37
BROKEN_powerpc64=	fails to compile: cc1plus: error: unrecognized command line option "-std=c++11"
22
38
23
USES=		cmake:insource
39
USE_GITHUB=		yes
24
USE_GITHUB=     yes
40
GH_ACCOUNT=		ldc-developers
25
GH_ACCOUNT=     ldc-developers
41
GH_PROJECT=		ldc
26
GH_PROJECT=     ldc
42
GH_TUPLE=		ldc-developers:druntime:6b36091:druntime/runtime/druntime \
27
GH_TUPLE=       ldc-developers:ldc:911589c:tree/ltsmaster \
43
			ldc-developers:phobos:4f42e2c:phobos/runtime/phobos
28
		ldc-developers:druntime:694089c:druntimelts/ltsmaster/runtime/druntime \
29
		ldc-developers:phobos:1d758b2:phoboslts/ltsmaster/runtime/phobos \
30
		ldc-developers:druntime:54cb25c:druntime/runtime/druntime \
31
		ldc-developers:phobos:71cf74f:phobos/runtime/phobos
32
33
CMAKE_ARGS+=	-DD_COMPILER:STRING="${WRKSRC}/ltsmaster/bin/ldmd2" \
34
		-DBUILD_SHARED_LIBS:STRING="BOTH"
35
36
CC=		clang70
37
CXX=		clang++70
38
39
BOOTVER=	0.17.6
40
LLVM_CONFIG=	llvm-config70
41
LDCVER=		${PORTVERSION}
42
44
43
.include <bsd.port.pre.mk>
45
.include <bsd.port.pre.mk>
44
46
45
.if ${ARCH} == "amd64"
47
.if ${ARCH} == "amd64" || ${ARCH} == "aarch64"
46
CFLAGS+=	-fPIC
48
CFLAGS+=		-fPIC
47
.endif
49
.endif
48
50
49
.if ${OPSYS} == FreeBSD && ${OSVERSION} > 1200029
51
# Search for a usable bootstrap compiler or fall back to building ltsmaster
50
EXTRA_PATCHES=	${PATCHDIR}/fbsd12-*
52
DRUNTIME_MINVER=	20680
53
54
DCOMPILERS=		ldmd2 gdmd dmd
55
56
.if empty(PORT_OPTIONS:MLTSMASTER)
57
.for DC_TRY in ${DCOMPILERS}
58
.if !defined(DC_HOST)
59
VERSION!=		`which ${DC_TRY}` --version | ${SED} -n 's!^.*DMD.*v\([0-9]\).\([0-9][0-9][0-9]\).\([0-9]\).*!\1\2\3!p'
60
.if ${VERSION} > ${DRUNTIME_MINVER}
61
DC_HOST!=		which ${DC_TRY}
62
BUILD_BOOTSTRAP=	no
63
.endif
64
.endif
65
.endfor
51
.endif
66
.endif
52
67
53
post-patch:
68
# falling back to creating bootstrap d-compiler 
54
	${REINPLACE_CMD} -e 's|$${llvm_config_names}|${LLVM_CONFIG}|g' \
69
.if !defined (DC_HOST)
55
		${WRKSRC}/ltsmaster/cmake/Modules/FindLLVM.cmake \
70
BUILD_BOOTSTRAP=        yes
56
		${WRKSRC}/cmake/Modules/FindLLVM.cmake
71
BOOTSTRAP_DIR=		${WRKDIRPREFIX}${.CURDIR}/work-bootstrap
72
DC_HOST=		${BOOTSTRAP_DIR}/ltsmaster/bin/ldmd2
73
BUILD_BOOTSTRAP=	yes
74
.endif
57
75
76
CMAKE_ARGS+=		-DLDC_INSTALL_PREFIX="${PREFIX}" \
77
			-DD_COMPILER:STRING="${DC_HOST}" \
78
			-DCMAKE_C_COMPILER:STRING="${CC}" \
79
			-DCMAKE_CXX_COMPILER:STRING="${CXX}" \
80
			-DLLVM_CONFIG:PATH=${LLVM_CONFIG} \
81
			-DBUILD_SHARED_LIBS:STRING="BOTH"
82
83
pre-build:
84
	@echo "DEBUG: bootstrap:${BUILD_BOOTSTRAP} dmd:${DC_HOST} ver:${VERSION} options:${PORT_OPTIONS}"
85
86
.if ${BUILD_BOOTSTRAP} == "yes"
58
pre-configure:
87
pre-configure:
59
	@cd ${WRKSRC}/ltsmaster && \
88
	@echo "Building Bootstrap d-compiler..."
60
	    ${SETENV} ${CONFIGURE_ENV} ${CMAKE_BIN} .
89
	${MAKE} -f Makefile.bootstrap FLAVOR=bootstrap
61
	@cd ${WRKSRC}/ltsmaster && \
90
.else
62
	    ${SETENV} ${MAKE_ENV} ${MAKE}
91
	@echo "Reusing pre-existing d-compiler..."
92
.endif
63
93
64
.include <bsd.port.post.mk>
94
.include <bsd.port.post.mk>
(-)w/lang/ldc/Makefile.bootstrap (+56 lines)
Added Link Here
1
# $FreeBSD$
2
3
PORTNAME=		ldc
4
DISTVERSION=		0.17.6-6
5
DISTVERSIONPREFIX=	v
6
DISTVERSIONSUFFIX=	-g20ef705c
7
CATEGORIES=		lang
8
9
PATCHDIR=       	${MASTERDIR}/files.bootstrap
10
DISTINFO_FILE=  	${MASTERDIR}/distinfo.bootstrap
11
12
MAINTAINER=		acm@FreeBSD.org
13
COMMENT=		The LLVM-based D compiler
14
LICENSE=		BSD3CLAUSE
15
USES= 			ninja cmake:insource compiler
16
17
BUILD_DEPENDS=		llvm${LLVM_VERSION}>0:devel/llvm${LLVM_VERSION}
18
LIB_DEPENDS=		libconfig.so:devel/libconfig
19
LLVM_VERSION=		70
20
21
# fake flavor support in bootstrap (as it is being passed down)
22
FLAVORS=		bootstrap
23
FLAVOR?=		${FLAVORS[0]}
24
25
BROKEN_armv6=		fails to compile: Error: undefined identifier _jmp_buf, did you mean alias jmp_buf?
26
BROKEN_armv7=		fails to compile: Error: undefined identifier _jmp_buf, did you mean alias jmp_buf?
27
BROKEN_i386=		function core.bitop.bsf (uint v) is not callable using argument types (ulong)
28
BROKEN_powerpc64=	fails to compile: cc1plus: error: unrecognized command line option "-std=c++11"
29
30
USE_GITHUB=		yes
31
GH_ACCOUNT=		ldc-developers
32
GH_PROJECT=		ldc
33
GH_TUPLE=		ldc-developers:druntime:13b1ccf:druntimelts/runtime/druntime \
34
			ldc-developers:phobos:1d758b2:phoboslts/runtime/phobos
35
36
CC=			${LOCALBASE}/bin/clang${LLVM_VERSION}
37
CXX=			${LOCALBASE}/bin/clang++${LLVM_VERSION}
38
LLVM_CONFIG=		${LOCALBASE}/bin/llvm-config${LLVM_VERSION}
39
LDCVER=			${PORTVERSION}
40
41
.include <bsd.port.pre.mk>
42
43
.if ${ARCH} == "amd64" || ${ARCH} == "aarch64"
44
CFLAGS+=		-fPIC
45
.endif
46
47
CMAKE_ARGS+=		-DCMAKE_C_COMPILER:STRING="${CC}" \
48
			-DCMAKE_CXX_COMPILER:STRING="${CXX}" \
49
			-DLLVM_CONFIG:PATH=${LLVM_CONFIG}
50
51
post-patch:
52
	${LN} -sf ${WRKSRC} ${WRKDIR}/ltsmaster
53
	${REINPLACE_CMD} -e 's|$${llvm_config_names}|${LLVM_CONFIG}|g' \
54
		${WRKSRC}/cmake/Modules/FindLLVM.cmake 
55
56
.include <bsd.port.post.mk>
(-)w/lang/ldc/distinfo (-13 / +13 lines)
Lines 1-13 Link Here
1
TIMESTAMP = 1551800863
1
TIMESTAMP = 1562693906
2
SHA256 (ldc-developers-ldc-v1.14.0_GH0.tar.gz) = daa7876ce846861cd9feb92f35dc0ca537a845492ca8a3eebecc9d166bc324b3
2
SHA256 (ldc-developers-ldc-v1.16.0_GH0.tar.gz) = fe006f4b9447ba929e84e32fe4a3254329ab9aa058ae09adcd8605f7e2f989ac
3
SIZE (ldc-developers-ldc-v1.14.0_GH0.tar.gz) = 1664660
3
SIZE (ldc-developers-ldc-v1.16.0_GH0.tar.gz) = 1721861
4
SHA256 (ldc-developers-ldc-911589c_GH0.tar.gz) = c10ee47d857358ea97eccd14b49b4152c7b2621c0129eee1e8f98988f1d13f5e
4
SHA256 (ldc-developers-druntime-6b36091_GH0.tar.gz) = b1cfc20004e1e9f220244102be80d494d02f6a19130bef00e9decbe00d475f03
5
SIZE (ldc-developers-ldc-911589c_GH0.tar.gz) = 1231073
5
SIZE (ldc-developers-druntime-6b36091_GH0.tar.gz) = 1706573
6
SHA256 (ldc-developers-druntime-694089c_GH0.tar.gz) = 29b1a27f767ac9c8a0c30926991d9abcda119aaf923b05caa686a6c396ac0a83
6
SHA256 (ldc-developers-phobos-4f42e2c_GH0.tar.gz) = b0b23bb28d49eac1b8332deadd4d3c03c330646a6d997466552b4ff6709a56be
7
SIZE (ldc-developers-druntime-694089c_GH0.tar.gz) = 953726
7
SIZE (ldc-developers-phobos-4f42e2c_GH0.tar.gz) = 2360390
8
SHA256 (ldc-developers-phobos-1d758b2_GH0.tar.gz) = af70f2d4b09e0062ba986e215677f484c1cec2977a74ca1a73d3534a120992e9
8
SHA256 (3616870e9acbe565ff5b59db97482eda010dc00d.patch) = 0707adde9ca2bafd25e8c347e2fcc7d716a60eb30cfe3d8eec91c9c5f6a90dfc
9
SIZE (ldc-developers-phobos-1d758b2_GH0.tar.gz) = 1923043
9
SIZE (3616870e9acbe565ff5b59db97482eda010dc00d.patch) = 2515
10
SHA256 (ldc-developers-druntime-54cb25c_GH0.tar.gz) = 47a71942f9f6d4c36d867eb2526a72aece36fb959cf99619e525cacb4951e864
10
SHA256 (120ed38cef179ec3774253bb424c159f7a566aa7.patch) = 545768390fe97dcb9a489c59af0db5a86ebea14b848a73630320d35895b2bd90
11
SIZE (ldc-developers-druntime-54cb25c_GH0.tar.gz) = 1665530
11
SIZE (120ed38cef179ec3774253bb424c159f7a566aa7.patch) = 2415
12
SHA256 (ldc-developers-phobos-71cf74f_GH0.tar.gz) = fe01cb3decccde3c5aa0defcba715c283a1f11bf2bed6aedd0e33e43030c9c72
12
SHA256 (573cb1456b1074bb4ab604a838658f30beb6a797.patch) = 299cc893462af827623977be0517554311eff86933792ae7cd7d38e959e95c03
13
SIZE (ldc-developers-phobos-71cf74f_GH0.tar.gz) = 2355367
13
SIZE (573cb1456b1074bb4ab604a838658f30beb6a797.patch) = 1282
(-)w/lang/ldc/distinfo.bootstrap (+7 lines)
Added Link Here
1
TIMESTAMP = 1562693900
2
SHA256 (ldc-developers-ldc-v0.17.6-6-g20ef705c_GH0.tar.gz) = 569dea918c5e164cceab4a8c73dcd7fcf3c913bd99d4f65a5e57ff343a234d6e
3
SIZE (ldc-developers-ldc-v0.17.6-6-g20ef705c_GH0.tar.gz) = 1231783
4
SHA256 (ldc-developers-druntime-13b1ccf_GH0.tar.gz) = 0be26cb90b540e972eae3660e1b865f97d5b1cb6c7ffe76e2ec4eae89ed63f4a
5
SIZE (ldc-developers-druntime-13b1ccf_GH0.tar.gz) = 953762
6
SHA256 (ldc-developers-phobos-1d758b2_GH0.tar.gz) = af70f2d4b09e0062ba986e215677f484c1cec2977a74ca1a73d3534a120992e9
7
SIZE (ldc-developers-phobos-1d758b2_GH0.tar.gz) = 1923043
(-)w/lang/ldc/files.bootstrap/patch-aarch64 (+82 lines)
Added Link Here
1
- Upstreamed aarch64 support patch (but not merged into ldc's fork):
2
  https://github.com/dlang/druntime/pull/2269
3
- Remove failing (on aarch64) static assert in bootstrap compiler's math function
4
5
--- runtime/druntime/src/core/sys/posix/setjmp.d.orig	2018-12-15 16:48:11 UTC
6
+++ runtime/druntime/src/core/sys/posix/setjmp.d
7
@@ -163,6 +163,12 @@ else version( FreeBSD )
8
         enum _JBLEN = 5;
9
         struct _jmp_buf { c_long[_JBLEN + 1] _jb; }
10
     }
11
+    else version( AArch64 )
12
+    {
13
+        enum _JBLEN = 31;
14
+        // __int128_t
15
+        struct _jmp_buf { long[2][_JBLEN + 1] _jb; };
16
+    }
17
     else
18
         static assert(0);
19
     alias _jmp_buf[1] jmp_buf;
20
@@ -249,6 +255,11 @@ else version( FreeBSD )
21
         enum _JB_SIGMASK    = 3;
22
         enum _JB_SIGFLAG    = 5;
23
         struct _sigjmp_buf { c_long[_JBLEN + 1] _sjb; }
24
+    }
25
+    else version( AArch64 )
26
+    {
27
+        // __int128_t
28
+        struct _sigjmp_buf { long[2][_JBLEN + 1] _jb; };
29
     }
30
     else
31
         static assert(0);
32
--- runtime/druntime/src/core/sys/posix/ucontext.d.orig	2018-12-15 16:48:11 UTC
33
+++ runtime/druntime/src/core/sys/posix/ucontext.d
34
@@ -686,6 +686,38 @@ else version( FreeBSD )
35
             int[6]          mc_spare2;
36
         }
37
     }
38
+    else version( AArch64 )
39
+    {
40
+        alias __register_t = long;
41
+
42
+        struct gpregs
43
+        {
44
+            __register_t[30] gp_x;
45
+            __register_t     gp_lr;
46
+            __register_t     gp_sp;
47
+            __register_t     gp_elr;
48
+            uint             gp_spsr;
49
+            int              gp_pad;
50
+        }
51
+
52
+        struct fpregs
53
+        {
54
+            ulong[2][32]    fp_q; // __uint128_t
55
+            uint            fp_sr;
56
+            uint            fp_cr;
57
+            int             fp_flags;
58
+            int             fp_pad;
59
+        }
60
+
61
+        struct mcontext_t
62
+        {
63
+            gpregs          mc_gpregs;
64
+            fpregs          mc_fpregs;
65
+            int             mc_flags;
66
+            int             mc_pad;
67
+            ulong[8]        mc_spare;
68
+        }
69
+    }
70
 
71
     // <ucontext.h>
72
     enum UCF_SWAPPED = 0x00000001;
73
--- runtime/phobos/std/internal/math/gammafunction.d.orig	2019-04-20 23:21:36 UTC
74
+++ runtime/phobos/std/internal/math/gammafunction.d
75
@@ -1654,7 +1654,6 @@ real logmdigammaInverse(real y)
76
 {
77
     import std.numeric: findRoot;
78
     enum maxY = logmdigamma(real.min_normal);
79
-    static assert(maxY > 0 && maxY <= real.max);
80
 
81
     if (y >= maxY)
82
     {
(-)w/lang/ldc/files.bootstrap/patch-fbsd12 (+81 lines)
Added Link Here
1
--- runtime/druntime/src/core/sys/freebsd/sys/event.d.orig	2018-12-15 16:48:11 UTC
2
+++ runtime/druntime/src/core/sys/freebsd/sys/event.d
3
@@ -125,6 +125,7 @@ enum
4
 }
5
 
6
 int kqueue();
7
+pragma(mangle, "kevent@FBSD_1.0")
8
 int kevent(int kq, const kevent_t *changelist, int nchanges,
9
            kevent_t *eventlist, int nevents,
10
            const timespec *timeout);
11
--- runtime/druntime/src/core/sys/posix/dirent.d.orig	2018-12-15 16:48:11 UTC
12
+++ runtime/druntime/src/core/sys/posix/dirent.d
13
@@ -140,7 +140,7 @@ else version( FreeBSD )
14
 
15
     alias void* DIR;
16
 
17
-    dirent* readdir(DIR*);
18
+    pragma(mangle, "readdir@FBSD_1.0") dirent* readdir(DIR*);
19
 }
20
 else version( DragonFlyBSD )
21
 {
22
@@ -273,7 +273,7 @@ else version( OSX )
23
 }
24
 else version( FreeBSD )
25
 {
26
-    int readdir_r(DIR*, dirent*, dirent**);
27
+    pragma(mangle, "readdir_r@FBSD_1.0") int readdir_r(DIR*, dirent*, dirent**);
28
 }
29
 else version( DragonFlyBSD )
30
 {
31
@@ -315,12 +315,12 @@ version( CRuntime_Glibc )
32
 }
33
 else version( FreeBSD )
34
 {
35
-    void   seekdir(DIR*, c_long);
36
-    c_long telldir(DIR*);
37
+    pragma(mangle, "seekdir@@FBSD_1.0") void   seekdir(DIR*, c_long);
38
+    pragma(mangle, "telldir@@FBSD_1.0") c_long telldir(DIR*);
39
 }
40
 else version( DragonFlyBSD )
41
 {
42
-    void   seekdir(DIR*, c_long);
43
+    void seekdir(DIR*, c_long);
44
     c_long telldir(DIR*);
45
 }
46
 else version (OSX)
47
--- runtime/druntime/src/core/sys/posix/sys/stat.d.orig	2018-12-15 16:48:11 UTC
48
+++ runtime/druntime/src/core/sys/posix/sys/stat.d
49
@@ -1190,9 +1190,9 @@ else version( OSX )
50
 }
51
 else version( FreeBSD )
52
 {
53
-    int   fstat(int, stat_t*);
54
-    int   lstat(in char*, stat_t*);
55
-    int   stat(in char*, stat_t*);
56
+    pragma(mangle, "fstat@FBSD_1.0") int   fstat(int, stat_t*);
57
+    pragma(mangle, "lstat@FBSD_1.0") int   lstat(in char*, stat_t*);
58
+    pragma(mangle, "stat@FBSD_1.0")  int   stat(in char*, stat_t*);
59
 }
60
 else version( DragonFlyBSD )
61
 {
62
@@ -1267,7 +1267,7 @@ else version( FreeBSD )
63
     enum S_IFLNK    = 0xA000; // octal 0120000
64
     enum S_IFSOCK   = 0xC000; // octal 0140000
65
 
66
-    int mknod(in char*, mode_t, dev_t);
67
+    pragma(mangle, "mknod@FBSD_1.0") int mknod(in char*, mode_t, dev_t);
68
 }
69
 else version( DragonFlyBSD )
70
 {
71
--- runtime/druntime/src/core/sys/posix/sys/statvfs.d.orig	2018-12-15 16:48:11 UTC
72
+++ runtime/druntime/src/core/sys/posix/sys/statvfs.d
73
@@ -107,6 +107,6 @@ else
74
         ST_NOSUID = 2
75
     }
76
 
77
-    int statvfs (const char * file, statvfs_t* buf);
78
-    int fstatvfs (int fildes, statvfs_t *buf) @trusted;
79
+    pragma(mangle, "fstatvfs@FBSD_1.0") int statvfs (const char * file, statvfs_t* buf);
80
+    pragma(mangle, "statvfs@FBSD_1.0")  int fstatvfs (int fildes, statvfs_t *buf) @trusted;
81
 }
(-)c/lang/ldc/files/fbsd12-ltsmaster-runtime-druntime-src-core-sys-freebsd-sys_event.d (-14 lines)
Removed Link Here
1
--- ltsmaster/runtime/druntime/src/core/sys/freebsd/sys/event.d	2018-08-21 18:55:47.000000000 +0000
2
+++ ltsmaster/runtime/druntime/src/core/sys/freebsd/sys/event.d	2019-03-06 04:06:16.750660000 +0000
3
@@ -46,8 +46,9 @@
4
     short       filter; /* filter for event */
5
     ushort       flags;
6
     uint        fflags;
7
-    intptr_t      data;
8
-    void        *udata; /* opaque user data identifier */
9
+    long      data;
10
+    void*        udata; /* opaque user data identifier */
11
+    ulong[4]        ext;
12
 }
13
 
14
 enum
(-)c/lang/ldc/files/fbsd12-ltsmaster-runtime-druntime-src-core-sys-posix-sys_stat.d (-59 lines)
Removed Link Here
1
--- ltsmaster/runtime/druntime/src/core/sys/posix/sys/stat.d	2018-08-21 18:55:47.000000000 +0000
2
+++ ltsmaster/runtime/druntime/src/core/sys/posix/sys/stat.d	2019-03-06 04:13:18.999142000 +0000
3
@@ -714,32 +714,42 @@
4
 {
5
     struct stat_t
6
     {
7
-        dev_t       st_dev;
8
-        ino_t       st_ino;
9
-        mode_t      st_mode;
10
-        nlink_t     st_nlink;
11
-        uid_t       st_uid;
12
-        gid_t       st_gid;
13
-        dev_t       st_rdev;
14
+        dev_t     st_dev;
15
+        ino_t     st_ino;
16
+        nlink_t   st_nlink;
17
+        mode_t    st_mode;
18
+        short st_padding0;
19
+        uid_t     st_uid;
20
+        gid_t     st_gid;
21
+        int st_padding1;
22
+        dev_t     st_rdev;
23
 
24
+        version(X86) int st_atim_ext;
25
+
26
         time_t      st_atime;
27
         c_long      __st_atimensec;
28
+
29
+        version(X86) int st_mtim_ext;
30
+
31
         time_t      st_mtime;
32
         c_long      __st_mtimensec;
33
+
34
+        version(X86) int st_ctim_ext;
35
+
36
         time_t      st_ctime;
37
         c_long      __st_ctimensec;
38
 
39
-        off_t       st_size;
40
-        blkcnt_t    st_blocks;
41
-        blksize_t   st_blksize;
42
-        fflags_t    st_flags;
43
-        uint        st_gen;
44
-        int         st_lspare;
45
+        version(X86) int st_btim_ext;
46
 
47
         time_t      st_birthtime;
48
         c_long      st_birthtimensec;
49
 
50
-        ubyte[16 - timespec.sizeof] padding;
51
+	off_t     st_size;
52
+        blkcnt_t st_blocks;
53
+        blksize_t st_blksize;
54
+        fflags_t  st_flags;
55
+        ulong st_gen;
56
+        ulong[10] st_spare;
57
     }
58
 
59
     enum S_IRUSR    = 0x100; // octal 0000400
(-)c/lang/ldc/files/fbsd12-ltsmaster-runtime-druntime-src-core-sys-posix-sys_types.d (-19 lines)
Removed Link Here
1
--- ltsmaster/runtime/druntime/src/core/sys/posix/sys/types.d	2019-03-06 04:17:35.909692000 +0000
2
+++ ltsmaster/runtime/druntime/src/core/sys/posix/sys/types.d	2019-03-06 04:18:41.162430000 +0000
3
@@ -124,12 +124,12 @@
4
 else version( FreeBSD )
5
 {
6
     alias long      blkcnt_t;
7
-    alias uint      blksize_t;
8
-    alias uint      dev_t;
9
+    alias ulong      blksize_t;
10
+    alias ulong      dev_t;
11
     alias uint      gid_t;
12
-    alias uint      ino_t;
13
+    alias ulong      ino_t;
14
     alias ushort    mode_t;
15
-    alias ushort    nlink_t;
16
+    alias ulong    nlink_t;
17
     alias long      off_t;
18
     alias int       pid_t;
19
     //size_t (defined in core.stdc.stddef)
(-)c/lang/ldc/files/fbsd12-ltsmaster-runtime-druntime-src-core-sys-posix_dirent.d (-17 lines)
Removed Link Here
1
--- ltsmaster/runtime/druntime/src/core/sys/posix/dirent.d	2019-03-06 04:07:06.836421000 +0000
2
+++ ltsmaster/runtime/druntime/src/core/sys/posix/dirent.d	2019-03-06 04:08:34.306001000 +0000
3
@@ -131,10 +131,12 @@
4
     align(4)
5
     struct dirent
6
     {
7
-        uint      d_fileno;
8
+        ino_t     d_fileno;
9
+        off_t     d_off;
10
         ushort    d_reclen;
11
         ubyte     d_type;
12
-        ubyte     d_namlen;
13
+        ushort    d_namlen;
14
+        ushort    d_pad1;
15
         char[256] d_name;
16
     }
17
 
(-)c/lang/ldc/files/fbsd12-runtime-druntime-src-core-sys-freebsd-sys_event.d (-14 lines)
Removed Link Here
1
--- runtime/druntime/src/core/sys/freebsd/sys/event.d	2019-02-15 17:20:40.000000000 +0000
2
+++ runtime/druntime/src/core/sys/freebsd/sys/event.d	2019-03-05 17:57:03.552667000 +0000
3
@@ -49,8 +49,9 @@
4
     short       filter; /* filter for event */
5
     ushort       flags;
6
     uint        fflags;
7
-    intptr_t      data;
8
-    void        *udata; /* opaque user data identifier */
9
+    long          data;
10
+    void*        udata; /* opaque user data identifier */
11
+    ulong[4]        ext;
12
 }
13
 
14
 enum
(-)c/lang/ldc/files/fbsd12-runtime-druntime-src-core-sys-freebsd-sys_mount.d (-13 lines)
Removed Link Here
1
--- runtime/druntime/src/core/sys/freebsd/sys/mount.d	2019-03-05 17:38:00.882617000 +0000
2
+++ runtime/druntime/src/core/sys/freebsd/sys/mount.d	2019-03-05 17:38:53.720464000 +0000
3
@@ -32,8 +32,8 @@
4
 }
5
 
6
 enum MFSNAMELEN = 16;
7
-enum MNAMELEN   = 88;
8
-enum STATFS_VERSION = 0x20030518;
9
+enum MNAMELEN   = 1024;
10
+enum STATFS_VERSION = 0x20140518;
11
 
12
 struct statfs_t
13
 {
(-)c/lang/ldc/files/fbsd12-runtime-druntime-src-core-sys-posix-sys_stat.d (-58 lines)
Removed Link Here
1
--- runtime/druntime/src/core/sys/posix/sys/stat.d	2019-02-15 17:20:40.000000000 +0000
2
+++ runtime/druntime/src/core/sys/posix/sys/stat.d	2019-03-05 17:49:41.528876000 +0000
3
@@ -930,32 +930,41 @@
4
 
5
     struct stat_t
6
     {
7
-        dev_t       st_dev;
8
-        ino_t       st_ino;
9
-        mode_t      st_mode;
10
-        nlink_t     st_nlink;
11
-        uid_t       st_uid;
12
-        gid_t       st_gid;
13
-        dev_t       st_rdev;
14
+        dev_t     st_dev;
15
+        ino_t     st_ino;
16
+        nlink_t   st_nlink;
17
+        mode_t    st_mode;
18
+        short st_padding0;
19
+        uid_t     st_uid;
20
+        gid_t     st_gid;
21
+        int st_padding1;
22
+        dev_t     st_rdev;
23
 
24
+        version(X86) int st_atim_ext;
25
         time_t      st_atime;
26
         c_long      __st_atimensec;
27
+
28
+        version(X86) int st_mtim_ext;
29
+
30
         time_t      st_mtime;
31
         c_long      __st_mtimensec;
32
+
33
+        version(X86) int st_ctim_ext;
34
+
35
         time_t      st_ctime;
36
         c_long      __st_ctimensec;
37
 
38
-        off_t       st_size;
39
-        blkcnt_t    st_blocks;
40
-        blksize_t   st_blksize;
41
-        fflags_t    st_flags;
42
-        uint        st_gen;
43
-        int         st_lspare;
44
+        version(X86) int st_btim_ext;
45
 
46
         time_t      st_birthtime;
47
         c_long      st_birthtimensec;
48
 
49
-        ubyte[16 - timespec.sizeof] padding;
50
+        off_t     st_size;
51
+        blkcnt_t st_blocks;
52
+        blksize_t st_blksize;
53
+        fflags_t  st_flags;
54
+        ulong st_gen;
55
+        ulong[10] st_spare;
56
     }
57
 
58
     enum S_IRUSR    = 0x100; // octal 0000400
(-)c/lang/ldc/files/fbsd12-runtime-druntime-src-core-sys-posix-sys_types.d (-21 lines)
Removed Link Here
1
--- runtime/druntime/src/core/sys/posix/sys/types.d	2019-02-15 17:20:40.000000000 +0000
2
+++ runtime/druntime/src/core/sys/posix/sys/types.d	2019-03-05 17:51:58.972306000 +0000
3
@@ -145,14 +145,13 @@
4
 }
5
 else version (FreeBSD)
6
 {
7
-    // https://github.com/freebsd/freebsd/blob/master/sys/sys/_types.h
8
     alias long      blkcnt_t;
9
-    alias uint      blksize_t;
10
-    alias uint      dev_t;
11
+    alias ulong     blksize_t;
12
+    alias ulong     dev_t;
13
     alias uint      gid_t;
14
-    alias uint      ino_t;
15
+    alias ulong     ino_t;
16
     alias ushort    mode_t;
17
-    alias ushort    nlink_t;
18
+    alias ulong     nlink_t;
19
     alias long      off_t;
20
     alias int       pid_t;
21
     //size_t (defined in core.stdc.stddef)
(-)c/lang/ldc/files/fbsd12-runtime-druntime-src-core-sys-posix_dirent.d (-21 lines)
Removed Link Here
1
--- runtime/druntime/src/core/sys/posix/dirent.d	2019-03-05 17:39:54.822687000 +0000
2
+++ runtime/druntime/src/core/sys/posix/dirent.d	2019-03-05 17:41:19.267583000 +0000
3
@@ -152,11 +152,13 @@
4
     align(4)
5
     struct dirent
6
     {
7
-        uint      d_fileno;
8
-        ushort    d_reclen;
9
-        ubyte     d_type;
10
-        ubyte     d_namlen;
11
-        char[256] d_name;
12
+         ino_t     d_fileno;
13
+         off_t     d_off;
14
+         ushort    d_reclen;
15
+         ubyte     d_type;
16
+         ushort    d_namlen;
17
+         ushort    d_pad1;
18
+         char[256] d_name;
19
     }
20
 
21
     alias void* DIR;
(-)w/lang/ldc/files/patch-backtrace (+38 lines)
Added Link Here
1
https://github.com/ldc-developers/ldc/issues/3108
2
https://github.com/myfreeweb/druntime/commit/4cc671669d45f14cc8fd270857d5cbeae6b38be8
3
4
--- runtime/druntime/src/core/sys/freebsd/execinfo.d.orig	2019-05-27 19:11:41 UTC
5
+++ runtime/druntime/src/core/sys/freebsd/execinfo.d
6
@@ -15,6 +15,9 @@ nothrow:
7
 version (GNU)
8
     version = BacktraceExternal;
9
 
10
+version (LDC)
11
+    version = BacktraceExternal;
12
+
13
 version (BacktraceExternal)
14
 {
15
     size_t backtrace(void**, size_t);
16
@@ -38,11 +41,6 @@ else
17
             asm nothrow @trusted { mov p[EBP], EBP; }
18
         else version (D_InlineAsm_X86_64)
19
             asm nothrow @trusted { mov p[RBP], RBP; }
20
-        else version (AArch64) // LDC
21
-        {
22
-            import ldc.llvmasm;
23
-            __asm("str x29, $0", "=*m", &p);
24
-        }
25
         else
26
             static assert(false, "Architecture not supported.");
27
 
28
--- runtime/druntime/src/core/runtime.d.orig	2019-05-27 19:11:41 UTC
29
+++ runtime/druntime/src/core/runtime.d
30
@@ -778,7 +778,7 @@ Throwable.TraceInfo defaultTraceHandler( void* ptr = n
31
             {
32
                 version (LDC)
33
                 {
34
-                    numframes = backtrace( callstack.ptr, MAXFRAMES );
35
+                    numframes = cast(int) backtrace( callstack.ptr, MAXFRAMES );
36
                 }
37
                 else
38
                 {
(-)w/lang/ldc/files/patch-fbsd12 (+111 lines)
Added Link Here
1
https://github.com/dlang/druntime/pull/2668
2
3
--- runtime/druntime/src/core/sys/freebsd/sys/event.d.orig	2019-05-27 19:11:41 UTC
4
+++ runtime/druntime/src/core/sys/freebsd/sys/event.d
5
@@ -144,6 +144,7 @@ enum
6
 }
7
 
8
 int kqueue();
9
+pragma(mangle, "kevent@FBSD_1.0")
10
 int kevent(int kq, const kevent_t *changelist, int nchanges,
11
            kevent_t *eventlist, int nevents,
12
            const timespec *timeout);
13
--- runtime/druntime/src/core/sys/freebsd/sys/mount.d.orig	2019-05-27 19:11:41 UTC
14
+++ runtime/druntime/src/core/sys/freebsd/sys/mount.d
15
@@ -288,17 +288,17 @@ enum uint VQ_FLAG2000 = 0x2000;
16
 enum uint VQ_FLAG4000 = 0x4000;
17
 enum uint VQ_FLAG8000 = 0x8000;
18
 
19
-int fhopen(const fhandle_t*, int);
20
-int fhstat(const fhandle_t*, stat_t*);
21
-int fhstatfs(const fhandle_t*, statfs_t*);
22
-int fstatfs(int, statfs_t*);
23
-int getfh(const char*, fhandle_t*);
24
-int getfsstat(statfs_t*, c_long, int);
25
-int getmntinfo(statfs_t**, int);
26
-int lgetfh(const char*, fhandle_t*);
27
-int mount(const char*, const char*, int, void*);
28
+pragma(mangle, "fhopen@@FBSD_1.0")    int fhopen(const fhandle_t*, int);
29
+pragma(mangle, "fhstat@FBSD_1.0")     int fhstat(const fhandle_t*, stat_t*);
30
+pragma(mangle, "fhstatfs@FBSD_1.0")   int fhstatfs(const fhandle_t*, statfs_t*);
31
+pragma(mangle, "fstatfs@FBSD_1.0")    int fstatfs(int, statfs_t*);
32
+pragma(mangle, "getfh@@FBSD_1.0")     int getfh(const char*, fhandle_t*);
33
+pragma(mangle, "getfsstat@FBSD_1.0")  int getfsstat(statfs_t*, c_long, int);
34
+pragma(mangle, "getmntinfo@FBSD_1.0") int getmntinfo(statfs_t**, int);
35
+pragma(mangle, "lgetfh@@FBSD_1.0")    int lgetfh(const char*, fhandle_t*);
36
+pragma(mangle, "mount@@FBSD_1.0")     int mount(const char*, const char*, int, void*);
37
 //int nmount(iovec*, uint, int);
38
-int statfs(const char*, statfs_t*);
39
-int unmount(const char*, int);
40
+pragma(mangle, "statfs@FBSD_1.0")     int statfs(const char*, statfs_t*);
41
+pragma(mangle, "unmount@@FBSD_1.0")   int unmount(const char*, int);
42
 
43
 //int getvfsbyname(const char*, xvfsconf*);
44
--- runtime/druntime/src/core/sys/posix/dirent.d.orig	2019-05-27 19:11:41 UTC
45
+++ runtime/druntime/src/core/sys/posix/dirent.d
46
@@ -161,7 +161,7 @@ else version (FreeBSD)
47
 
48
     alias void* DIR;
49
 
50
-    dirent* readdir(DIR*);
51
+    pragma(mangle, "readdir@FBSD_1.0") dirent* readdir(DIR*);
52
 }
53
 else version (NetBSD)
54
 {
55
@@ -473,7 +473,7 @@ else version (Darwin)
56
 }
57
 else version (FreeBSD)
58
 {
59
-    int readdir_r(DIR*, dirent*, dirent**);
60
+    pragma(mangle, "readdir_r@FBSD_1.0") int readdir_r(DIR*, dirent*, dirent**);
61
 }
62
 else version (DragonFlyBSD)
63
 {
64
@@ -540,8 +540,8 @@ version (CRuntime_Glibc)
65
 }
66
 else version (FreeBSD)
67
 {
68
-    void   seekdir(DIR*, c_long);
69
-    c_long telldir(DIR*);
70
+    pragma(mangle, "seekdir@@FBSD_1.0") void seekdir(DIR*, c_long);
71
+    pragma(mangle, "telldir@@FBSD_1.0") c_long telldir(DIR*);
72
 }
73
 else version (NetBSD)
74
 {
75
--- runtime/druntime/src/core/sys/posix/sys/stat.d.orig	2019-05-27 19:11:41 UTC
76
+++ runtime/druntime/src/core/sys/posix/sys/stat.d
77
@@ -1859,9 +1859,9 @@ else version (Darwin)
78
 }
79
 else version (FreeBSD)
80
 {
81
-    int   fstat(int, stat_t*);
82
-    int   lstat(in char*, stat_t*);
83
-    int   stat(in char*, stat_t*);
84
+    pragma(mangle, "fstat@FBSD_1.0") int   fstat(int, stat_t*);
85
+    pragma(mangle, "lstat@FBSD_1.0") int   lstat(in char*, stat_t*);
86
+    pragma(mangle, "stat@FBSD_1.0")  int   stat(in char*, stat_t*);
87
 }
88
 else version (NetBSD)
89
 {
90
@@ -1975,7 +1975,7 @@ else version (FreeBSD)
91
     enum S_IFLNK    = 0xA000; // octal 0120000
92
     enum S_IFSOCK   = 0xC000; // octal 0140000
93
 
94
-    int mknod(in char*, mode_t, dev_t);
95
+    pragma(mangle, "mknod@FBSD_1.0") int mknod(in char*, mode_t, dev_t);
96
 }
97
 else version (NetBSD)
98
 {
99
--- runtime/druntime/src/core/sys/posix/sys/statvfs.d.orig	2019-05-27 19:11:41 UTC
100
+++ runtime/druntime/src/core/sys/posix/sys/statvfs.d
101
@@ -254,8 +254,8 @@ else version (FreeBSD)
102
     enum uint ST_RDONLY = 0x1;
103
     enum uint ST_NOSUID = 0x2;
104
 
105
-    int fstatvfs(int, statvfs_t*);
106
-    int statvfs(const char*, statvfs_t*);
107
+    pragma(mangle, "fstatvfs@FBSD_1.0") int fstatvfs(int, statvfs_t*);
108
+    pragma(mangle, "statvfs@FBSD_1.0")  int statvfs(const char*, statvfs_t*);
109
 }
110
 else
111
 {
(-)w/lang/ldc/pkg-plist (-10 / +27 lines)
Lines 11-25 include/d/core/checkedint.d Link Here
11
include/d/core/cpuid.d
11
include/d/core/cpuid.d
12
include/d/core/demangle.d
12
include/d/core/demangle.d
13
include/d/core/exception.d
13
include/d/core/exception.d
14
include/d/core/gc/config.d
15
include/d/core/gc/gcinterface.d
16
include/d/core/gc/registry.d
14
include/d/core/internal/abort.d
17
include/d/core/internal/abort.d
15
include/d/core/internal/arrayop.d
18
include/d/core/internal/arrayop.d
16
include/d/core/internal/convert.d
19
include/d/core/internal/convert.d
20
include/d/core/internal/dassert.d
17
include/d/core/internal/hash.d
21
include/d/core/internal/hash.d
22
include/d/core/internal/lifetime.d
18
include/d/core/internal/parseoptions.d
23
include/d/core/internal/parseoptions.d
19
include/d/core/internal/spinlock.d
24
include/d/core/internal/spinlock.d
20
include/d/core/internal/string.d
25
include/d/core/internal/string.d
21
include/d/core/internal/traits.d
26
include/d/core/internal/traits.d
22
include/d/core/internal/utf.d
27
include/d/core/internal/utf.d
28
include/d/core/lifetime.d
23
include/d/core/math.d
29
include/d/core/math.d
24
include/d/core/memory.d
30
include/d/core/memory.d
25
include/d/core/runtime.d
31
include/d/core/runtime.d
Lines 46-59 include/d/core/stdc/tgmath.d Link Here
46
include/d/core/stdc/time.d
52
include/d/core/stdc/time.d
47
include/d/core/stdc/wchar_.d
53
include/d/core/stdc/wchar_.d
48
include/d/core/stdc/wctype.d
54
include/d/core/stdc/wctype.d
55
include/d/core/stdcpp/allocator.d
49
include/d/core/stdcpp/array.d
56
include/d/core/stdcpp/array.d
50
include/d/core/stdcpp/exception.d
57
include/d/core/stdcpp/exception.d
58
include/d/core/stdcpp/new_.d
51
include/d/core/stdcpp/string_view.d
59
include/d/core/stdcpp/string_view.d
60
include/d/core/stdcpp/type_traits.d
52
include/d/core/stdcpp/typeinfo.d
61
include/d/core/stdcpp/typeinfo.d
53
include/d/core/stdcpp/xutility.d
62
include/d/core/stdcpp/xutility.d
54
include/d/core/sync/barrier.d
63
include/d/core/sync/barrier.d
55
include/d/core/sync/condition.d
64
include/d/core/sync/condition.d
56
include/d/core/sync/config.d
65
include/d/core/sync/config.d
66
include/d/core/sync/event.d
57
include/d/core/sync/exception.d
67
include/d/core/sync/exception.d
58
include/d/core/sync/mutex.d
68
include/d/core/sync/mutex.d
59
include/d/core/sync/rwmutex.d
69
include/d/core/sync/rwmutex.d
Lines 517-522 include/d/std/net/curl.d Link Here
517
include/d/std/net/isemail.d
527
include/d/std/net/isemail.d
518
include/d/std/numeric.d
528
include/d/std/numeric.d
519
include/d/std/outbuffer.d
529
include/d/std/outbuffer.d
530
include/d/std/package.d
520
include/d/std/parallelism.d
531
include/d/std/parallelism.d
521
include/d/std/path.d
532
include/d/std/path.d
522
include/d/std/process.d
533
include/d/std/process.d
Lines 554-576 include/d/std/xml.d Link Here
554
include/d/std/zip.d
565
include/d/std/zip.d
555
include/d/std/zlib.d
566
include/d/std/zlib.d
556
lib/libdruntime-ldc-debug-shared.so
567
lib/libdruntime-ldc-debug-shared.so
557
lib/libdruntime-ldc-debug-shared.so.2.0.84
568
lib/libdruntime-ldc-debug-shared.so.2.0.86
558
lib/libdruntime-ldc-debug-shared.so.84
569
lib/libdruntime-ldc-debug-shared.so.86
559
lib/libdruntime-ldc-debug.a
570
lib/libdruntime-ldc-debug.a
560
lib/libdruntime-ldc-shared.so
571
lib/libdruntime-ldc-shared.so
561
lib/libdruntime-ldc-shared.so.2.0.84
572
lib/libdruntime-ldc-shared.so.2.0.86
562
lib/libdruntime-ldc-shared.so.84
573
lib/libdruntime-ldc-shared.so.86
563
lib/libdruntime-ldc.a
574
lib/libdruntime-ldc.a
564
lib/libldc-jit-rt.a
575
lib/libldc-jit-rt.a
565
lib/libldc-jit.so
576
lib/libldc-jit.so
566
lib/libldc-jit.so.2.0.84
577
lib/libldc-jit.so.2.0.86
567
lib/libldc-jit.so.84
578
lib/libldc-jit.so.86
568
lib/libphobos2-ldc-debug-shared.so
579
lib/libphobos2-ldc-debug-shared.so
569
lib/libphobos2-ldc-debug-shared.so.2.0.84
580
lib/libphobos2-ldc-debug-shared.so.2.0.86
570
lib/libphobos2-ldc-debug-shared.so.84
581
lib/libphobos2-ldc-debug-shared.so.86
571
lib/libphobos2-ldc-debug.a
582
lib/libphobos2-ldc-debug.a
572
lib/libphobos2-ldc-shared.so
583
lib/libphobos2-ldc-shared.so
573
lib/libphobos2-ldc-shared.so.2.0.84
584
lib/libphobos2-ldc-shared.so.2.0.86
574
lib/libphobos2-ldc-shared.so.84
585
lib/libphobos2-ldc-shared.so.86
575
lib/libphobos2-ldc.a
586
lib/libphobos2-ldc.a
576
@dir include/d/etc/c/zlib
587
@dir include/d/etc/c/zlib
588
@postexec if [ ! -f %%LOCALBASE%%/bin/ldc2 ]; then ln -s %%PREFIX%%/bin/ldc2 %%LOCALBASE%%/bin/ldc2 && touch %%PREFIX%%/.ldc2-alt-linked ;fi
589
@postexec if [ ! -f %%LOCALBASE%%/bin/ldmd2 ]; then ln -s %%PREFIX%%/bin/ldmd2 %%LOCALBASE%%/bin/ldmd2 && touch %%PREFIX%%/.ldmd2-alt-linked ;fi
590
@postexec if [ ! -f %%LOCALBASE%%/etc/ldc2.conf ]; then ln -s %%PREFIX%%/etc/ldc2.conf %%LOCALBASE%%/etc/ldc2.conf && touch %%PREFIX%%/.ldc2.conf-alt-linked ;fi
591
@postunexec if [ -f %%PREFIX%%/.ldc2-alt-linked ]; then rm %%LOCALBASE%%/bin/ldc2 ;fi
592
@postunexec if [ -f %%PREFIX%%/.ldmd2-alt-linked ]; then rm %%LOCALBASE%%/bin/ldmd2 ;fi
593
@postunexec if [ -f %%PREFIX%%/.ldc2.conf-alt-linked ]; then rm %%LOCALBASE%%/etc/ldc2.conf ;fi

Return to bug 237427