Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 16 Jul 2017 13:57:57 -0500
From:      =?UTF-8?Q?Alonso_C=C3=A1rdenas_M=C3=A1rquez?= <acm@freebsd.org>
To:        Cy Schubert <Cy.Schubert@komquats.com>
Cc:        ports-committers@freebsd.org, svn-ports-all@freebsd.org,  svn-ports-head@freebsd.org
Subject:   Re: svn commit: r445203 - head/lang/ldc
Message-ID:  <CAEpPhT%2BC1AXWDuQH2xxy5RdfJdEhHFpr8xbKbEjc2KvoZd5GDQ@mail.gmail.com>
In-Reply-To: <201707070638.v676cuPX003225@slippy.cwsent.com>
References:  <acm@FreeBSD.org> <201707070315.v673F3Gl061343@repo.freebsd.org> <201707070638.v676cuPX003225@slippy.cwsent.com>

next in thread | previous in thread | raw e-mail | index | archive | help
2017-07-07 1:38 GMT-05:00 Cy Schubert <Cy.Schubert@komquats.com>:

>
>
> Interestingly I'm seeing the same issue with lang/dmd2. I've determined
> that dmd2's issue is stack corruption caused incorrect D stat_t and
> dirent_t definitions. I'm willing to bet that ldc, which is based on DMD D
> (with an llvm backend), likely has the same issue.
>

Hi, you are right. lang/ldc is broken on 12-CURRENT. I think that some
changes into 12-CURRENT is breaking some ports


> I've opened a ticket with dlang.org. The issue is that for lang/dmd2 and
> lang/ldc to support pre-inode64 and post-inode64 systems we must be able to
> conditionally include old and new versions of stat and dirent structs.
> Unfortunately D only supports a version() statement (akin an #ifdef) and D
> supports version(FreeBSD) and is not able to conditionally compile based on
> __FreeBSD_version. (It would have been simpler had they used simple stubs
> to interface with the O/S. <sigh> )
>
> I think our todo in both cases will be:
>
> 1. See if our upline can support a version() statement that can be used to
> compare against __FreeBSD_version or failing that a major.minor version
> number, or


> 2. Replacing the direct D calls of stat() and fstat() with calls to a stub
> written in C or C++. This too can only be sustainably provided by our
> upline.
>
> 3. Failing 1 and 2 above, the makefile changes and patches to both ports
> will be inelegant hacks at best.
>

I'll be checking for your bug report (
https://issues.dlang.org/show_bug.cgi?id=17596. Maybe they implement
version feature before of 12-RELEASE. Btw I think 3 is the best option
currently.

Geetings
ACM



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAEpPhT%2BC1AXWDuQH2xxy5RdfJdEhHFpr8xbKbEjc2KvoZd5GDQ>