Blame elf/tst-tlsmod4.c

Packit Service 82fcde
#include <stdio.h>
Packit Service 82fcde
Packit Service 82fcde
#include "tls-macros.h"
Packit Service 82fcde
Packit Service 82fcde
Packit Service 82fcde
COMMON_INT_DEF(baz);
Packit Service 82fcde
Packit Service 82fcde
Packit Service 82fcde
int
Packit Service 82fcde
in_dso (int n, int *caller_bazp)
Packit Service 82fcde
{
Packit Service 82fcde
  int *bazp;
Packit Service 82fcde
  int result = 0;
Packit Service 82fcde
Packit Service 82fcde
  puts ("foo");			/* Make sure PLT is used before macros.  */
Packit Service 82fcde
  asm ("" ::: "memory");
Packit Service 82fcde
Packit Service 82fcde
  bazp = TLS_GD (baz);
Packit Service 82fcde
Packit Service 82fcde
  if (caller_bazp != NULL && bazp != caller_bazp)
Packit Service 82fcde
    {
Packit Service 82fcde
      printf ("callers address of baz differs: %p vs %p\n", caller_bazp, bazp);
Packit Service 82fcde
      result = 1;
Packit Service 82fcde
    }
Packit Service 82fcde
  else if (*bazp != n)
Packit Service 82fcde
    {
Packit Service 82fcde
      printf ("baz != %d\n", n);
Packit Service 82fcde
      result = 1;
Packit Service 82fcde
    }
Packit Service 82fcde
Packit Service 82fcde
  *bazp = 16;
Packit Service 82fcde
Packit Service 82fcde
  return result;
Packit Service 82fcde
}