about summary refs log tree commit diff
path: root/crt
diff options
context:
space:
mode:
Diffstat (limited to 'crt')
-rw-r--r--crt/mipsn32/crti.s18
-rw-r--r--crt/mipsn32/crtn.s12
2 files changed, 30 insertions, 0 deletions
diff --git a/crt/mipsn32/crti.s b/crt/mipsn32/crti.s
new file mode 100644
index 00000000..14fa28d9
--- /dev/null
+++ b/crt/mipsn32/crti.s
@@ -0,0 +1,18 @@
+.set	noreorder
+.section	.init
+.global	_init
+.type	_init,@function
+.align	2
+_init:
+	subu	$sp, $sp, 32
+	sd	$gp, 16($sp)
+	sd	$ra, 24($sp)
+
+.section	.fini
+.global	_fini
+.type	_fini,@function
+.align	2
+_fini:
+	subu	$sp, $sp, 32
+	sd	$gp, 16($sp)
+	sd	$ra, 24($sp)
diff --git a/crt/mipsn32/crtn.s b/crt/mipsn32/crtn.s
new file mode 100644
index 00000000..dccd7e89
--- /dev/null
+++ b/crt/mipsn32/crtn.s
@@ -0,0 +1,12 @@
+.set	noreorder
+.section	.init
+	ld	$gp, 16($sp)
+	ld	$ra, 24($sp)
+	j	$ra
+	addu	$sp, $sp, 32
+
+.section	.fini
+	ld	$gp, 16($sp)
+	ld	$ra, 24($sp)
+	j	$ra
+	addu	$sp, $sp, 32