libctf: work on platforms without O_CLOEXEC.
(Not tested on any such platforms, since I don't have access to any at the moment. Testing encouraged.) libctf/ * configure.ac: Check for O_CLOEXEC. * ctf-decls.h (O_CLOEXEC): Define (to 0), if need be. * config.h.in: Regenerate.
This commit is contained in:
parent
6b22174ff1
commit
ad118caa9f
5 changed files with 67 additions and 0 deletions
|
@ -1,3 +1,10 @@
|
|||
2019-06-04 Nick Alcock <nick.alcock@oracle.com>
|
||||
|
||||
* configure.ac: Check for O_CLOEXEC.
|
||||
* ctf-decls.h (O_CLOEXEC): Define (to 0), if need be.
|
||||
* config.h.in: Regenerate.
|
||||
* configure: Likewise.
|
||||
|
||||
2019-06-04 Nick Alcock <nick.alcock@oracle.com>
|
||||
|
||||
* qsort_r.c: Rename to...
|
||||
|
|
|
@ -24,6 +24,9 @@
|
|||
/* Define to 1 if you have a working `mmap' system call. */
|
||||
#undef HAVE_MMAP
|
||||
|
||||
/* Whether the platform has a definition of O_CLOEXEC. */
|
||||
#undef HAVE_O_CLOEXEC
|
||||
|
||||
/* Define to 1 if you have the `pread' function. */
|
||||
#undef HAVE_PREAD
|
||||
|
||||
|
|
37
libctf/configure
vendored
37
libctf/configure
vendored
|
@ -6462,6 +6462,43 @@ else
|
|||
fi
|
||||
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for O_CLOEXEC" >&5
|
||||
$as_echo_n "checking for O_CLOEXEC... " >&6; }
|
||||
if ${ac_cv_libctf_macro_O_CLOEXEC+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
#include <fcntl.h>
|
||||
#ifndef O_CLOEXEC
|
||||
choke me;
|
||||
#endif
|
||||
|
||||
int
|
||||
main ()
|
||||
{
|
||||
return O_CLOEXEC;
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
if ac_fn_c_try_link "$LINENO"; then :
|
||||
ac_cv_libctf_macro_O_CLOEXEC=yes
|
||||
else
|
||||
ac_cv_libctf_macro_O_CLOEXEC=no
|
||||
fi
|
||||
rm -f core conftest.err conftest.$ac_objext \
|
||||
conftest$ac_exeext conftest.$ac_ext
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_libctf_macro_O_CLOEXEC" >&5
|
||||
$as_echo "$ac_cv_libctf_macro_O_CLOEXEC" >&6; }
|
||||
|
||||
if test $ac_cv_libctf_macro_O_CLOEXEC = yes; then
|
||||
|
||||
$as_echo "#define HAVE_O_CLOEXEC 1" >>confdefs.h
|
||||
|
||||
fi
|
||||
|
||||
ac_config_files="$ac_config_files Makefile"
|
||||
|
||||
ac_config_headers="$ac_config_headers config.h"
|
||||
|
|
|
@ -133,6 +133,22 @@ esac
|
|||
|
||||
AM_CONDITIONAL(NEED_CTF_QSORT_R, test "${ac_cv_libctf_qsort_r_signature}" = unknown)
|
||||
|
||||
AC_CACHE_CHECK([for O_CLOEXEC], [ac_cv_libctf_macro_O_CLOEXEC],
|
||||
[AC_LINK_IFELSE(
|
||||
[AC_LANG_PROGRAM([[#include <fcntl.h>
|
||||
#ifndef O_CLOEXEC
|
||||
choke me;
|
||||
#endif
|
||||
]],
|
||||
[[return O_CLOEXEC;]])],
|
||||
[ac_cv_libctf_macro_O_CLOEXEC=yes],
|
||||
[ac_cv_libctf_macro_O_CLOEXEC=no])])
|
||||
|
||||
if test $ac_cv_libctf_macro_O_CLOEXEC = yes; then
|
||||
AC_DEFINE([HAVE_O_CLOEXEC], 1,
|
||||
[Whether the platform has a definition of O_CLOEXEC.])
|
||||
fi
|
||||
|
||||
AC_CONFIG_FILES(Makefile)
|
||||
AC_CONFIG_HEADERS(config.h)
|
||||
AC_OUTPUT
|
||||
|
|
|
@ -62,6 +62,10 @@ void ctf_qsort_r (void *base, size_t nmemb, size_t size,
|
|||
void *arg);
|
||||
#endif
|
||||
|
||||
#ifndef HAVE_O_CLOEXEC
|
||||
# define O_CLOEXEC 0
|
||||
#endif
|
||||
|
||||
#undef MAX
|
||||
#undef MIN
|
||||
#define MAX(a, b) ((a) > (b) ? (a) : (b))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue