[v2,2/2] Fix time/mktime.c and time/gmtime.c for gnulib compatibility
diff mbox series

Message ID 20190227112042.1794-2-lukma@denx.de
State New
Headers show
Series
  • [v2,1/2] Y2038: make __mktime_internal compatible with __time64_t
Related show

Commit Message

Lukasz Majewski Feb. 27, 2019, 11:20 a.m. UTC
From: Paul Eggert <eggert@cs.ucla.edu>

Tested with 'make check' on x86_64-linux-gnu and i686-linux.gnu.

	* time/mktime.c
	(__mktime64): Guard weak_alias with #ifdef
	(__mktime64): Guard libc_hidden_def with #if _LIBC
	(__mktime64): Guard libc_hidden_weak with #if _LIBC
	(mktime): Only build when _LIBC is defined
	* time/timegm.c:
	(timegm): Only build when _LIBC is defined
---
 time/mktime.c | 15 +++------------
 time/timegm.c |  2 +-
 2 files changed, 4 insertions(+), 13 deletions(-)

Comments

Paul Eggert March 12, 2019, 12:12 a.m. UTC | #1
On 2/27/19 3:20 AM, Lukasz Majewski wrote:
> -#ifdef weak_alias
>  weak_alias (__mktime64, __timelocal64)
> -#endif

This part of the patch won't be needed if my suggestion about removing
timelocal64 (from the previous patch) is taken. Otherwise this patch
looks OK to me once the earlier patch is settled on.

Patch
diff mbox series

diff --git a/time/mktime.c b/time/mktime.c
index 5d3644e213..89293a76fb 100644
--- a/time/mktime.c
+++ b/time/mktime.c
@@ -549,18 +549,14 @@  __mktime64 (struct tm *tp)
   return mktime (tp);
 # endif
 }
-#endif /* _LIBC || NEED_MKTIME_WORKING || NEED_MKTIME_WINDOWS */
 
-#ifdef weak_alias
 weak_alias (__mktime64, __timelocal64)
-#endif
-
-#ifdef _LIBC
 libc_hidden_def (__mktime64)
 libc_hidden_weak (__timelocal64)
-#endif
 
-#if __TIMESIZE != 64
+#endif /* _LIBC || NEED_MKTIME_WORKING || NEED_MKTIME_WINDOWS */
+
+#if defined _LIBC && __TIMESIZE != 64
 
 /* The 32-bit-time wrapper.  */
 time_t
@@ -573,13 +569,8 @@  mktime (struct tm *tp)
   return -1;
 }
 
-#ifdef weak_alias
 weak_alias (mktime, timelocal)
-#endif
-
-#ifdef _LIBC
 libc_hidden_def (mktime)
 libc_hidden_weak (timelocal)
-#endif
 
 #endif
diff --git a/time/timegm.c b/time/timegm.c
index 0cbe60a7fe..f04428d032 100644
--- a/time/timegm.c
+++ b/time/timegm.c
@@ -35,7 +35,7 @@  __timegm64 (struct tm *tmp)
   return __mktime_internal (tmp, __gmtime64_r, &gmtime_offset);
 }
 
-#if __TIMESIZE != 64
+#if defined _LIBC &&  __TIMESIZE != 64
 
 time_t
 timegm (struct tm *tmp)