blob: 712e6058a43011886cbc24c48088031468579079 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
#include <stdio.h>
#define TLS_VAR_INIT_VALUE 99
#ifdef USE_TLS
__thread int tls_var __attribute__((tls_model("global-dynamic")));
static __thread int local_tls_var __attribute__((tls_model("local-dynamic")));
#endif
void __attribute__((constructor)) libtls_ctor(void);
void libtls_ctor(void)
{
printf("libtls: constructor!\n");
#ifdef USE_TLS
local_tls_var = TLS_VAR_INIT_VALUE;
tls_var = local_tls_var;
#endif
}
void __attribute__((destructor)) libtls_dtor(void);
void libtls_dtor(void)
{
printf("libtls: destructor!\n");
}
|