www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 12977] New: lf64 definitions aren't correct on Solaris

https://issues.dlang.org/show_bug.cgi?id=12977

          Issue ID: 12977
           Summary: lf64 definitions aren't correct on Solaris
           Product: D
           Version: D2
          Hardware: x86
                OS: Solaris
            Status: NEW
          Severity: enhancement
          Priority: P1
         Component: druntime
          Assignee: nobody puremagic.com
          Reporter: jason.brian.king gmail.com
            Blocks: 8859

In general, the Solaris large file support is implemented as:

If 64 bit:
  define structs/functions without 64 alias (these are the actual names that
are linked)
  alias *64 suffix to actual function names

else:
  if USING_LARGEFILES:
     define *64 function/structs
     alias regular functions to *64 variants
  else
     define non-64 suffixed functions/structs

The D definitions currently do the 32-bit large file behavior in 64-bit
environments, causing it to attempt to link to the *64 suffixed function names,
which fails (since they only exist in the 32-bit libc).  The definitions should
match what the Solaris header files do.

--
Jun 23 2014