Explorar o código

Patch from Stefan Holst to fix argv[0]

Eric Andersen %!s(int64=22) %!d(string=hai) anos
pai
achega
33d1ef86d1
Modificáronse 1 ficheiros con 5 adicións e 5 borrados
  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);
 }