#include #include 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, };