* secapi/_localtime32_s.c: New file.
        * secapi/_localtime64_s.c: New file.


git-svn-id: svn+ssh://svn.code.sf.net/p/mingw-w64/code/trunk@5342 4407c894-4637-0410-b4f5-ada5f102cad1
diff --git a/mingw-w64-crt/ChangeLog b/mingw-w64-crt/ChangeLog
index 587ae4a..565a7b2 100644
--- a/mingw-w64-crt/ChangeLog
+++ b/mingw-w64-crt/ChangeLog
@@ -1,5 +1,7 @@
 2012-08-07  Kai Tietz  <ktietz@redhat.com>
 
+	* secapi/_localtime32_s.c: New file.
+	* secapi/_localtime64_s.c: New file.
 	* secapi/_ctime64_s.c: New file.
 	* secapi/_wctime64_s.c: New file.
 	* Makefile.am: Add new files.
diff --git a/mingw-w64-crt/Makefile.am b/mingw-w64-crt/Makefile.am
index 7bc9e92..e55b10e 100644
--- a/mingw-w64-crt/Makefile.am
+++ b/mingw-w64-crt/Makefile.am
@@ -245,7 +245,8 @@
   secapi/_umask_s.c \
   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/asctime_s.c secapi/_wasctime_s.c \
+  secapi/_localtime32_s.c secapi/_localtime64_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 dd92164..3273681 100644
--- a/mingw-w64-crt/Makefile.in
+++ b/mingw-w64-crt/Makefile.in
@@ -486,6 +486,7 @@
 	secapi/_mktemp_s.c secapi/_wmktemp_s.c secapi/_umask_s.c \
 	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/membarrier.c intrincs/readfsbyte.c \
 	intrincs/readfsword.c intrincs/readfsdword.c \
 	intrincs/writefsbyte.c intrincs/writefsword.c \
@@ -1002,7 +1003,9 @@
 	secapi/lib32_libmingwex_a-_wctime64_s.$(OBJEXT) \
 	secapi/lib32_libmingwex_a-_ctime64_s.$(OBJEXT) \
 	secapi/lib32_libmingwex_a-asctime_s.$(OBJEXT) \
-	secapi/lib32_libmingwex_a-_wasctime_s.$(OBJEXT)
+	secapi/lib32_libmingwex_a-_wasctime_s.$(OBJEXT) \
+	secapi/lib32_libmingwex_a-_localtime32_s.$(OBJEXT) \
+	secapi/lib32_libmingwex_a-_localtime64_s.$(OBJEXT)
 am__objects_14 = intrincs/lib32_libmingwex_a-membarrier.$(OBJEXT) \
 	intrincs/lib32_libmingwex_a-readfsbyte.$(OBJEXT) \
 	intrincs/lib32_libmingwex_a-readfsword.$(OBJEXT) \
@@ -1528,6 +1531,7 @@
 	secapi/_mktemp_s.c secapi/_wmktemp_s.c secapi/_umask_s.c \
 	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 \
@@ -2052,7 +2056,9 @@
 	secapi/lib64_libmingwex_a-_wctime64_s.$(OBJEXT) \
 	secapi/lib64_libmingwex_a-_ctime64_s.$(OBJEXT) \
 	secapi/lib64_libmingwex_a-asctime_s.$(OBJEXT) \
-	secapi/lib64_libmingwex_a-_wasctime_s.$(OBJEXT)
+	secapi/lib64_libmingwex_a-_wasctime_s.$(OBJEXT) \
+	secapi/lib64_libmingwex_a-_localtime32_s.$(OBJEXT) \
+	secapi/lib64_libmingwex_a-_localtime64_s.$(OBJEXT)
 am__objects_39 = intrincs/lib64_libmingwex_a-bittest64.$(OBJEXT) \
 	intrincs/lib64_libmingwex_a-bittestc64.$(OBJEXT) \
 	intrincs/lib64_libmingwex_a-bittestr64.$(OBJEXT) \
