components/gcc48/patches/005-libitm-rwlock.patch
author Michael Nestler <Michael.Nestler@Oracle.COM>
Thu, 04 Sep 2014 15:13:31 -0700
branchs11-update
changeset 3295 adaecbad1033
parent 2997 6a6348ea8de7
permissions -rw-r--r--
19079445 Update DBI package attribution
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2997
6a6348ea8de7 17436986 integrate GCC 4.8.x
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
     1
# 2013-02-07  Stefan Teleman <[email protected]>
6a6348ea8de7 17436986 integrate GCC 4.8.x
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
     2
# Not everything aligns on 4.
6a6348ea8de7 17436986 integrate GCC 4.8.x
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
     3
#
6a6348ea8de7 17436986 integrate GCC 4.8.x
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
     4
#       * Fix Solaris alignment. (st)
6a6348ea8de7 17436986 integrate GCC 4.8.x
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
     5
#
6a6348ea8de7 17436986 integrate GCC 4.8.x
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
     6
--- gcc-4.7.3/libitm/config/posix/rwlock.h	2011-12-23 17:42:35.000000000 -0800
6a6348ea8de7 17436986 integrate GCC 4.8.x
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
     7
+++ gcc-4.7.3/libitm/config/posix/rwlock.h	2013-02-25 14:28:47.945337684 -0800
6a6348ea8de7 17436986 integrate GCC 4.8.x
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
     8
@@ -47,10 +47,14 @@
6a6348ea8de7 17436986 integrate GCC 4.8.x
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
     9
 
6a6348ea8de7 17436986 integrate GCC 4.8.x
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    10
 class gtm_rwlock
6a6348ea8de7 17436986 integrate GCC 4.8.x
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    11
 {
6a6348ea8de7 17436986 integrate GCC 4.8.x
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    12
-  pthread_mutex_t mutex;	        // Held if manipulating any field.
6a6348ea8de7 17436986 integrate GCC 4.8.x
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    13
-  pthread_cond_t c_readers;	        // Readers wait here
6a6348ea8de7 17436986 integrate GCC 4.8.x
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    14
-  pthread_cond_t c_writers;	        // Writers wait here for writers
6a6348ea8de7 17436986 integrate GCC 4.8.x
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    15
-  pthread_cond_t c_confirmed_writers;	// Writers wait here for readers
6a6348ea8de7 17436986 integrate GCC 4.8.x
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    16
+  pthread_mutex_t mutex
6a6348ea8de7 17436986 integrate GCC 4.8.x
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    17
+      __attribute__((__aligned__(8)));	// Held if manipulating any field.
6a6348ea8de7 17436986 integrate GCC 4.8.x
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    18
+  pthread_cond_t c_readers
6a6348ea8de7 17436986 integrate GCC 4.8.x
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    19
+      __attribute__((__aligned__(8)));	// Readers wait here
6a6348ea8de7 17436986 integrate GCC 4.8.x
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    20
+  pthread_cond_t c_writers
6a6348ea8de7 17436986 integrate GCC 4.8.x
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    21
+      __attribute__((__aligned__(8)));	// Writers wait here for writers
6a6348ea8de7 17436986 integrate GCC 4.8.x
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    22
+  pthread_cond_t c_confirmed_writers
6a6348ea8de7 17436986 integrate GCC 4.8.x
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    23
+      __attribute__((__aligned__(8)));	// Writers wait here for readers
6a6348ea8de7 17436986 integrate GCC 4.8.x
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    24
 
6a6348ea8de7 17436986 integrate GCC 4.8.x
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    25
   static const unsigned a_writer  = 1;	// An active writer.
6a6348ea8de7 17436986 integrate GCC 4.8.x
Norm Jacobs <Norm.Jacobs@Oracle.COM>
parents:
diff changeset
    26
   static const unsigned w_writer  = 2;	// The w_writers field != 0