* secapi/_gmtime64_s.c: New file.
        * secapi/_gmtime32_s.c: New file.


git-svn-id: svn+ssh://svn.code.sf.net/p/mingw-w64/code/trunk@5345 4407c894-4637-0410-b4f5-ada5f102cad1
diff --git a/mingw-w64-crt/ChangeLog b/mingw-w64-crt/ChangeLog
index 565a7b2..5a952fd 100644
--- a/mingw-w64-crt/ChangeLog
+++ b/mingw-w64-crt/ChangeLog
@@ -1,5 +1,7 @@
 2012-08-07  Kai Tietz  <ktietz@redhat.com>
 
+	* secapi/_gmtime64_s.c: New file.
+	* secapi/_gmtime32_s.c: New file.
 	* secapi/_localtime32_s.c: New file.
 	* secapi/_localtime64_s.c: New file.
 	* secapi/_ctime64_s.c: New file.
diff --git a/mingw-w64-crt/Makefile.am b/mingw-w64-crt/Makefile.am
index e55b10e..b47e40b 100644
--- a/mingw-w64-crt/Makefile.am
+++ b/mingw-w64-crt/Makefile.am
@@ -246,7 +246,8 @@
   secapi/_wctime32_s.c secapi/_ctime32_s.c \
   secapi/_wctime64_s.c secapi/_ctime64_s.c \
   secapi/asctime_s.c secapi/_wasctime_s.c \
-  secapi/_localtime32_s.c secapi/_localtime64_s.c
+  secapi/_localtime32_s.c secapi/_localtime64_s.c \
+  secapi/_gmtime64_s.c secapi/_gmtime32_s.c
 
 # these only go into the 64 bit version:
 src_libmingwex64=\
diff --git a/mingw-w64-crt/Makefile.in b/mingw-w64-crt/Makefile.in
index 3273681..0653da1 100644
--- a/mingw-w64-crt/Makefile.in
+++ b/mingw-w64-crt/Makefile.in
@@ -487,6 +487,7 @@
 	secapi/_wctime32_s.c secapi/_ctime32_s.c secapi/_wctime64_s.c \
 	secapi/_ctime64_s.c secapi/asctime_s.c secapi/_wasctime_s.c \
 	secapi/_localtime32_s.c secapi/_localtime64_s.c \
+	secapi/_gmtime64_s.c secapi/_gmtime32_s.c \
 	intrincs/membarrier.c intrincs/readfsbyte.c \
 	intrincs/readfsword.c intrincs/readfsdword.c \
 	intrincs/writefsbyte.c intrincs/writefsword.c \
@@ -1005,7 +1006,9 @@
 	secapi/lib32_libmingwex_a-asctime_s.$(OBJEXT) \
 	secapi/lib32_libmingwex_a-_wasctime_s.$(OBJEXT) \
 	secapi/lib32_libmingwex_a-_localtime32_s.$(OBJEXT) \
-	secapi/lib32_libmingwex_a-_localtime64_s.$(OBJEXT)
+	secapi/lib32_libmingwex_a-_localtime64_s.$(OBJEXT) \
+	secapi/lib32_libmingwex_a-_gmtime64_s.$(OBJEXT) \
+	secapi/lib32_libmingwex_a-_gmtime32_s.$(OBJEXT)
 am__objects_14 = intrincs/lib32_libmingwex_a-membarrier.$(OBJEXT) \
 	intrincs/lib32_libmingwex_a-readfsbyte.$(OBJEXT) \
 	intrincs/lib32_libmingwex_a-readfsword.$(OBJEXT) \
@@ -1532,17 +1535,17 @@
 	secapi/_wctime32_s.c secapi/_ctime32_s.c secapi/_wctime64_s.c \
 	secapi/_ctime64_s.c secapi/asctime_s.c secapi/_wasctime_s.c \
 	secapi/_localtime32_s.c secapi/_localtime64_s.c \
