| 12345678910111213141516171819202122232425262728293031323334353637383940414243 | #include <errno.h>#include <stdlib.h>/*static void (*__CTOR_END__[1]) __P((void))    __attribute__((section(".ctors"))) = { (void *)-1 };static void (*__DTOR_END__[1]) __P((void))    __attribute__((__unused__))    __attribute__((section(".dtors"))) = { (void *)0 };*/extern void (*__CTOR_END__[]) __P((void));static void	__do_global_ctors_aux __P((void));static void__do_global_ctors_aux(){	void (**p)(void) = __CTOR_END__ - 1;	while (*p)		(**p--)();}static void dummy_init(void) __attribute__((section(".trash")));voiddummy_init(void){	static int initialized = 0;	static void (*volatile call__ctors)(void) = __do_global_ctors_aux;	/*	 * Call global constructors.	 * Arrange to call global destructors at exit.	 */	/* prevent function pointer constant propagation */	__asm__ __volatile__ (".section .init");		if (!initialized) {		initialized = 1;		(*call__ctors)();	}	__asm__ __volatile__ (".section .trash");}
 |