The NaN and hex formatting are a matter of enabling C99 versions of *printf() functions.  Normally the C compiler does this by linking in the appropriate /usr/lib/values-*.o file based on the desired compilation mode (ansi C, c89, c99, etc.) standards(5) goes into more detail on that.

Passing 0 for the size argument to getcwd() is undefined, though probably reasonable enough to file a bug w/ Illumos to match the BSD and Linux behavior/


On Sun, May 17, 2015 at 2:36 PM, Joakim via Digitalmars-d <digitalmars-d@puremagic.com> wrote:
On Tuesday, 5 May 2015 at 15:41:47 UTC, Joakim wrote:
On Tuesday, 5 May 2015 at 05:42:33 UTC, Kai Nacke wrote:
BTW: You can by-pass the Solaris ld by setting environment variable LD_ALTEXEC to the ld binary you want to use.

Thanks for the tip: I set that to the binutils ld and got almost all of druntime's tests to pass with a 64-bit binary.  I only had to comment out the additional druntime tests having to do with exceptions.  Maybe that's related to the link error flamencofantasy pasted.

I also tried running the phobos unit tests, but I got a ton of link errors, seemingly for stuff that should be there.  I'll let someone else track those down.

Before I chuck this large SmartOS VM on my external backup, I thought I'd take another shot at getting the phobos tests running.  Turned out to be pretty easy and I started hacking around the test failures until it got too tedious, when the std.path tests wouldn't run because "Memory allocation failed."  Here's the last patch I used:

https://gist.github.com/joakim-noah/6094789851ba1db1170b

Some notes:

- I disabled the tests for std.datetime and std.parallelism in the test runner because they were both failing somewhere.
- All it took to get the phobos test runner linked was to add all the additional necessary libraries that curl needed on Solaris to posix.mak.
- getcwd will not accept a zero size on Solaris.
- Solaris seems to have similar issues to Android with formatting NaN and hex in std.format.