1 #include <errno.h>
2 #include <sys/ptrace.h>
3 #include "sysdep/tls.h"
4
5 /* TLS support - we basically rely on the host's one.*/
6
7 #ifndef PTRACE_GET_THREAD_AREA
8 #define PTRACE_GET_THREAD_AREA 25
9 #endif
10
11 #ifndef PTRACE_SET_THREAD_AREA
12 #define PTRACE_SET_THREAD_AREA 26
13 #endif
14
os_set_thread_area(user_desc_t * info,int pid)15 int os_set_thread_area(user_desc_t *info, int pid)
16 {
17 int ret;
18
19 ret = ptrace(PTRACE_SET_THREAD_AREA, pid, info->entry_number,
20 (unsigned long) info);
21 if (ret < 0)
22 ret = -errno;
23 return ret;
24 }
25
os_get_thread_area(user_desc_t * info,int pid)26 int os_get_thread_area(user_desc_t *info, int pid)
27 {
28 int ret;
29
30 ret = ptrace(PTRACE_GET_THREAD_AREA, pid, info->entry_number,
31 (unsigned long) info);
32 if (ret < 0)
33 ret = -errno;
34 return ret;
35 }
36