@@ -3518,7 +3524,8 @@
   secapi/_umask_s.c \
   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/asctime_s.c secapi/_wasctime_s.c \
+  secapi/_localtime32_s.c secapi/_localtime64_s.c
 
 
 # these only go into the 64 bit version:
@@ -5820,6 +5827,10 @@
 	secapi/$(DEPDIR)/$(am__dirstamp)
 secapi/lib32_libmingwex_a-_wasctime_s.$(OBJEXT):  \
 	secapi/$(am__dirstamp) secapi/$(DEPDIR)/$(am__dirstamp)
+secapi/lib32_libmingwex_a-_localtime32_s.$(OBJEXT):  \
+	secapi/$(am__dirstamp) secapi/$(DEPDIR)/$(am__dirstamp)
+secapi/lib32_libmingwex_a-_localtime64_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):  \
@@ -7309,6 +7320,10 @@
 	secapi/$(DEPDIR)/$(am__dirstamp)
 secapi/lib64_libmingwex_a-_wasctime_s.$(OBJEXT):  \
 	secapi/$(am__dirstamp) secapi/$(DEPDIR)/$(am__dirstamp)
+secapi/lib64_libmingwex_a-_localtime32_s.$(OBJEXT):  \
+	secapi/$(am__dirstamp) secapi/$(DEPDIR)/$(am__dirstamp)
+secapi/lib64_libmingwex_a-_localtime64_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):  \
@@ -9623,6 +9638,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-_localtime32_s.$(OBJEXT)
+	-rm -f secapi/lib32_libmingwex_a-_localtime64_s.$(OBJEXT)
 	-rm -f secapi/lib32_libmingwex_a-_mktemp_s.$(OBJEXT)
 	-rm -f secapi/lib32_libmingwex_a-_umask_s.$(OBJEXT)
 	-rm -f secapi/lib32_libmingwex_a-_vcprintf_s.$(OBJEXT)
@@ -9645,6 +9662,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-_localtime32_s.$(OBJEXT)
+	-rm -f secapi/lib64_libmingwex_a-_localtime64_s.$(OBJEXT)
 	-rm -f secapi/lib64_libmingwex_a-_mktemp_s.$(OBJEXT)
 	-rm -f secapi/lib64_libmingwex_a-_umask_s.$(OBJEXT)
 	-rm -f secapi/lib64_libmingwex_a-_vcprintf_s.$(OBJEXT)
@@ -11183,6 +11202,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-_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@
 @AMDEP_TRUE@@am__include@ @am__quote@secapi/$(DEPDIR)/lib32_libmingwex_a-_umask_s.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@secapi/$(DEPDIR)/lib32_libmingwex_a-_vcprintf_s.Po@am__quote@
@@ -11205,6 +11226,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-_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@
 @AMDEP_TRUE@@am__include@ @am__quote@secapi/$(DEPDIR)/lib64_libmingwex_a-_umask_s.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@secapi/$(DEPDIR)/lib64_libmingwex_a-_vcprintf_s.Po@am__quote@
@@ -20244,6 +20267,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-_wasctime_s.obj `if test -f 'secapi/_wasctime_s.c'; then $(CYGPATH_W) 'secapi/_wasctime_s.c'; else $(CYGPATH_W) '$(srcdir)/secapi/_wasctime_s.c'; fi`
 
