summaryrefslogtreecommitdiffstats
path: root/mdk-stage1/dietlibc/alpha/start.S
diff options
context:
space:
mode:
authorMystery Man <unknown@mandriva.org>2003-02-25 09:37:46 +0000
committerMystery Man <unknown@mandriva.org>2003-02-25 09:37:46 +0000
commit07dc2ddb40089c216ab4ff323de177ecab8f02ef (patch)
tree0b88fcba964e83b283b89aab8740fc3cdcd0d939 /mdk-stage1/dietlibc/alpha/start.S
parent327bd24f8e4291bd1882de1990dd7339f781a9cb (diff)
downloaddrakx-backup-do-not-use-07dc2ddb40089c216ab4ff323de177ecab8f02ef.tar
drakx-backup-do-not-use-07dc2ddb40089c216ab4ff323de177ecab8f02ef.tar.gz
drakx-backup-do-not-use-07dc2ddb40089c216ab4ff323de177ecab8f02ef.tar.bz2
drakx-backup-do-not-use-07dc2ddb40089c216ab4ff323de177ecab8f02ef.tar.xz
drakx-backup-do-not-use-07dc2ddb40089c216ab4ff323de177ecab8f02ef.zip
This commit was manufactured by cvs2svn to create branch
'R9_0-64bit-branch'.
Diffstat (limited to 'mdk-stage1/dietlibc/alpha/start.S')
-rw-r--r--mdk-stage1/dietlibc/alpha/start.S20
1 files changed, 9 insertions, 11 deletions
diff --git a/mdk-stage1/dietlibc/alpha/start.S b/mdk-stage1/dietlibc/alpha/start.S
index 00b8e950d..850ce2420 100644
--- a/mdk-stage1/dietlibc/alpha/start.S
+++ b/mdk-stage1/dietlibc/alpha/start.S
@@ -1,7 +1,3 @@
-#include "start.h"
-
-#ifdef __alpha__
-
.text
.align 2
.set noreorder
@@ -17,19 +13,21 @@ _start:
ldgp $gp, 0($gp)
/* prepare to call main */
- ldl $16, 0($sp) /* argc */
+ ldl $16, 0($sp) /* argc / a0 */
- lda $17, 8($sp) /* argv */
+ lda $17, 8($sp) /* argv / a1 */
- addq $16, 1, $18 /* argp */
+ addq $16, 1, $18 /* argp / a2 */
s8addq $18, $17, $18 /* (8*(argc+1))+argv -> argp */
stq $18, environ
- mov $0, $21 /* mov v0(dynload) to a5 */
-
+#ifdef WANT_DYNAMIC
+/* in v0 ($0) is the ld.so _fini pointer */
+ mov $0, $19 /* mov v0(dynload) to a3 */
+ jsr $26, dyn_start
+#else
jsr $26, main
+#endif
mov $0, $16
jsr $26, exit /* YES, CALL! for threads and atexit ! (+4 byte) */
-
-#endif