Skip to content
Permalink
dfe4c900cb
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time
67 lines (55 sloc) 999 Bytes
#include <unistd.h>
static void init (void) __attribute__ ((constructor));
static void
init (void)
{
write (STDOUT_FILENO, "DSO init\n", 9);
}
static void fini (void) __attribute__ ((destructor));
static void
fini (void)
{
write (STDOUT_FILENO, "DSO fini\n", 9);
}
static void
init_0 (void)
{
write (STDOUT_FILENO, "DSO init array 0\n", 17);
}
static void
init_1 (void)
{
write (STDOUT_FILENO, "DSO init array 1\n", 17);
}
static void
init_2 (void)
{
write (STDOUT_FILENO, "DSO init array 2\n", 17);
}
void (*const init_array []) (void) __attribute__ ((section (".init_array"))) =
{
&init_0,
&init_1,
&init_2
};
static void
fini_0 (void)
{
write (STDOUT_FILENO, "DSO fini array 0\n", 17);
}
static void
fini_1 (void)
{
write (STDOUT_FILENO, "DSO fini array 1\n", 17);
}
static void
fini_2 (void)
{
write (STDOUT_FILENO, "DSO fini array 2\n", 17);
}
void (*const fini_array []) (void) __attribute__ ((section (".fini_array"))) =
{
&fini_0,
&fini_1,
&fini_2
};