+secapi/lib32_libmingwex_a-_localtime32_s.o: secapi/_localtime32_s.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT secapi/lib32_libmingwex_a-_localtime32_s.o -MD -MP -MF secapi/$(DEPDIR)/lib32_libmingwex_a-_localtime32_s.Tpo -c -o secapi/lib32_libmingwex_a-_localtime32_s.o `test -f 'secapi/_localtime32_s.c' || echo '$(srcdir)/'`secapi/_localtime32_s.c
+@am__fastdepCC_TRUE@	$(am__mv) secapi/$(DEPDIR)/lib32_libmingwex_a-_localtime32_s.Tpo secapi/$(DEPDIR)/lib32_libmingwex_a-_localtime32_s.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='secapi/_localtime32_s.c' object='secapi/lib32_libmingwex_a-_localtime32_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-_localtime32_s.o `test -f 'secapi/_localtime32_s.c' || echo '$(srcdir)/'`secapi/_localtime32_s.c
+
+secapi/lib32_libmingwex_a-_localtime32_s.obj: secapi/_localtime32_s.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT secapi/lib32_libmingwex_a-_localtime32_s.obj -MD -MP -MF secapi/$(DEPDIR)/lib32_libmingwex_a-_localtime32_s.Tpo -c -o secapi/lib32_libmingwex_a-_localtime32_s.obj `if test -f 'secapi/_localtime32_s.c'; then $(CYGPATH_W) 'secapi/_localtime32_s.c'; else $(CYGPATH_W) '$(srcdir)/secapi/_localtime32_s.c'; fi`
+@am__fastdepCC_TRUE@	$(am__mv) secapi/$(DEPDIR)/lib32_libmingwex_a-_localtime32_s.Tpo secapi/$(DEPDIR)/lib32_libmingwex_a-_localtime32_s.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='secapi/_localtime32_s.c' object='secapi/lib32_libmingwex_a-_localtime32_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-_localtime32_s.obj `if test -f 'secapi/_localtime32_s.c'; then $(CYGPATH_W) 'secapi/_localtime32_s.c'; else $(CYGPATH_W) '$(srcdir)/secapi/_localtime32_s.c'; fi`
+
+secapi/lib32_libmingwex_a-_localtime64_s.o: secapi/_localtime64_s.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT secapi/lib32_libmingwex_a-_localtime64_s.o -MD -MP -MF secapi/$(DEPDIR)/lib32_libmingwex_a-_localtime64_s.Tpo -c -o secapi/lib32_libmingwex_a-_localtime64_s.o `test -f 'secapi/_localtime64_s.c' || echo '$(srcdir)/'`secapi/_localtime64_s.c
+@am__fastdepCC_TRUE@	$(am__mv) secapi/$(DEPDIR)/lib32_libmingwex_a-_localtime64_s.Tpo secapi/$(DEPDIR)/lib32_libmingwex_a-_localtime64_s.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='secapi/_localtime64_s.c' object='secapi/lib32_libmingwex_a-_localtime64_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-_localtime64_s.o `test -f 'secapi/_localtime64_s.c' || echo '$(srcdir)/'`secapi/_localtime64_s.c
+
+secapi/lib32_libmingwex_a-_localtime64_s.obj: secapi/_localtime64_s.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT secapi/lib32_libmingwex_a-_localtime64_s.obj -MD -MP -MF secapi/$(DEPDIR)/lib32_libmingwex_a-_localtime64_s.Tpo -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`
+@am__fastdepCC_TRUE@	$(am__mv) secapi/$(DEPDIR)/lib32_libmingwex_a-_localtime64_s.Tpo secapi/$(DEPDIR)/lib32_libmingwex_a-_localtime64_s.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='secapi/_localtime64_s.c' object='secapi/lib32_libmingwex_a-_localtime64_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-_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`
+
 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
@@ -28910,6 +28961,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-_wasctime_s.obj `if test -f 'secapi/_wasctime_s.c'; then $(CYGPATH_W) 'secapi/_wasctime_s.c'; else $(CYGPATH_W) '$(srcdir)/secapi/_wasctime_s.c'; fi`
 
