Include stdint.h and pthreaddef.h.
authordrepper <drepper>
Tue, 2 Sep 2003 00:31:11 +0000 (00:31 +0000)
committerdrepper <drepper>
Tue, 2 Sep 2003 00:31:11 +0000 (00:31 +0000)
(do_test): Check pthread_self () return value alignment.

nptl/tst-tls3.c

index 4e7ca8e..20ee3e3 100644 (file)
 #include <pthread.h>
 #include <signal.h>
 #include <semaphore.h>
 #include <pthread.h>
 #include <signal.h>
 #include <semaphore.h>
+#include <stdint.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <unistd.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <unistd.h>
-
+#include <pthreaddef.h>
 
 #define THE_SIG SIGUSR1
 
 
 #define THE_SIG SIGUSR1
 
@@ -79,6 +80,12 @@ do_test (void)
   return 0;
 #else
 
   return 0;
 #else
 
+  if ((uintptr_t) pthread_self () & (TCB_ALIGNMENT - 1))
+    {
+      puts ("initial thread's struct pthread not aligned enough");
+      exit (1);
+    }
+
   if (pthread_barrier_init (&b, NULL, N + 1) != 0)
     {
       puts ("barrier_init failed");
   if (pthread_barrier_init (&b, NULL, N + 1) != 0)
     {
       puts ("barrier_init failed");