-	intrincs/bittest64.c intrincs/bittestc64.c \
-	intrincs/bittestr64.c intrincs/bittestri64.c \
-	intrincs/bittests64.c intrincs/bittestsi64.c \
-	intrincs/bitscanfwd64.c intrincs/bitscanrev64.c \
-	intrincs/ilockadd64.c intrincs/readgsbyte.c \
-	intrincs/readgsword.c intrincs/readgsdword.c \
-	intrincs/readgsqword.c intrincs/writegsbyte.c \
-	intrincs/writegsword.c intrincs/writegsdword.c \
-	intrincs/writegsqword.c intrincs/mul128ex.c \
-	intrincs/umul128ex.c intrincs/_mul128.c intrincs/_umul128.c \
-	intrincs/__movsq.c intrincs/__stosq.c \
+	secapi/_gmtime64_s.c secapi/_gmtime32_s.c intrincs/bittest64.c \
+	intrincs/bittestc64.c intrincs/bittestr64.c \
+	intrincs/bittestri64.c intrincs/bittests64.c \
+	intrincs/bittestsi64.c intrincs/bitscanfwd64.c \
+	intrincs/bitscanrev64.c intrincs/ilockadd64.c \
+	intrincs/readgsbyte.c intrincs/readgsword.c \
+	intrincs/readgsdword.c intrincs/readgsqword.c \
+	intrincs/writegsbyte.c intrincs/writegsword.c \
+	intrincs/writegsdword.c intrincs/writegsqword.c \
+	intrincs/mul128ex.c intrincs/umul128ex.c intrincs/_mul128.c \
+	intrincs/_umul128.c intrincs/__movsq.c intrincs/__stosq.c \
 	intrincs/__shiftright128.c intrincs/__shiftleft128.c
 am__objects_38 = crt/lib64_libmingwex_a-dllentry.$(OBJEXT) \
 	crt/lib64_libmingwex_a-dllmain.$(OBJEXT) \
@@ -2058,7 +2061,9 @@
 	secapi/lib64_libmingwex_a-asctime_s.$(OBJEXT) \
 	secapi/lib64_libmingwex_a-_wasctime_s.$(OBJEXT) \
 	secapi/lib64_libmingwex_a-_localtime32_s.$(OBJEXT) \
-	secapi/lib64_libmingwex_a-_localtime64_s.$(OBJEXT)
+	secapi/lib64_libmingwex_a-_localtime64_s.$(OBJEXT) \
+	secapi/lib64_libmingwex_a-_gmtime64_s.$(OBJEXT) \
+	secapi/lib64_libmingwex_a-_gmtime32_s.$(OBJEXT)
 am__objects_39 = intrincs/lib64_libmingwex_a-bittest64.$(OBJEXT) \
 	intrincs/lib64_libmingwex_a-bittestc64.$(OBJEXT) \
 	intrincs/lib64_libmingwex_a-bittestr64.$(OBJEXT) \
@@ -3525,7 +3530,8 @@
   secapi/_wctime32_s.c secapi/_ctime32_s.c \
   secapi/_wctime64_s.c secapi/_ctime64_s.c \
   secapi/asctime_s.c secapi/_wasctime_s.c \
-  secapi/_localtime32_s.c secapi/_localtime64_s.c
+  secapi/_localtime32_s.c secapi/_localtime64_s.c \
+  secapi/_gmtime64_s.c secapi/_gmtime32_s.c
 
 
 # these only go into the 64 bit version:
@@ -5831,6 +5837,10 @@
 	secapi/$(am__dirstamp) secapi/$(DEPDIR)/$(am__dirstamp)
 secapi/lib32_libmingwex_a-_localtime64_s.$(OBJEXT):  \
 	secapi/$(am__dirstamp) secapi/$(DEPDIR)/$(am__dirstamp)