+secapi/lib64_libmingwex_a-_localtime32_s.o: secapi/_localtime32_s.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT secapi/lib64_libmingwex_a-_localtime32_s.o -MD -MP -MF secapi/$(DEPDIR)/lib64_libmingwex_a-_localtime32_s.Tpo -c -o secapi/lib64_libmingwex_a-_localtime32_s.o `test -f 'secapi/_localtime32_s.c' || echo '$(srcdir)/'`secapi/_localtime32_s.c
+@am__fastdepCC_TRUE@	$(am__mv) secapi/$(DEPDIR)/lib64_libmingwex_a-_localtime32_s.Tpo secapi/$(DEPDIR)/lib64_libmingwex_a-_localtime32_s.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='secapi/_localtime32_s.c' object='secapi/lib64_libmingwex_a-_localtime32_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-_localtime32_s.o `test -f 'secapi/_localtime32_s.c' || echo '$(srcdir)/'`secapi/_localtime32_s.c
+
+secapi/lib64_libmingwex_a-_localtime32_s.obj: secapi/_localtime32_s.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT secapi/lib64_libmingwex_a-_localtime32_s.obj -MD -MP -MF secapi/$(DEPDIR)/lib64_libmingwex_a-_localtime32_s.Tpo -c -o secapi/lib64_libmingwex_a-_localtime32_s.obj `if test -f 'secapi/_localtime32_s.c'; then $(CYGPATH_W) 'secapi/_localtime32_s.c'; else $(CYGPATH_W) '$(srcdir)/secapi/_localtime32_s.c'; fi`
+@am__fastdepCC_TRUE@	$(am__mv) secapi/$(DEPDIR)/lib64_libmingwex_a-_localtime32_s.Tpo secapi/$(DEPDIR)/lib64_libmingwex_a-_localtime32_s.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='secapi/_localtime32_s.c' object='secapi/lib64_libmingwex_a-_localtime32_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-_localtime32_s.obj `if test -f 'secapi/_localtime32_s.c'; then $(CYGPATH_W) 'secapi/_localtime32_s.c'; else $(CYGPATH_W) '$(srcdir)/secapi/_localtime32_s.c'; fi`
+
+secapi/lib64_libmingwex_a-_localtime64_s.o: secapi/_localtime64_s.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT secapi/lib64_libmingwex_a-_localtime64_s.o -MD -MP -MF secapi/$(DEPDIR)/lib64_libmingwex_a-_localtime64_s.Tpo -c -o secapi/lib64_libmingwex_a-_localtime64_s.o `test -f 'secapi/_localtime64_s.c' || echo '$(srcdir)/'`secapi/_localtime64_s.c
+@am__fastdepCC_TRUE@	$(am__mv) secapi/$(DEPDIR)/lib64_libmingwex_a-_localtime64_s.Tpo secapi/$(DEPDIR)/lib64_libmingwex_a-_localtime64_s.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='secapi/_localtime64_s.c' object='secapi/lib64_libmingwex_a-_localtime64_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-_localtime64_s.o `test -f 'secapi/_localtime64_s.c' || echo '$(srcdir)/'`secapi/_localtime64_s.c
+
+secapi/lib64_libmingwex_a-_localtime64_s.obj: secapi/_localtime64_s.c
+@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmingwex_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT secapi/lib64_libmingwex_a-_localtime64_s.obj -MD -MP -MF secapi/$(DEPDIR)/lib64_libmingwex_a-_localtime64_s.Tpo -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`
+@am__fastdepCC_TRUE@	$(am__mv) secapi/$(DEPDIR)/lib64_libmingwex_a-_localtime64_s.Tpo secapi/$(DEPDIR)/lib64_libmingwex_a-_localtime64_s.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='secapi/_localtime64_s.c' object='secapi/lib64_libmingwex_a-_localtime64_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-_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`
+
 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 6fdec27..3cb9105 100644
--- a/mingw-w64-crt/lib32/msvcrt.def
+++ b/mingw-w64-crt/lib32/msvcrt.def
@@ -725,9 +725,9 @@
 _ftime64
 _futime64
 _gmtime64
-_localtime32_s
+; _localtime32_s replaced by emu
 _localtime64
-_localtime64_s
+; _localtime64_s replaced by emu
 _mkgmtime DATA
 ;_mkgmtime32 = _mkgmtime
 _mkgmtime64
