musl/crt/microblaze/crt1.s
Rich Felker 8c0a3d9e5c microblaze port
based on initial work by rdp, with heavy modifications. some features
including threads are untested because qemu app-level emulation seems
to be broken and I do not have a proper system image for testing.
2012-09-29 01:05:31 -04:00

17 lines
627 B
ArmAsm

.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.