+secapi/lib32_libmingwex_a-_gmtime64_s.$(OBJEXT):  \
+	secapi/$(am__dirstamp) secapi/$(DEPDIR)/$(am__dirstamp)
+secapi/lib32_libmingwex_a-_gmtime32_s.$(OBJEXT):  \
+	secapi/$(am__dirstamp) secapi/$(DEPDIR)/$(am__dirstamp)
 intrincs/lib32_libmingwex_a-membarrier.$(OBJEXT):  \
 	intrincs/$(am__dirstamp) intrincs/$(DEPDIR)/$(am__dirstamp)
 intrincs/lib32_libmingwex_a-readfsbyte.$(OBJEXT):  \
@@ -7324,6 +7334,10 @@
 	secapi/$(am__dirstamp) secapi/$(DEPDIR)/$(am__dirstamp)
 secapi/lib64_libmingwex_a-_localtime64_s.$(OBJEXT):  \
 	secapi/$(am__dirstamp) secapi/$(DEPDIR)/$(am__dirstamp)
+secapi/lib64_libmingwex_a-_gmtime64_s.$(OBJEXT):  \
+	secapi/$(am__dirstamp) secapi/$(DEPDIR)/$(am__dirstamp)
+secapi/lib64_libmingwex_a-_gmtime32_s.$(OBJEXT):  \
+	secapi/$(am__dirstamp) secapi/$(DEPDIR)/$(am__dirstamp)
 intrincs/lib64_libmingwex_a-bittest64.$(OBJEXT):  \
 	intrincs/$(am__dirstamp) intrincs/$(DEPDIR)/$(am__dirstamp)
 intrincs/lib64_libmingwex_a-bittestc64.$(OBJEXT):  \
@@ -9638,6 +9652,8 @@
 	-rm -f secapi/lib32_libmingwex_a-_ctime64_s.$(OBJEXT)
 	-rm -f secapi/lib32_libmingwex_a-_cwprintf_s.$(OBJEXT)
 	-rm -f secapi/lib32_libmingwex_a-_cwprintf_s_l.$(OBJEXT)
+	-rm -f secapi/lib32_libmingwex_a-_gmtime32_s.$(OBJEXT)
+	-rm -f secapi/lib32_libmingwex_a-_gmtime64_s.$(OBJEXT)
 	-rm -f secapi/lib32_libmingwex_a-_localtime32_s.$(OBJEXT)
 	-rm -f secapi/lib32_libmingwex_a-_localtime64_s.$(OBJEXT)
 	-rm -f secapi/lib32_libmingwex_a-_mktemp_s.$(OBJEXT)
@@ -9662,6 +9678,8 @@
 	-rm -f secapi/lib64_libmingwex_a-_ctime64_s.$(OBJEXT)
 	-rm -f secapi/lib64_libmingwex_a-_cwprintf_s.$(OBJEXT)
 	-rm -f secapi/lib64_libmingwex_a-_cwprintf_s_l.$(OBJEXT)
+	-rm -f secapi/lib64_libmingwex_a-_gmtime32_s.$(OBJEXT)
+	-rm -f secapi/lib64_libmingwex_a-_gmtime64_s.$(OBJEXT)
 	-rm -f secapi/lib64_libmingwex_a-_localtime32_s.$(OBJEXT)
 	-rm -f secapi/lib64_libmingwex_a-_localtime64_s.$(OBJEXT)
 	-rm -f secapi/lib64_libmingwex_a-_mktemp_s.$(OBJEXT)
@@ -11202,6 +11220,8 @@
 @AMDEP_TRUE@@am__include@ @am__quote@secapi/$(DEPDIR)/lib32_libmingwex_a-_ctime64_s.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@secapi/$(DEPDIR)/lib32_libmingwex_a-_cwprintf_s.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@secapi/$(DEPDIR)/lib32_libmingwex_a-_cwprintf_s_l.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@secapi/$(DEPDIR)/lib32_libmingwex_a-_gmtime32_s.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@secapi/$(DEPDIR)/lib32_libmingwex_a-_gmtime64_s.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@secapi/$(DEPDIR)/lib32_libmingwex_a-_localtime32_s.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@secapi/$(DEPDIR)/lib32_libmingwex_a-_localtime64_s.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@secapi/$(DEPDIR)/lib32_libmingwex_a-_mktemp_s.Po@am__quote@
