this is not needed for correctness, but doesn't hurt, and in some
cases the compiler may pessimize the call assuming the callee might be
variadic when it lacks a prototype.
/* Barrier against hoisting application code or anything using ssp
* or thread pointer prior to its initialization above. */
- int (*stage2)();
+ int (*stage2)(int (*)(int,char **,char **), int, char **);
__asm__ ( "" : "=r"(stage2) : "0"(libc_start_main_stage2) : "memory" );
return stage2(main, argc, argv);
}