Fix BZ #17905
[glibc.git] / elf / tst-array5.c
blob03a5668326fe38118710464fc610f3481c00b16a
1 #include <string.h>
2 #include <unistd.h>
4 static void
5 preinit_0 (int argc __attribute__ ((unused)), char **argv)
7 char *p = strrchr (argv [0], '/');
9 if (p == NULL)
10 return;
12 p++;
13 size_t len = strlen (p);
14 write (STDOUT_FILENO, "preinit array in executable: ", 29);
15 write (STDOUT_FILENO, p, len);
16 write (STDOUT_FILENO, "\n", 1);
19 void (*const preinit_array []) (int, char **)
20 __attribute__ ((section (".preinit_array"), aligned (sizeof (void *)))) =
22 &preinit_0,
25 static void
26 init_0 (int argc __attribute__ ((unused)), char **argv)
28 char *p = strrchr (argv [0], '/');
30 if (p == NULL)
31 return;
33 p++;
34 size_t len = strlen (p);
35 write (STDOUT_FILENO, "init array in executable: ", 26);
36 write (STDOUT_FILENO, p, len);
37 write (STDOUT_FILENO, "\n", 1);
40 void (*const init_array []) (int, char **)
41 __attribute__ ((section (".init_array"), aligned (sizeof (void *)))) =
43 &init_0,
46 int
47 main (void)
49 return 0;