@@ -11226,6 +11246,8 @@
 @AMDEP_TRUE@@am__include@ @am__quote@secapi/$(DEPDIR)/lib64_libmingwex_a-_ctime64_s.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@secapi/$(DEPDIR)/lib64_libmingwex_a-_cwprintf_s.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@secapi/$(DEPDIR)/lib64_libmingwex_a-_cwprintf_s_l.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@secapi/$(DEPDIR)/lib64_libmingwex_a-_gmtime32_s.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@secapi/$(DEPDIR)/lib64_libmingwex_a-_gmtime64_s.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@secapi/$(DEPDIR)/lib64_libmingwex_a-_localtime32_s.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@secapi/$(DEPDIR)/lib64_libmingwex_a-_localtime64_s.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@secapi/$(DEPDIR)/lib64_libmingwex_a-_mktemp_s.Po@am__quote@
@@ -20295,6 +20317,34 @@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o secapi/lib32_libmingwex_a-_localtime64_s.obj `if test -f 'secapi/_localtime64_s.c'; then $(CYGPATH_W) 'secapi/_localtime64_s.c'; else $(CYGPATH_W) '$(srcdir)/secapi/_localtime64_s.c'; fi`
 
+secapi/lib32_libmingwex_a-_gmtime64_s.o: secapi/_gmtime64_s.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT secapi/lib32_libmingwex_a-_gmtime64_s.o -MD -MP -MF secapi/$(DEPDIR)/lib32_libmingwex_a-_gmtime64_s.Tpo -c -o secapi/lib32_libmingwex_a-_gmtime64_s.o `test -f 'secapi/_gmtime64_s.c' || echo '$(srcdir)/'`secapi/_gmtime64_s.c
+@am__fastdepCC_TRUE@	$(am__mv) secapi/$(DEPDIR)/lib32_libmingwex_a-_gmtime64_s.Tpo secapi/$(DEPDIR)/lib32_libmingwex_a-_gmtime64_s.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='secapi/_gmtime64_s.c' object='secapi/lib32_libmingwex_a-_gmtime64_s.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o secapi/lib32_libmingwex_a-_gmtime64_s.o `test -f 'secapi/_gmtime64_s.c' || echo '$(srcdir)/'`secapi/_gmtime64_s.c
+
+secapi/lib32_libmingwex_a-_gmtime64_s.obj: secapi/_gmtime64_s.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT secapi/lib32_libmingwex_a-_gmtime64_s.obj -MD -MP -MF secapi/$(DEPDIR)/lib32_libmingwex_a-_gmtime64_s.Tpo -c -o secapi/lib32_libmingwex_a-_gmtime64_s.obj `if test -f 'secapi/_gmtime64_s.c'; then $(CYGPATH_W) 'secapi/_gmtime64_s.c'; else $(CYGPATH_W) '$(srcdir)/secapi/_gmtime64_s.c'; fi`
+@am__fastdepCC_TRUE@	$(am__mv) secapi/$(DEPDIR)/lib32_libmingwex_a-_gmtime64_s.Tpo secapi/$(DEPDIR)/lib32_libmingwex_a-_gmtime64_s.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='secapi/_gmtime64_s.c' object='secapi/lib32_libmingwex_a-_gmtime64_s.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o secapi/lib32_libmingwex_a-_gmtime64_s.obj `if test -f 'secapi/_gmtime64_s.c'; then $(CYGPATH_W) 'secapi/_gmtime64_s.c'; else $(CYGPATH_W) '$(srcdir)/secapi/_gmtime64_s.c'; fi`
+
+secapi/lib32_libmingwex_a-_gmtime32_s.o: secapi/_gmtime32_s.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT secapi/lib32_libmingwex_a-_gmtime32_s.o -MD -MP -MF secapi/$(DEPDIR)/lib32_libmingwex_a-_gmtime32_s.Tpo -c -o secapi/lib32_libmingwex_a-_gmtime32_s.o `test -f 'secapi/_gmtime32_s.c' || echo '$(srcdir)/'`secapi/_gmtime32_s.c
+@am__fastdepCC_TRUE@	$(am__mv) secapi/$(DEPDIR)/lib32_libmingwex_a-_gmtime32_s.Tpo secapi/$(DEPDIR)/lib32_libmingwex_a-_gmtime32_s.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='secapi/_gmtime32_s.c' object='secapi/lib32_libmingwex_a-_gmtime32_s.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o secapi/lib32_libmingwex_a-_gmtime32_s.o `test -f 'secapi/_gmtime32_s.c' || echo '$(srcdir)/'`secapi/_gmtime32_s.c
+
+secapi/lib32_libmingwex_a-_gmtime32_s.obj: secapi/_gmtime32_s.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT secapi/lib32_libmingwex_a-_gmtime32_s.obj -MD -MP -MF secapi/$(DEPDIR)/lib32_libmingwex_a-_gmtime32_s.Tpo -c -o secapi/lib32_libmingwex_a-_gmtime32_s.obj `if test -f 'secapi/_gmtime32_s.c'; then $(CYGPATH_W) 'secapi/_gmtime32_s.c'; else $(CYGPATH_W) '$(srcdir)/secapi/_gmtime32_s.c'; fi`
+@am__fastdepCC_TRUE@	$(am__mv) secapi/$(DEPDIR)/lib32_libmingwex_a-_gmtime32_s.Tpo secapi/$(DEPDIR)/lib32_libmingwex_a-_gmtime32_s.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='secapi/_gmtime32_s.c' object='secapi/lib32_libmingwex_a-_gmtime32_s.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o secapi/lib32_libmingwex_a-_gmtime32_s.obj `if test -f 'secapi/_gmtime32_s.c'; then $(CYGPATH_W) 'secapi/_gmtime32_s.c'; else $(CYGPATH_W) '$(srcdir)/secapi/_gmtime32_s.c'; fi`
+
 intrincs/lib32_libmingwex_a-membarrier.o: intrincs/membarrier.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT intrincs/lib32_libmingwex_a-membarrier.o -MD -MP -MF intrincs/$(DEPDIR)/lib32_libmingwex_a-membarrier.Tpo -c -o intrincs/lib32_libmingwex_a-membarrier.o `test -f 'intrincs/membarrier.c' || echo '$(srcdir)/'`intrincs/membarrier.c
 @am__fastdepCC_TRUE@	$(am__mv) intrincs/$(DEPDIR)/lib32_libmingwex_a-membarrier.Tpo intrincs/$(DEPDIR)/lib32_libmingwex_a-membarrier.Po
