about summary refs log tree commit diff
path: root/crt
diff options
context:
space:
mode:
Diffstat (limited to 'crt')
-rw-r--r--crt/powerpc64/crti.s21
-rw-r--r--crt/powerpc64/crtn.s13
2 files changed, 34 insertions, 0 deletions
diff --git a/crt/powerpc64/crti.s b/crt/powerpc64/crti.s
new file mode 100644
index 00000000..9f712f0e
--- /dev/null
+++ b/crt/powerpc64/crti.s
@@ -0,0 +1,21 @@
+.section .init
+.align 2
+.global _init
+_init:
+	addis 2, 12, .TOC.-_init@ha
+	addi  2,  2, .TOC.-_init@l
+	.localentry _init,.-_init
+	mflr 0
+	std  0, 16(1)
+	stdu 1,-32(1)
+
+.section .fini
+.align 2
+.global _fini
+_fini:
+	addis 2, 12, .TOC.-_fini@ha
+	addi  2,  2, .TOC.-_fini@l
+	.localentry _fini,.-_fini
+	mflr 0
+	std  0, 16(1)
+	stdu 1,-32(1)
diff --git a/crt/powerpc64/crtn.s b/crt/powerpc64/crtn.s
new file mode 100644
index 00000000..a7a9f4a0
--- /dev/null
+++ b/crt/powerpc64/crtn.s
@@ -0,0 +1,13 @@
+.section .init
+.align 2
+	addi 1, 1, 32
+	ld   0, 16(1)
+	mtlr 0
+	blr
+
+.section .fini
+.align 2
+	addi 1, 1, 32
+	ld   0, 16(1)
+	mtlr 0
+	blr