blob: 0bb393d9c5d54c5cac446c34c824c2db25db9a01 [file] [log] [blame]
lh9ed821d2023-04-07 01:36:19 -07001#include <stdint.h>
2#include <stdio.h>
3
4#include <tls.h>
5
6#if USE_TLS && HAVE___THREAD
7
8#define AL 4096
9struct foo
10{
11 int i;
12} __attribute ((aligned (AL)));
13
14static __thread struct foo f;
15static struct foo g;
16
17
18#ifndef FCT
19# define FCT in_dso1
20#endif
21
22
23int
24FCT (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}
40
41#endif