]>
Commit | Line | Data |
---|---|---|
99fe3b0e UD |
1 | #include <stdint.h> |
2 | #include <stdio.h> | |
3 | ||
23195635 RM |
4 | #include <tls.h> |
5 | ||
11bf311e | 6 | #if HAVE___THREAD |
99fe3b0e | 7 | |
11bf311e | 8 | # define AL 4096 |
99fe3b0e UD |
9 | struct foo |
10 | { | |
11 | int i; | |
12 | } __attribute ((aligned (AL))); | |
13 | ||
14 | static __thread struct foo f; | |
15 | static struct foo g; | |
16 | ||
17 | ||
11bf311e UD |
18 | # ifndef FCT |
19 | # define FCT in_dso1 | |
20 | # endif | |
99fe3b0e UD |
21 | |
22 | ||
23 | int | |
24 | FCT (void) | |
25 | { | |
26 | puts (__func__); | |
27 | ||
28 | int result = 0; | |
29 | ||
30 | int fail = (((uintptr_t) &f) & (AL - 1)) != 0; | |
31 | printf ("&f = %p %s\n", &f, fail ? "FAIL" : "OK"); | |
32 | result |= fail; | |
33 | ||
34 | fail = (((uintptr_t) &g) & (AL - 1)) != 0; | |
35 | printf ("&g = %p %s\n", &g, fail ? "FAIL" : "OK"); | |
36 | result |= fail; | |
37 | ||
38 | return result; | |
39 | } | |
23195635 RM |
40 | |
41 | #endif |