From 861de20310c738270408d500ca81235649faf242 Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Sun, 15 Jul 2001 14:30:55 +0000 Subject: [PATCH] *** empty log message *** --- m4/ChangeLog | 13 +++++++++++ m4/gettimeofday.m4 | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 78 insertions(+) create mode 100644 m4/gettimeofday.m4 diff --git a/m4/ChangeLog b/m4/ChangeLog index e941b604d..f76db2864 100644 --- a/m4/ChangeLog +++ b/m4/ChangeLog @@ -1,3 +1,16 @@ +2001-07-15 Jim Meyering + + * Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h stuff. + Now it's in ../Makefile.cfg. + + * gettimeofday.m4: New file. + +2001-07-04 Jim Meyering + + * Makefile.am.in (glibc-io.struct): New target. Rework the code + that generates jm-glibc-io.m4 so that it doesn't trigger any make + distcheck failure. + 2001-07-02 Jim Meyering The following changes were prompted by suggestions from Bruno Haible. diff --git a/m4/gettimeofday.m4 b/m4/gettimeofday.m4 new file mode 100644 index 000000000..2d893b7da --- /dev/null +++ b/m4/gettimeofday.m4 @@ -0,0 +1,65 @@ +#serial 1 + +dnl From Jim Meyering. +dnl +dnl See if gettimeofday clobbers the static buffer that localtime uses +dnl for it's return value. The gettimeofday function from Mac OS X 10.0.4, +dnl i.e. Darwin 1.3.7 has this problem. +dnl +dnl If it does, then arrange to use gettimeofday only via the wrapper +dnl function that works around the problem. + +AC_DEFUN(AC_FUNC_GETTIMEOFDAY_CLOBBER, +[ + AC_REQUIRE([AC_HEADER_TIME]) + AC_CHECK_HEADERS(string.h stdlib.h) + AC_CACHE_CHECK([whether gettimeofday clobbers localtime buffer], + jm_cv_func_gettimeofday_clobber, + [AC_TRY_RUN([ +#include +#if HAVE_STRING_H +# include +#endif + +#if TIME_WITH_SYS_TIME +# include +# include +#else +# if HAVE_SYS_TIME_H +# include +# else +# include +# endif +#endif + +#if HAVE_STDLIB_H +# include +#endif + +int +main () +{ + time_t t = 0; + struct tm *lt; + struct tm saved_lt; + struct timeval tv; + lt = localtime (&t); + saved_lt = *lt; + gettimeofday (&tv, NULL); + if (memcmp (lt, &saved_lt, sizeof (struct tm)) != 0) + exit (1); + + exit (0); +} + ], + jm_cv_func_gettimeofday_clobber=yes, + jm_cv_func_gettimeofday_clobber=no, + dnl When crosscompiling, assume it is broken. + jm_cv_func_gettimeofday_clobber=yes) + ]) + if test $jm_cv_func_gettimeofday_clobber = yes; then + AC_LIBOBJ(gettimeofday) + AC_DEFINE_UNQUOTED(gettimeofday, rpl_gettimeofday, + [Define to rpl_gettimeofday if the replacement function should be used.]) + fi +]) -- 2.11.0