about summary refs log tree commit diff
path: root/crt/microblaze/crt1.s
blob: 33090bba40da4ab1e79922ad472124e1d39ed2f7 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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.