| #include <pthread.h> |
| #include <tls.h> |
| |
| RESULT offsetof (struct pthread, result) |
| TID offsetof (struct pthread, tid) |
| CANCELHANDLING offsetof (struct pthread, cancelhandling) |
| CLEANUP_JMP_BUF offsetof (struct pthread, cleanup_jmp_buf) |
| MULTIPLE_THREADS_OFFSET offsetof (struct pthread, header.multiple_threads) |
| TLS_PRE_TCB_SIZE sizeof (struct pthread) |
| MUTEX_FUTEX offsetof (pthread_mutex_t, __data.__lock) |
| |
| -- Use a thread_offset when working with asm to make things simpler |
| -- This way we get the offset of a member in the struct pthread that |
| -- preceeds the thread pointer (which points to the dtv). |
| #define thread_offsetof(mem) (unsigned int)(offsetof(struct pthread, mem) - sizeof(struct pthread)) |
| TID_THREAD_OFFSET thread_offsetof (tid) |
| MULTIPLE_THREADS_THREAD_OFFSET thread_offsetof (header.multiple_threads) |