summaryrefslogtreecommitdiff
blob: 570d282af473a9f5198e6e640d1c332371e5909e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <string.h>
#include <unistd.h>

static void
init_0 (int argc __attribute__ ((unused)), char **argv)
{
  char *p = strrchr (argv [0], '/');

  if (p == NULL)
      return;

  p++;
  size_t len = strlen (p);
  write (STDOUT_FILENO, "init array in DSO: ", 19);
  write (STDOUT_FILENO, p, len);
  write (STDOUT_FILENO, "\n", 1);
}

void (*const init_array []) (int, char **)
     __attribute__ ((section (".init_array"), aligned (sizeof (void *)))) =
{
  &init_0,
};