--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/components/stdcxx/patches/046-time_put.cpp.patch Thu Jul 14 11:26:11 2011 -0700
@@ -0,0 +1,37 @@
+--- stdcxx-4.2.1/src/time_put.cpp 2008-04-24 20:25:19.000000000 -0400
++++ stdcxx-4.2.1/src/time_put.cpp 2009-07-29 17:27:30.000000000 -0400
+@@ -34,7 +34,10 @@
+
+ #if (defined (__sun__) || defined (__sun) || defined (sun)) && defined (__EDG__)
+ // get tzset() from <time.h>
+-# define _XOPEN_SOURCE
++# if !defined(_XOPEN_SOURCE)
++# define _XOPEN_SOURCE 500
++# define _XPG5
++# endif
+ #endif
+
+ #ifdef __CYGWIN__
+@@ -2110,6 +2113,11 @@
+ _RWSTD_ASSERT ( 0 != tmb
+ || 'c' == fmt || 'r' == fmt || 'x' == fmt || 'X' == fmt);
+
++#if defined(_RWSTD_STRICT_SPARCV8_MUTEX_ALIGNMENT)
++# pragma pack(8)
++# pragma align 8(null_fmt)
++#endif
++
+ static const union {
+ #ifndef _RWSTD_NO_WCHAR_T
+ wchar_t wide_data [1];
+@@ -2117,6 +2125,10 @@
+ char data [4];
+ } null_fmt = { { 0 } };
+
++#if defined(_RWSTD_STRICT_SPARCV8_MUTEX_ALIGNMENT)
++# pragma pack(0)
++#endif
++
+ const __rw_time_t *ptime =
+ _RWSTD_STATIC_CAST (const __rw_time_t*, facet->_C_data ());
+