about summary refs log tree commit diff
path: root/crt/microblaze/crt1.s
diff options
context:
space:
mode:
Diffstat (limited to 'crt/microblaze/crt1.s')
-rw-r--r--crt/microblaze/crt1.s16
1 files changed, 16 insertions, 0 deletions
diff --git a/crt/microblaze/crt1.s b/crt/microblaze/crt1.s
new file mode 100644
index 00000000..33090bba
--- /dev/null
+++ b/crt/microblaze/crt1.s
@@ -0,0 +1,16 @@
+.weak  _init
+.weak  _fini
+.global _start
+.align  2
+_start:
+	add     r19, r0, r0             # Zero the frame pointer.
+	ori     r5, r0, main            # Get main() ...
+	lw      r6, r0, r1              # Get argc...
+	addi    r7, r1, 4               # ... and argv ...
+	ori     r8, r0, _init           # and _init() ...
+	ori     r9, r0, _fini           # and _fini() ...
+	add     r10, r0, r0             # ldso_fini == NULL
+	andi    r1, r1, -8              # align stack
+	addik   r1, r1, -4*6            # Leave space for the args.
+	bri     __libc_start_main       # Let's go!
+	nop                             # Never gets here.