components/gcc48/patches/005-libitm-rwlock.patch
author saurabh.vyas@oracle.com
Mon, 01 Jun 2015 09:37:56 -0700
changeset 4381 028ddffc4038
parent 1561 3b427cd1199e
permissions -rw-r--r--
21148645 problem in SERVICE/HORIZON
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1561
3b427cd1199e 17436986 integrate GCC 4.8.x
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
     1
# 2013-02-07  Stefan Teleman <[email protected]>
3b427cd1199e 17436986 integrate GCC 4.8.x
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
     2
# Not everything aligns on 4.
3b427cd1199e 17436986 integrate GCC 4.8.x
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
     3
#
3b427cd1199e 17436986 integrate GCC 4.8.x
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
     4
#       * Fix Solaris alignment. (st)
3b427cd1199e 17436986 integrate GCC 4.8.x
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
     5
#
3b427cd1199e 17436986 integrate GCC 4.8.x
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
     6
--- gcc-4.7.3/libitm/config/posix/rwlock.h	2011-12-23 17:42:35.000000000 -0800
3b427cd1199e 17436986 integrate GCC 4.8.x
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
     7
+++ gcc-4.7.3/libitm/config/posix/rwlock.h	2013-02-25 14:28:47.945337684 -0800
3b427cd1199e 17436986 integrate GCC 4.8.x
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
     8
@@ -47,10 +47,14 @@
3b427cd1199e 17436986 integrate GCC 4.8.x
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
     9
 
3b427cd1199e 17436986 integrate GCC 4.8.x
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    10
 class gtm_rwlock
3b427cd1199e 17436986 integrate GCC 4.8.x
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    11
 {
3b427cd1199e 17436986 integrate GCC 4.8.x
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    12
-  pthread_mutex_t mutex;	        // Held if manipulating any field.
3b427cd1199e 17436986 integrate GCC 4.8.x
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    13
-  pthread_cond_t c_readers;	        // Readers wait here
3b427cd1199e 17436986 integrate GCC 4.8.x
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    14
-  pthread_cond_t c_writers;	        // Writers wait here for writers
3b427cd1199e 17436986 integrate GCC 4.8.x
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    15
-  pthread_cond_t c_confirmed_writers;	// Writers wait here for readers
3b427cd1199e 17436986 integrate GCC 4.8.x
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    16
+  pthread_mutex_t mutex
3b427cd1199e 17436986 integrate GCC 4.8.x
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    17
+      __attribute__((__aligned__(8)));	// Held if manipulating any field.
3b427cd1199e 17436986 integrate GCC 4.8.x
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    18
+  pthread_cond_t c_readers
3b427cd1199e 17436986 integrate GCC 4.8.x
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    19
+      __attribute__((__aligned__(8)));	// Readers wait here
3b427cd1199e 17436986 integrate GCC 4.8.x
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    20
+  pthread_cond_t c_writers
3b427cd1199e 17436986 integrate GCC 4.8.x
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    21
+      __attribute__((__aligned__(8)));	// Writers wait here for writers
3b427cd1199e 17436986 integrate GCC 4.8.x
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    22
+  pthread_cond_t c_confirmed_writers
3b427cd1199e 17436986 integrate GCC 4.8.x
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    23
+      __attribute__((__aligned__(8)));	// Writers wait here for readers
3b427cd1199e 17436986 integrate GCC 4.8.x
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    24
 
3b427cd1199e 17436986 integrate GCC 4.8.x
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    25
   static const unsigned a_writer  = 1;	// An active writer.
3b427cd1199e 17436986 integrate GCC 4.8.x
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff changeset
    26
   static const unsigned w_writer  = 2;	// The w_writers field != 0