|
@@ -1,3 +1,6 @@
|
|
|
+/*
|
|
|
+ $Id$
|
|
|
+*/
|
|
|
/* Startup code for programs linked with GNU libc.
|
|
|
Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
|
|
|
This file is part of the GNU C Library.
|
|
@@ -20,7 +23,7 @@
|
|
|
.section ".text"
|
|
|
.globl _start
|
|
|
_start:
|
|
|
- mr 26,1
|
|
|
+ mr 26,1
|
|
|
/* Set up an initial stack frame, and clear the LR. */
|
|
|
clrrwi 1,1,4
|
|
|
li 0,0
|
|
@@ -29,24 +32,24 @@ _start:
|
|
|
stw 0,0(1)
|
|
|
lwz 3,0(26) /* get argc */
|
|
|
lis 11,U_SYSTEM_ARGC@ha
|
|
|
- stw 3,U_SYSTEM_ARGC@l(11);
|
|
|
-
|
|
|
+ stw 3,U_SYSTEM_ARGC@l(11);
|
|
|
+
|
|
|
addi 4,26,4 /* get argv */
|
|
|
lis 11,U_SYSTEM_ARGV@ha
|
|
|
- stw 4,U_SYSTEM_ARGV@l(11);
|
|
|
-
|
|
|
+ stw 4,U_SYSTEM_ARGV@l(11);
|
|
|
+
|
|
|
addi 27,3,1 /* calculate argc + 1 into r27 */
|
|
|
slwi 27,27,2 /* calculate (argc + 1) * sizeof(char *) into r27 */
|
|
|
- add 5,4,27 /* get address of env[0] */
|
|
|
+ add 5,4,27 /* get address of env[0] */
|
|
|
lis 11,U_SYSTEM_ENVP@ha
|
|
|
- stw 5,U_SYSTEM_ENVP@l(11);
|
|
|
-
|
|
|
+ stw 5,U_SYSTEM_ENVP@l(11);
|
|
|
+
|
|
|
bl PASCALMAIN
|
|
|
|
|
|
.globl _haltproc
|
|
|
.type _haltproc,@function
|
|
|
_haltproc:
|
|
|
- li 0,1 /* exit call */
|
|
|
+ li 0,1 /* exit call */
|
|
|
lis 3,U_SYSTEM_EXITCODE@h
|
|
|
stw 3,U_SYSTEM_EXITCODE@l(3)
|
|
|
sc
|
|
@@ -64,7 +67,10 @@ ___fpc_brk_addr:
|
|
|
.long 0
|
|
|
/*
|
|
|
$Log$
|
|
|
- Revision 1.10 2003-05-12 22:36:45 florian
|
|
|
+ Revision 1.11 2004-01-04 17:23:57 florian
|
|
|
+ + haeder added
|
|
|
+
|
|
|
+ Revision 1.10 2003/05/12 22:36:45 florian
|
|
|
+ added setup of argv, argc and envp
|
|
|
|
|
|
Revision 1.9 2002/09/07 16:01:20 peter
|
|
@@ -93,4 +99,4 @@ ___fpc_brk_addr:
|
|
|
|
|
|
Revision 1.1 2002/07/26 16:57:40 florian
|
|
|
+ initial version, plain copy from glibc/sysdeps/powerpc/elf/start.S
|
|
|
-*/
|
|
|
+*/
|