Blame elf/tst-tlsmod14a.c

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