1234567891011121314151617181920212223242526272829303132333435363738394041 |
- #include <stdint.h>
- #include <stdio.h>
- #include <tls.h>
- #if USE_TLS && HAVE___THREAD
- #define AL 4096
- struct foo
- {
- int i;
- } __attribute ((aligned (AL)));
- static __thread struct foo f;
- static struct foo g;
- #ifndef FCT
- # define FCT in_dso1
- #endif
- int
- FCT (void)
- {
- puts (__func__);
- int result = 0;
- int fail = (((uintptr_t) &f) & (AL - 1)) != 0;
- printf ("&f = %p %s\n", &f, fail ? "FAIL" : "OK");
- result |= fail;
- fail = (((uintptr_t) &g) & (AL - 1)) != 0;
- printf ("&g = %p %s\n", &g, fail ? "FAIL" : "OK");
- result |= fail;
- return result;
- }
- #endif
|