summaryrefslogtreecommitdiffstats
path: root/mdk-stage1/dietlibc/alpha/start.S
diff options
context:
space:
mode:
authorGuillaume Cottenceau <gc@mandriva.com>2001-01-04 20:04:45 +0000
committerGuillaume Cottenceau <gc@mandriva.com>2001-01-04 20:04:45 +0000
commit02fec4701cee79f875c1d02b8b4aee09380dbcb8 (patch)
treef4f291aedbb2e60ee58351481858a8cd3ec80b6b /mdk-stage1/dietlibc/alpha/start.S
parent9887fe04751edf39e8389f2c3ec3f020b5e1c17d (diff)
downloaddrakx-02fec4701cee79f875c1d02b8b4aee09380dbcb8.tar
drakx-02fec4701cee79f875c1d02b8b4aee09380dbcb8.tar.gz
drakx-02fec4701cee79f875c1d02b8b4aee09380dbcb8.tar.bz2
drakx-02fec4701cee79f875c1d02b8b4aee09380dbcb8.tar.xz
drakx-02fec4701cee79f875c1d02b8b4aee09380dbcb8.zip
integrate dietlibc/stdio per default for cdrom and disk only installs
Diffstat (limited to 'mdk-stage1/dietlibc/alpha/start.S')
-rw-r--r--mdk-stage1/dietlibc/alpha/start.S35
1 files changed, 35 insertions, 0 deletions
diff --git a/mdk-stage1/dietlibc/alpha/start.S b/mdk-stage1/dietlibc/alpha/start.S
new file mode 100644
index 000000000..00b8e950d
--- /dev/null
+++ b/mdk-stage1/dietlibc/alpha/start.S
@@ -0,0 +1,35 @@
+#include "start.h"
+
+#ifdef __alpha__
+
+.text
+.align 2
+ .set noreorder
+
+.global __start
+__start:
+.global _start
+_start:
+ clr $fp /* clear frame pointer */
+
+ br $gp,.Lstart /* set global pointer */
+.Lstart:
+ ldgp $gp, 0($gp)
+
+/* prepare to call main */
+ ldl $16, 0($sp) /* argc */
+
+ lda $17, 8($sp) /* argv */
+
+ addq $16, 1, $18 /* argp */
+ s8addq $18, $17, $18 /* (8*(argc+1))+argv -> argp */
+
+ stq $18, environ
+
+ mov $0, $21 /* mov v0(dynload) to a5 */
+
+ jsr $26, main
+ mov $0, $16
+ jsr $26, exit /* YES, CALL! for threads and atexit ! (+4 byte) */
+
+#endif