xref: /linux/tools/testing/selftests/rseq/rseq-generic-thread-pointer.h (revision f9bff0e31881d03badf191d3b0005839391f5f2b)
1 /* SPDX-License-Identifier: LGPL-2.1-only OR MIT */
2 /*
3  * rseq-generic-thread-pointer.h
4  *
5  * (C) Copyright 2021 - Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
6  */
7 
8 #ifndef _RSEQ_GENERIC_THREAD_POINTER
9 #define _RSEQ_GENERIC_THREAD_POINTER
10 
11 #ifdef __cplusplus
12 extern "C" {
13 #endif
14 
15 /* Use gcc builtin thread pointer. */
16 static inline void *rseq_thread_pointer(void)
17 {
18 	return __builtin_thread_pointer();
19 }
20 
21 #ifdef __cplusplus
22 }
23 #endif
24 
25 #endif
26