@@ -28989,6 +29039,34 @@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o secapi/lib64_libmingwex_a-_localtime64_s.obj `if test -f 'secapi/_localtime64_s.c'; then $(CYGPATH_W) 'secapi/_localtime64_s.c'; else $(CYGPATH_W) '$(srcdir)/secapi/_localtime64_s.c'; fi`
 
+secapi/lib64_libmingwex_a-_gmtime64_s.o: secapi/_gmtime64_s.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT secapi/lib64_libmingwex_a-_gmtime64_s.o -MD -MP -MF secapi/$(DEPDIR)/lib64_libmingwex_a-_gmtime64_s.Tpo -c -o secapi/lib64_libmingwex_a-_gmtime64_s.o `test -f 'secapi/_gmtime64_s.c' || echo '$(srcdir)/'`secapi/_gmtime64_s.c
+@am__fastdepCC_TRUE@	$(am__mv) secapi/$(DEPDIR)/lib64_libmingwex_a-_gmtime64_s.Tpo secapi/$(DEPDIR)/lib64_libmingwex_a-_gmtime64_s.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='secapi/_gmtime64_s.c' object='secapi/lib64_libmingwex_a-_gmtime64_s.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o secapi/lib64_libmingwex_a-_gmtime64_s.o `test -f 'secapi/_gmtime64_s.c' || echo '$(srcdir)/'`secapi/_gmtime64_s.c
+
+secapi/lib64_libmingwex_a-_gmtime64_s.obj: secapi/_gmtime64_s.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT secapi/lib64_libmingwex_a-_gmtime64_s.obj -MD -MP -MF secapi/$(DEPDIR)/lib64_libmingwex_a-_gmtime64_s.Tpo -c -o secapi/lib64_libmingwex_a-_gmtime64_s.obj `if test -f 'secapi/_gmtime64_s.c'; then $(CYGPATH_W) 'secapi/_gmtime64_s.c'; else $(CYGPATH_W) '$(srcdir)/secapi/_gmtime64_s.c'; fi`
+@am__fastdepCC_TRUE@	$(am__mv) secapi/$(DEPDIR)/lib64_libmingwex_a-_gmtime64_s.Tpo secapi/$(DEPDIR)/lib64_libmingwex_a-_gmtime64_s.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='secapi/_gmtime64_s.c' object='secapi/lib64_libmingwex_a-_gmtime64_s.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o secapi/lib64_libmingwex_a-_gmtime64_s.obj `if test -f 'secapi/_gmtime64_s.c'; then $(CYGPATH_W) 'secapi/_gmtime64_s.c'; else $(CYGPATH_W) '$(srcdir)/secapi/_gmtime64_s.c'; fi`
+
+secapi/lib64_libmingwex_a-_gmtime32_s.o: secapi/_gmtime32_s.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT secapi/lib64_libmingwex_a-_gmtime32_s.o -MD -MP -MF secapi/$(DEPDIR)/lib64_libmingwex_a-_gmtime32_s.Tpo -c -o secapi/lib64_libmingwex_a-_gmtime32_s.o `test -f 'secapi/_gmtime32_s.c' || echo '$(srcdir)/'`secapi/_gmtime32_s.c
+@am__fastdepCC_TRUE@	$(am__mv) secapi/$(DEPDIR)/lib64_libmingwex_a-_gmtime32_s.Tpo secapi/$(DEPDIR)/lib64_libmingwex_a-_gmtime32_s.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='secapi/_gmtime32_s.c' object='secapi/lib64_libmingwex_a-_gmtime32_s.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o secapi/lib64_libmingwex_a-_gmtime32_s.o `test -f 'secapi/_gmtime32_s.c' || echo '$(srcdir)/'`secapi/_gmtime32_s.c
+
+secapi/lib64_libmingwex_a-_gmtime32_s.obj: secapi/_gmtime32_s.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT secapi/lib64_libmingwex_a-_gmtime32_s.obj -MD -MP -MF secapi/$(DEPDIR)/lib64_libmingwex_a-_gmtime32_s.Tpo -c -o secapi/lib64_libmingwex_a-_gmtime32_s.obj `if test -f 'secapi/_gmtime32_s.c'; then $(CYGPATH_W) 'secapi/_gmtime32_s.c'; else $(CYGPATH_W) '$(srcdir)/secapi/_gmtime32_s.c'; fi`
+@am__fastdepCC_TRUE@	$(am__mv) secapi/$(DEPDIR)/lib64_libmingwex_a-_gmtime32_s.Tpo secapi/$(DEPDIR)/lib64_libmingwex_a-_gmtime32_s.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='secapi/_gmtime32_s.c' object='secapi/lib64_libmingwex_a-_gmtime32_s.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o secapi/lib64_libmingwex_a-_gmtime32_s.obj `if test -f 'secapi/_gmtime32_s.c'; then $(CYGPATH_W) 'secapi/_gmtime32_s.c'; else $(CYGPATH_W) '$(srcdir)/secapi/_gmtime32_s.c'; fi`
+
 intrincs/lib64_libmingwex_a-bittest64.o: intrincs/bittest64.c
 @am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT intrincs/lib64_libmingwex_a-bittest64.o -MD -MP -MF intrincs/$(DEPDIR)/lib64_libmingwex_a-bittest64.Tpo -c -o intrincs/lib64_libmingwex_a-bittest64.o `test -f 'intrincs/bittest64.c' || echo '$(srcdir)/'`intrincs/bittest64.c
 @am__fastdepCC_TRUE@	$(am__mv) intrincs/$(DEPDIR)/lib64_libmingwex_a-bittest64.Tpo intrincs/$(DEPDIR)/lib64_libmingwex_a-bittest64.Po
