Index: b/src/env/__libc_start_main.c
===================================================================
--- a/src/env/__libc_start_main.c
+++ b/src/env/__libc_start_main.c
@@ -69,6 +69,8 @@ weak_alias(libc_start_init, __libc_start
 typedef int lsm2_fn(int (*)(int,char **,char **), int, char **);
 static lsm2_fn libc_start_main_stage2;
 
+#pragma GCC push_options
+#pragma GCC optimize ("no-optimize-sibling-calls")
 int __libc_start_main(int (*main)(int,char **,char **), int argc, char **argv)
 {
 	char **envp = argv+argc+1;
@@ -84,6 +86,7 @@ int __libc_start_main(int (*main)(int,ch
 	__asm__ ( "" : "+r"(stage2) : : "memory" );
 	return stage2(main, argc, argv);
 }
+#pragma GCC pop_options
 
 static int libc_start_main_stage2(int (*main)(int,char **,char **), int argc, char **argv)
 {