summaryrefslogtreecommitdiff
path: root/klibc/klibc/arch/ia64/crt0.S
diff options
context:
space:
mode:
Diffstat (limited to 'klibc/klibc/arch/ia64/crt0.S')
-rw-r--r--klibc/klibc/arch/ia64/crt0.S27
1 files changed, 27 insertions, 0 deletions
diff --git a/klibc/klibc/arch/ia64/crt0.S b/klibc/klibc/arch/ia64/crt0.S
new file mode 100644
index 0000000000..4b128154e8
--- /dev/null
+++ b/klibc/klibc/arch/ia64/crt0.S
@@ -0,0 +1,27 @@
+
+#include <asm/fpu.h>
+
+ .align 32
+ .global _start
+
+ .proc _start
+ .type _start,@function
+_start:
+ .prologue
+ .save rp, r0
+
+ alloc r2 = ar.pfs,0,0,2,0
+ movl r3 = FPSR_DEFAULT
+ ;;
+ adds out0= 16,sp /* argc pointer */
+ movl gp = @gprel(0f)
+0: mov r9 = ip
+ ;;
+ sub gp = r9, gp /* back-compute gp value */
+
+ .body
+ br.call.sptk.few rp = __libc_init
+ ;;
+ break 0 /* break miserably if we ever return */
+
+ .endp _start