diff --git a/mingw-w64-crt/lib32/msvcrt.def b/mingw-w64-crt/lib32/msvcrt.def
index 3cb9105..b22ff0a 100644
--- a/mingw-w64-crt/lib32/msvcrt.def
+++ b/mingw-w64-crt/lib32/msvcrt.def
@@ -848,8 +848,8 @@
 _fwscanf_l
 _fwscanf_s_l
 _gcvt_s
-_gmtime32_s
-_gmtime64_s
+; _gmtime32_s replaced by emu
+; _gmtime64_s replaced by emu
 _i64toa_s
 _i64tow_s
 _isalnum_l
diff --git a/mingw-w64-crt/lib64/msvcrt.def b/mingw-w64-crt/lib64/msvcrt.def
index d86f0c8..e5215c1 100644
--- a/mingw-w64-crt/lib64/msvcrt.def
+++ b/mingw-w64-crt/lib64/msvcrt.def
@@ -351,9 +351,9 @@
 _getwch
 _getwche
 _getws
-_gmtime32_s
+; _gmtime32_s replaced by emu
 _gmtime64
-_gmtime64_s
+; _gmtime64_s replaced by emu
 _heapadd
 _heapchk
 _heapmin
diff --git a/mingw-w64-crt/secapi/_gmtime32_s.c b/mingw-w64-crt/secapi/_gmtime32_s.c
new file mode 100644
index 0000000..fe6e48a
--- /dev/null
+++ b/mingw-w64-crt/secapi/_gmtime32_s.c
@@ -0,0 +1,54 @@
+#include <windows.h>
+#include <malloc.h>
+#include <time.h>
+#include <errno.h>
+
+HMODULE __mingw_get_msvcrt_handle (void);
+/* struct tm * __cdecl _gmtime32 (const __time32_t *); */
+errno_t __cdecl _gmtime32_s (struct tm *, const __time32_t *);
+static errno_t __cdecl _int_gmtime32_s (struct tm *, const __time32_t *);
+static errno_t __cdecl _stub (struct tm *, const __time32_t *);
+
+errno_t __cdecl (*__MINGW_IMP_SYMBOL(_gmtime32_s))(struct tm *, const __time32_t *) = 
+ _stub;
+
+static errno_t __cdecl
+_stub (struct tm *ptm, const __time32_t *pt)
+{
+  errno_t __cdecl (*f)(struct tm *, const __time32_t *) = __MINGW_IMP_SYMBOL(_gmtime32_s);
+
+  if (f == _stub)
+    {
+	f = (errno_t __cdecl (*)(struct tm *, const __time32_t *))
+	    GetProcAddress (__mingw_get_msvcrt_handle (), "_gmtime32_s");
+	if (!f)
+	  f = _int_gmtime32_s;
+	__MINGW_IMP_SYMBOL(_gmtime32_s) = f;
+    }
+  return (*f)(ptm, pt);
+}
+
+errno_t __cdecl
+_gmtime32_s (struct tm *ptm, const __time32_t *pt)
+{
+  return _stub (ptm, pt);
+}
+
+static errno_t __cdecl
+_int_gmtime32_s (struct tm *ptm, const __time32_t *pt)
+{
+  struct tm *ltm;
+  errno_t e;
+
+  if (ptm)
+    memset (ptm, 0xff, sizeof (*ptm));
+  if (!ptm || !pt)
+     {
+        errno = EINVAL;
+	return EINVAL;
+     }
+  if ((ltm = _gmtime32 (pt)) == NULL)
+    return errno;
+  *ptm = *ltm;
+  return 0;
+}
diff --git a/mingw-w64-crt/secapi/_gmtime64_s.c b/mingw-w64-crt/secapi/_gmtime64_s.c
new file mode 100644
index 0000000..b1e81f1
--- /dev/null
+++ b/mingw-w64-crt/secapi/_gmtime64_s.c
@@ -0,0 +1,54 @@
+#include <windows.h>
+#include <malloc.h>
+#include <time.h>
+#include <errno.h>
+
+HMODULE __mingw_get_msvcrt_handle (void);
+/* struct tm * __cdecl _gmtime64 (const __time64_t *); */
+errno_t __cdecl _gmtime64_s (struct tm *, const __time64_t *);
+static errno_t __cdecl _int_gmtime64_s (struct tm *, const __time64_t *);
+static errno_t __cdecl _stub (struct tm *, const __time64_t *);
+
+errno_t __cdecl (*__MINGW_IMP_SYMBOL(_gmtime64_s))(struct tm *, const __time64_t *) = 
+ _stub;
+
+static errno_t __cdecl
+_stub (struct tm *ptm, const __time64_t *pt)
+{
+  errno_t __cdecl (*f)(struct tm *, const __time64_t *) = __MINGW_IMP_SYMBOL(_gmtime64_s);
+
+  if (f == _stub)
+    {
+	f = (errno_t __cdecl (*)(struct tm *, const __time64_t *))
+	    GetProcAddress (__mingw_get_msvcrt_handle (), "_gmtime64_s");
+	if (!f)
+	  f = _int_gmtime64_s;
+	__MINGW_IMP_SYMBOL(_gmtime64_s) = f;
+    }
+  return (*f)(ptm, pt);
+}
+
+errno_t __cdecl
+_gmtime64_s (struct tm *ptm, const __time64_t *pt)
+{
+  return _stub (ptm, pt);
+}
+
+static errno_t __cdecl
+_int_gmtime64_s (struct tm *ptm, const __time64_t *pt)
+{
+  struct tm *ltm;
+  errno_t e;
+
+  if (ptm)
+    memset (ptm, 0xff, sizeof (*ptm));
+  if (!ptm || !pt)
+     {
+        errno = EINVAL;
+	return EINVAL;
+     }
+  if ((ltm = _gmtime64 (pt)) == NULL)
+    return errno;
+  *ptm = *ltm;
+  return 0;
+}
diff --git a/mingw-w64-headers/crt/sec_api/time_s.h b/mingw-w64-headers/crt/sec_api/time_s.h
index 2bca0e8..1d377c3 100644
--- a/mingw-w64-headers/crt/sec_api/time_s.h
+++ b/mingw-w64-headers/crt/sec_api/time_s.h
@@ -15,13 +15,13 @@
 #endif
 
   errno_t __cdecl _ctime32_s (char *_Buf,size_t _SizeInBytes,const __time32_t *_Time);
-  _CRTIMP errno_t __cdecl _gmtime32_s(struct tm *_Tm,const __time32_t *_Time);
+  errno_t __cdecl _gmtime32_s (struct tm *_Tm,const __time32_t *_Time);
   errno_t __cdecl _localtime32_s (struct tm *_Tm,const __time32_t *_Time);
   errno_t __cdecl asctime_s (char *_Buf,size_t _SizeInWords,const struct tm *_Tm);
   _CRTIMP errno_t __cdecl _strdate_s(char *_Buf,size_t _SizeInBytes);
   _CRTIMP errno_t __cdecl _strtime_s(char *_Buf ,size_t _SizeInBytes);
   errno_t __cdecl _ctime64_s (char *_Buf,size_t _SizeInBytes,const __time64_t *_Time);
-  _CRTIMP errno_t __cdecl _gmtime64_s(struct tm *_Tm,const __time64_t *_Time);
+  errno_t __cdecl _gmtime64_s (struct tm *_Tm,const __time64_t *_Time);
   errno_t __cdecl _localtime64_s (struct tm *_Tm,const __time64_t *_Time);
 
 #ifndef _WTIME_S_DEFINED