NaCl defines them but doesn't actually support them. But it doesn't actually support FD_CLOEXEC either. So you can consider NaCl to "support" O_CLOEXEC. On the Hurd, these are implemented entirely in libc. So if any part of the support is missing, it can be fixed in libc.