summaryrefslogtreecommitdiffstats
path: root/mdk-stage1/dietlibc/alpha/start.S
diff options
context:
space:
mode:
authorNicolas Planel <nplanel@mandriva.com>2003-10-29 16:07:11 +0000
committerNicolas Planel <nplanel@mandriva.com>2003-10-29 16:07:11 +0000
commitde47eb59bb829423b1d0f47ba13099073999b3cb (patch)
tree827f35c4666e15ec66edae7c1fa05d963324602b /mdk-stage1/dietlibc/alpha/start.S
parent1fece42e9c460ca017fc4facad380f05163d8977 (diff)
downloaddrakx-backup-do-not-use-de47eb59bb829423b1d0f47ba13099073999b3cb.tar
drakx-backup-do-not-use-de47eb59bb829423b1d0f47ba13099073999b3cb.tar.gz
drakx-backup-do-not-use-de47eb59bb829423b1d0f47ba13099073999b3cb.tar.bz2
drakx-backup-do-not-use-de47eb59bb829423b1d0f47ba13099073999b3cb.tar.xz
drakx-backup-do-not-use-de47eb59bb829423b1d0f47ba13099073999b3cb.zip
Corporate Server 2.1.1 releasetopic/Corpo_2_1
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