Răsfoiți Sursa

Patch from Stefan Holst to fix argv[0]

Eric Andersen 21 ani în urmă
părinte
comite
33d1ef86d1
1 a modificat fișierele cu 5 adăugiri și 5 ștergeri
  1. 5 5
      libc/sysdeps/linux/sparc/crt0.c

+ 5 - 5
libc/sysdeps/linux/sparc/crt0.c

@@ -28,16 +28,16 @@ void (*mainp)(int argc,void *argv,void *envp) = main;
 extern void __uClibc_main(int argc,void *argv,void *envp);
 
 
-void _start(unsigned int first_arg)
+void _start(void)
 {
 	unsigned int argc;
 	char **argv, **envp;
 	unsigned long *stack;
 
-	stack = (unsigned long*) &first_arg;
-	argc = *(stack - 1);
-	argv = (char **) stack;
-	envp = (char **)stack + argc + 1;
+	stack = ((unsigned long*)__builtin_frame_address(0))+16;
+	argc = *stack;
+	argv = (char **)stack + 1;
+	envp = (char **)stack + argc + 2;
 
 	__uClibc_main(argc, argv, envp);
 }