about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--linuxthreads/ChangeLog7
-rw-r--r--linuxthreads/internals.h7
2 files changed, 13 insertions, 1 deletions
diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog
index 8432d2d756..48a46c8789 100644
--- a/linuxthreads/ChangeLog
+++ b/linuxthreads/ChangeLog
@@ -1,3 +1,10 @@
+1999-07-16  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
+
+	* linuxthreads/internals.h: Align _pthread_descr_struct to 32
+	bytes.
+	Reported by Tim Hockin <thockin@cobaltnet.com>, close PR
+	libc/1206.
+
 1999-07-09  Ulrich Drepper  <drepper@cygnus.com>
 
 	* oldsemaphore.c (sem_compare_and_swap): Fix use of compare and
diff --git a/linuxthreads/internals.h b/linuxthreads/internals.h
index bcbfbcf5eb..032e0863f8 100644
--- a/linuxthreads/internals.h
+++ b/linuxthreads/internals.h
@@ -106,7 +106,12 @@ struct _pthread_descr_struct {
   size_t p_guardsize;		/* size of guard area */
   pthread_descr p_self;		/* Pointer to this structure */
   int p_nr;                     /* Index of descriptor in __pthread_handles */
-};
+} __attribute__ ((aligned(32))); /* We need to align the structure so that
+				    doubles are aligned properly.  This is 8
+				    bytes on MIPS and 16 bytes on MIPS64.
+				    32 bytes might give better cache
+				    utilization.  */
+
 
 /* The type of thread handles. */