components/stdcxx/patches/038-ctype.cpp.patch
author Jesse Butler <jesse.butler@oracle.com>
Mon, 17 Oct 2016 16:13:44 -0700
changeset 7119 2f82d964b8be
parent 402 94ae4d75524c
permissions -rw-r--r--
24830297 drop unneeded metadata layers from base image

--- stdcxx-4.2.1/src/ctype.cpp	2008-04-24 20:25:19.000000000 -0400
+++ stdcxx-4.2.1/src/ctype.cpp	2009-07-29 15:03:16.000000000 -0400
@@ -626,13 +626,26 @@
         pfacet = new _STD::ctype_byname<char>(name, ref);
     }
     else {
+#if defined(_RWSTD_STRICT_SPARCV8_MUTEX_ALIGNMENT)
+#  pragma pack(8)
+#  pragma align 8(f)
+#  pragma align 8(pf)
+#endif
         static union {
+#if defined(_RWSTD_STRICT_SPARCV8_MUTEX_ALIGNMENT)
+            unsigned long long align_;
+            unsigned char data_ [sizeof (_STD::ctype<char>)];
+#else
             void *align_;
             char  data_ [sizeof (_STD::ctype<char>)];
+#endif
         } f;
         static __rw_facet* const pf =
             new (&f) _STD::ctype<char>(__rw_classic_tab, false, ref);
         pfacet = pf;
+#if defined(_RWSTD_STRICT_SPARCV8_MUTEX_ALIGNMENT)
+#  pragma pack(0)
+#endif
     }
 
     // set the pointer to the facet id