On 3/31/2017 6:30 PM, Jonathan M Davis via Digitalmars-d wrote:
On Friday, March 31, 2017 15:51:33 Walter Bright via Digitalmars-d wrote:
The autotester is currently at FreeBSD 8.4. This is rather obsolete. The
linker that is standard on 8.4 is causing problems:

    https://github.com/dlang/dmd/pull/6564

The oldest supported version of FreeBSD stands at 10.3:

    https://www.freebsd.org/security/unsupported.html

I know the linker with FreeBSD 11.0 does work correctly. I don't know
which FreeBSD version it was fixed on.

So the question is, can we at least move to FreeBSD 10.3 as the minimum
supported version? Is anyone very dependent on an older FreeBSD? Is there
a case for supporting FreeBSD versions that are officially unsupported?
Some work was done a year or two ago to fix FreeBSD 9 and 10, and AFAIK,
they both work, though I've never used FreeBSD 9. 10.3 did work the last
time I tried it, as did 11.0 (both passed druntime and phobos' unit tests,
and I _think_ that I ran dmd's tests and that they passed, but I'm not 100%
sure, since I don't run those normally). FreeBSD CURRENT does _not_
currently work properly due to a problem with stack unwinding that results
in bus errors when an exception is thrown. I think that there's a decent
chance that it's a FreeBSD bug as opposed to ours, but I haven't gotten
around to contacting the FreeBSD devs about it yet. However, that problem
has not yet made it into an official release, and hopefully it never does.

As for the minimum version to support, I'd be very much inclined to argue
that we only officially support the versions that the FreeBSD folks
currently support, or we're just asking for trouble. And honestly, I think
that we should do the same on all platforms. If someone wants to run an
unsupported version of an OS, they're just begging for trouble anyway, and
they can always use an older version of the compiler that did support that
OS. And actually, the last time I checked, the official FreeBSD port for dmd
claimed that we don't officially support FreeBSD, even though we
theoretically do (probably because support for it hasn't been as good - e.g.
we test on an outdated version of the OS and took quite a while to fix
druntime for newer versions of FreeBSD). Sadly, I think that the primary
reason that druntime works correctly on FreeBSD 10 and 11 now is because I
switched to using it as my primary OS and complained when it didn't work. It
seems to have primarily gone under the radar otherwise.

- Jonathan M Davis

I grabbed the official 10.3-CURRENT vm image from the freebsd website and gave it a whirl. For the 64 bit test run, the only failure was std.datetime unit tests failure. Apparently LocalTime().stdName is null and the assert at line 28248 fails. There's at least one additional failure on 32 bits in allocator/building_blocks/region.d line 652. I ran out of time to dig for today, but the bottom line is that 10.3 isn't ready to be the base platform for dmd as is. Chances are it could be with only a little work though.

I haven't tried 11 yet either.

Later,
Brad

Reply via email to