* include/fcntl.h: Declare __have_o_cloexec.
* io/have_o_cloexec.c: New file.
* sysdeps/unix/opendir.c (__opendir): Use O_CLOEXEC is available.
(__alloc_dir): If O_CLOEXEC has been used, don't duplicate the
fcntl call if not necessary.
* login/utmp_file.c (setutent_file): Use __have_o_cloexec instead
of local variable.