about summary refs log tree commit diff
path: root/crt
diff options
context:
space:
mode:
Diffstat (limited to 'crt')
-rw-r--r--crt/mips64/crti.s17
-rw-r--r--crt/mips64/crtn.s13
2 files changed, 30 insertions, 0 deletions
diff --git a/crt/mips64/crti.s b/crt/mips64/crti.s
new file mode 100644
index 00000000..c962dd09
--- /dev/null
+++ b/crt/mips64/crti.s
@@ -0,0 +1,17 @@
+.set noreorder
+
+.section .init
+.global _init
+.align 3
+_init:
+	dsubu	$sp, $sp, 32
+	sd	$gp, 16($sp)
+	sd	$ra, 24($sp)
+
+.section .fini
+.global _fini
+.align 3
+_fini:
+	dsubu	$sp, $sp, 32
+	sd	$gp, 16($sp)
+	sd	$ra, 24($sp)
diff --git a/crt/mips64/crtn.s b/crt/mips64/crtn.s
new file mode 100644
index 00000000..f3930b24
--- /dev/null
+++ b/crt/mips64/crtn.s
@@ -0,0 +1,13 @@
+.set noreorder
+
+.section .init
+	ld $gp,16($sp)
+	ld $ra,24($sp)
+	j $ra
+	daddu $sp,$sp,32
+
+.section .fini
+	ld $gp,16($sp)
+	ld $ra,24($sp)
+	j $ra
+	daddu $sp,$sp,32