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

source code of glibc/elf/tst-tlsmod14a.c