about summary refs log tree commit diff
path: root/arch/powerpc64/crt_arch.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/powerpc64/crt_arch.h')
-rw-r--r--arch/powerpc64/crt_arch.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/arch/powerpc64/crt_arch.h b/arch/powerpc64/crt_arch.h
new file mode 100644
index 00000000..168669a9
--- /dev/null
+++ b/arch/powerpc64/crt_arch.h
@@ -0,0 +1,19 @@
+__asm__(
+".text \n"
+".global " START " \n"
+".type   " START ", %function \n"
+START ": \n"
+"	addis  2, 12, .TOC.-" START "@ha \n"
+"	addi   2,  2, .TOC.-" START "@l \n"
+"	lwz    4, 1f-" START "(12)\n"
+"	add    4, 4, 12 \n"
+"	mr     3, 1 \n"
+"	clrrdi 1, 1, 4 \n"
+"	li     0, 0 \n"
+"	stdu   0, -32(1) \n"
+"	mtlr   0 \n"
+"	bl " START "_c \n"
+".weak   _DYNAMIC \n"
+".hidden _DYNAMIC \n"
+"1:	.long _DYNAMIC-" START "\n"
+);