about summary refs log tree commit diff
diff options
context:
space:
mode:
authorSzabolcs Nagy <szabolcs.nagy@arm.com>2022-07-13 11:06:49 +0100
committerSzabolcs Nagy <szabolcs.nagy@arm.com>2022-08-05 19:45:19 +0100
commitb38585301de505f6d82f7be0dd8f6913c1bb8528 (patch)
tree83fd1bbfbd72fabbe1546458e1f4a68340b081d6
parentc8f1fc9d94f9c311d382833c3393f12c1acb1991 (diff)
downloadglibc-b38585301de505f6d82f7be0dd8f6913c1bb8528.tar.gz
glibc-b38585301de505f6d82f7be0dd8f6913c1bb8528.tar.xz
glibc-b38585301de505f6d82f7be0dd8f6913c1bb8528.zip
cheri: nptl: fix thread ID types for capabilities
-rw-r--r--sysdeps/nptl/bits/pthreadtypes.h4
-rw-r--r--sysdeps/nptl/bits/thread-shared-types.h4
2 files changed, 8 insertions, 0 deletions
diff --git a/sysdeps/nptl/bits/pthreadtypes.h b/sysdeps/nptl/bits/pthreadtypes.h
index 6f8907fe54..706c2bb495 100644
--- a/sysdeps/nptl/bits/pthreadtypes.h
+++ b/sysdeps/nptl/bits/pthreadtypes.h
@@ -24,7 +24,11 @@
 
 /* Thread identifiers.  The structure of the attribute type is not
    exposed on purpose.  */
+#ifdef __CHERI_PURE_CAPABILITY__
+typedef __uintcap_t pthread_t;
+#else
 typedef unsigned long int pthread_t;
+#endif
 
 
 /* Data structures for mutex handling.  The structure of the attribute
diff --git a/sysdeps/nptl/bits/thread-shared-types.h b/sysdeps/nptl/bits/thread-shared-types.h
index 5653507e55..1efdf4b0ef 100644
--- a/sysdeps/nptl/bits/thread-shared-types.h
+++ b/sysdeps/nptl/bits/thread-shared-types.h
@@ -103,7 +103,11 @@ struct __pthread_cond_s
 };
 
 typedef unsigned int __tss_t;
+#ifdef __CHERI_PURE_CAPABILITY__
+typedef __uintcap_t __thrd_t;
+#else
 typedef unsigned long int __thrd_t;
+#endif
 
 typedef struct
 {