Commit Graph

5 Commits

Author SHA1 Message Date
Danny Milosavljevic b956dc152c
ARM: Fix argc, argv and envp handling.
* lib/linux/arm-mes-mescc/crt1.c (_start): Fix argc, argv and envp handling.
* lib/arm-mes/arm.M1 (add____%r2,%r0,%r1,lsl#2): Add macro.
(add____%r2,%r0,%r1,lsl#4): Delete macro.
(add____%r2,%r1,%r0,lsl#2): Add macro.
2019-09-09 18:34:07 +02:00
Danny Milosavljevic 5874b709b8
ARM: Add __sys_call6, _sys_call6.
* lib/linux/arm-mes-mescc/syscall.c (__sys_call6): New procedure.
(_sys_call6): New procedure.
2019-09-09 18:34:06 +02:00
Danny Milosavljevic 810d063d36
ARM: Use %fp in _start.
* lib/linux/arm-mes-mescc/crt1.c (_start): Use %fp instead of %sp.
2019-09-09 18:34:06 +02:00
Danny Milosavljevic 20d0e0d950
ARM: Fix loads.
Follow-up to 7e40a92732c3035003ae779022e5beaf6562375f.

* lib/arm-mes-mescc/setjmp.c (longjmp): Disable.
* lib/linux/arm-mes-mescc/mini.c (_exit): Use ldr.
(_write): Use ldr.
* lib/linux/arm-mes-mescc/syscall.c (__sys_call): Use ldr.
(__sys_call1): Use ldr.
(__sys_call2): Use ldr.
(__sys_call3): Use ldr.
(__sys_call4): Use ldr.
2019-09-09 18:34:06 +02:00
Danny Milosavljevic 3aaf8774a8
Add ARM C runtime library.
* lib/linux/arm-mes/crt1.c: New file.
* lib/linux/arm-mes/mes.c: New file.
* lib/linux/arm-mes/mini.c: New file.
* lib/linux/libc-mini.c: Use them.
2019-09-09 18:33:52 +02:00