diff --git a/mingw-w64-crt/lib64/msvcrt.def b/mingw-w64-crt/lib64/msvcrt.def
index 8ba46e4..d86f0c8 100644
--- a/mingw-w64-crt/lib64/msvcrt.def
+++ b/mingw-w64-crt/lib64/msvcrt.def
@@ -466,9 +466,9 @@
 _loaddll
 _lfind_s
 _local_unwind
-_localtime32_s
+; _localtime32_s replaced by emu
 _localtime64
-_localtime64_s
+; _localtime64_s replaced by emu
 _lock
 _locking
 _logb
diff --git a/mingw-w64-crt/secapi/_localtime32_s.c b/mingw-w64-crt/secapi/_localtime32_s.c
new file mode 100644
index 0000000..dcf9a19
--- /dev/null
+++ b/mingw-w64-crt/secapi/_localtime32_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 _localtime32 (const __time32_t *); */
+errno_t __cdecl _localtime32_s (struct tm *, const __time32_t *);
+static errno_t __cdecl _int_localtime32_s (struct tm *, const __time32_t *);
+static errno_t __cdecl _stub (struct tm *, const __time32_t *);
+
+errno_t __cdecl (*__MINGW_IMP_SYMBOL(_localtime32_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(_localtime32_s);
+
+  if (f == _stub)
+    {
+	f = (errno_t __cdecl (*)(struct tm *, const __time32_t *))
+	    GetProcAddress (__mingw_get_msvcrt_handle (), "_localtime32_s");
+	if (!f)
+	  f = _int_localtime32_s;
+	__MINGW_IMP_SYMBOL(_localtime32_s) = f;
+    }
+  return (*f)(ptm, pt);
+}
+
+errno_t __cdecl
+_localtime32_s (struct tm *ptm, const __time32_t *pt)
+{
+  return _stub (ptm, pt);
+}
+
+static errno_t __cdecl
+_int_localtime32_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 = _localtime32 (pt)) == NULL)
+    return errno;
+  *ptm = *ltm;
+  return 0;
+}
diff --git a/mingw-w64-crt/secapi/_localtime64_s.c b/mingw-w64-crt/secapi/_localtime64_s.c
new file mode 100644
index 0000000..0acb2a9
--- /dev/null
+++ b/mingw-w64-crt/secapi/_localtime64_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 _localtime64 (const __time64_t *); */
+errno_t __cdecl _localtime64_s (struct tm *, const __time64_t *);
+static errno_t __cdecl _int_localtime64_s (struct tm *, const __time64_t *);
+static errno_t __cdecl _stub (struct tm *, const __time64_t *);
+
+errno_t __cdecl (*__MINGW_IMP_SYMBOL(_localtime64_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(_localtime64_s);
+
+  if (f == _stub)
+    {
+	f = (errno_t __cdecl (*)(struct tm *, const __time64_t *))
+	    GetProcAddress (__mingw_get_msvcrt_handle (), "_localtime64_s");
+	if (!f)
+	  f = _int_localtime64_s;
+	__MINGW_IMP_SYMBOL(_localtime64_s) = f;
+    }
+  return (*f)(ptm, pt);
+}
+
+errno_t __cdecl
+_localtime64_s (struct tm *ptm, const __time64_t *pt)
+{
+  return _stub (ptm, pt);
+}
+
+static errno_t __cdecl
+_int_localtime64_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 = _localtime64 (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 b7f5893..2bca0e8 100644
--- a/mingw-w64-headers/crt/sec_api/time_s.h
+++ b/mingw-w64-headers/crt/sec_api/time_s.h
@@ -16,13 +16,13 @@
 
   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);
-  _CRTIMP errno_t __cdecl _localtime32_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);
-  _CRTIMP errno_t __cdecl _localtime64_s(struct tm *_Tm,const __time64_t *_Time);
+  errno_t __cdecl _localtime64_s (struct tm *_Tm,const __time64_t *_Time);
 
 #ifndef _WTIME_S_DEFINED
 #define _WTIME_S_DEFINED