From 8c0a3d9e5c169fc9d0f246ab59362b658b029ad7 Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Sat, 29 Sep 2012 01:05:31 -0400 Subject: 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. --- crt/microblaze/crt1.s | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 crt/microblaze/crt1.s (limited to 'crt/microblaze/crt1.s') 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. -- cgit v1.2.1