--- stdcxx-4.2.1/src/iostream.cpp 2008-04-24 20:25:19.000000000 -0400
+++ stdcxx-4.2.1/src/iostream.cpp 2009-07-29 14:48:13.000000000 -0400
@@ -81,6 +81,10 @@
// #defined below
#undef _INIT
+#if defined(_RWSTD_STRICT_SPARCV8_MUTEX_ALIGNMENT)
+# pragma pack(8)
+#endif
+
// stream objects are initialized with static basic_filebuf objects
// based on static data buffers to avoid dynamic memory allocation
// at library initialization time
@@ -180,6 +184,9 @@
#endif // _RWSTD_NO_STATIC_IOSTREAM_INIT
+#if defined(_RWSTD_STRICT_SPARCV8_MUTEX_ALIGNMENT)
+# pragma pack(0)
+#endif
// define iostream objects and their corresponding "buffers"
_RWSTD_DEFINE_STREAM_OBJECT (filebuf, istream, cin, cin, STDIN_FILENO);
@@ -207,6 +214,10 @@
#ifdef _RWSTD_NO_STATIC_IOSTREAM_INIT
+#if defined(_RWSTD_STRICT_SPARCV8_MUTEX_ALIGNMENT)
+# pragma align 8(__rw_stream_initializer)
+#endif
+
// a single (library-wide) iostream initializer object - must be defined
// after the definition of the iostream objects (above) so that when
// its dtor manipulates the objects they have not been destroyed
@@ -220,7 +231,7 @@
// iostream initialization counter
-static int __rw_ios_initcnt /* = 0 */;
+static int __rw_ios_initcnt = 0;
} // namespace __rw