summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/lm32/crt1.S
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2015-10-17 11:17:07 +0200
committerWaldemar Brodkorb <wbx@uclibc-ng.org>2015-10-19 01:37:11 +0200
commit312f482d395b591398296b5472a3884a12716cbd (patch)
tree682402fa4c470d4aa7c1334f7616408779559a8f /libc/sysdeps/linux/lm32/crt1.S
parentc807e03c88504cf01508daa6dbae9e93dacfcf3c (diff)
lm32: add new architecture
Add support for FPGA systems from Lattice Semiconductor http://www.latticesemi.com Merge https://github.com/m-labs/uclibc-lm32.git
Diffstat (limited to 'libc/sysdeps/linux/lm32/crt1.S')
-rw-r--r--libc/sysdeps/linux/lm32/crt1.S21
1 files changed, 21 insertions, 0 deletions
diff --git a/libc/sysdeps/linux/lm32/crt1.S b/libc/sysdeps/linux/lm32/crt1.S
new file mode 100644
index 000000000..661a1595f
--- /dev/null
+++ b/libc/sysdeps/linux/lm32/crt1.S
@@ -0,0 +1,21 @@
+.text
+.globl _start
+.type _start,@function
+.type main,@function
+.type __uClibc_main,@function
+
+_start:
+ mvi fp, 0 /* clear fp */
+ mvhi r1, hi(main) /* main */
+ ori r1, r1, lo(main)
+ lw r2, (sp+0) /* argc */
+ addi r3, sp, 4 /* argv */
+ mvhi r4, hi(_init) /* app_init */
+ ori r4, r4, lo(_init)
+ mvhi r5, hi(_fini) /* app_fini */
+ ori r5, r5, lo(_fini)
+ mvi r6, 0 /* rtld_fini */
+ mv r7, sp /* stack_end */
+
+ calli __uClibc_main
+