On Thu, Jun 30, 2011, Jeremy Evans wrote:

> Regress tests have one failure on both amd64 and i386, a segfault in a
> gmtime call:
> 
> Not sure if that's a bug in the test code or a bug in our gmtime
> implementation, though.  Simple testing with a ruby application using
> rack-mongrel2 shows no errors.

Ah, this shit again.  See history for libc/time/localtime.c.  I fixed
exactly this bug (guess how I found it :)), but it got lost in the
timezone update.  They appear to have worked this file over harder than
I did to avoid stack data, but they made it optional and not enabled by
default. Maybe the patch below is all that's needed?

Index: localtime.c
===================================================================
RCS file: /home/tedu/cvs/src/lib/libc/time/localtime.c,v
retrieving revision 1.37
diff -u -r1.37 localtime.c
--- localtime.c 25 Apr 2011 13:27:27 -0000      1.37
+++ localtime.c 30 Jun 2011 20:45:03 -0000
@@ -17,6 +17,8 @@
 #include "float.h"     /* for FLT_MAX and DBL_MAX */
 #include "thread_private.h"
 
+#define ALL_STATE
+
 #ifndef TZ_ABBR_MAX_LEN
 #define TZ_ABBR_MAX_LEN        16
 #endif /* !defined TZ_ABBR_MAX_LEN */

Reply via email to