[MLton] C99 runtime problems on Darwin

Wesley W. Terpstra terpstra@gkec.tu-darmstadt.de
Wed, 22 Dec 2004 23:44:27 +0100


On Wed, Dec 22, 2004 at 05:17:55PM +0100, Wesley W. Terpstra wrote:
> I need to get a copy of the POSIX standard. =P

http://www.opengroup.org/onlinepubs/007904975/toc.htm

> I think we should not need the _BSD_SOURCE in Posix/* and platform.c.

Yep, I've checked, every function MLton Posix/* uses is required by:
	SUSv3
	IEEE Std 1003.1-2001 (POSIX 200112)
	ISO/IEC 9945-[1-4]:2002
... which are all essentially the same standard.

> However, without an authoritative reference I hesitate to file a glibc bug.

The only two functions we need to be concerned about are:
	mkstemp (which is an XSI extension)
	fsync (which is an FSC extension)

fsync is available if _POSIX_SYNCHRONIZED_IO is defined.

Sadly, not even linux appears to conform to the standard yet.
Therefore, we need to leave the _BSD_SOURCE in there for now.

However, glibc claims to be conformant:
	/usr/include/unistd.h:#define _POSIX2_VERSION   200112L
... so I guess that means I can file a bug. =)

-- 
Wesley W. Terpstra