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. */
rseq_thread_pointer(void)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