__asm__("\ .global _start\n\ _start:\n\ xor %ebp,%ebp\n\ mov %esp,%eax\n\ and $-16,%esp\n\ push %eax\n\ push %eax\n\ push %edx\n\ push %eax\n\ call ___start\n\ "); __attribute__((__noreturn__)) int __libc_start_main( int (*)(int, char **, char **), int, char **, int (*)(int, char **, char **), void (*)(void), void (*)(void)); int main(); int _init() __attribute__((__weak__,__visibility__("hidden"))); void _fini() __attribute__((__weak__,__visibility__("hidden"))); void ___start(long *p, void *q) { int argc = p[0]; char **argv = (void *)p[1]; __libc_start_main(main, argc, argv, _init, _fini, q); }