X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=loader%2Fsyscalls.S;h=d47858206ee4ea8b36dcb2fee40ae497eeb98dba;hb=890c1dc54f2d12febbf4238c73ccd145a6724771;hp=e72e7d22f72d5bcb4b1906bd77d85308ee5301fc;hpb=d0b9b0df7ed0dc36aabe30e2d584c27c8c32a3d9;p=ginge.git diff --git a/loader/syscalls.S b/loader/syscalls.S index e72e7d2..d478582 100644 --- a/loader/syscalls.S +++ b/loader/syscalls.S @@ -1,6 +1,16 @@ @ vim:filetype=armasm #include +@ support ancient toolchains (gcc 2.95.3 has upto 225) +#ifndef __NR_futex +#define __NR_futex (__NR_SYSCALL_BASE+240) +#endif +#ifndef __NR_exit_group +#define __NR_exit_group (__NR_SYSCALL_BASE+248) +#endif +#ifndef __NR_clock_gettime +#define __NR_clock_gettime (__NR_SYSCALL_BASE+263) +#endif .global sys_cacheflush @ const void *start_addr, const void *end_addr sys_cacheflush: @@ -75,14 +85,22 @@ g_clone: stmfd sp!, {r4, r5, r6, lr} ldmia r12, {r4, r5, r6} swi \nr - stmfd sp!, {r4, r5, r6, pc} + ldmfd sp!, {r4, r5, r6, pc} .endm raw_syscall_easy g_open_raw, __NR_open raw_syscall_easy g_read_raw, __NR_read raw_syscall_easy g_write_raw, __NR_write +raw_syscall g_mmap2_raw, __NR_mmap2 +raw_syscall_easy g_munmap_raw, __NR_munmap +raw_syscall_easy g_ioctl_raw, __NR_ioctl +raw_syscall_easy g_close_raw, __NR_close +raw_syscall_easy g_chdir_raw, __NR_chdir +raw_syscall_easy g_mkdir_raw, __NR_mkdir raw_syscall_easy g_futex_raw, __NR_futex raw_syscall_easy g_nanosleep_raw, __NR_nanosleep +raw_syscall_easy g_readlink_raw, __NR_readlink +raw_syscall_easy g_execve_raw, __NR_execve raw_syscall_easy g_clock_gettime_raw, __NR_clock_gettime raw_syscall_easy g_rt_sigprocmask_raw, __NR_rt_sigprocmask - +raw_syscall_easy g_exit_group_raw, __NR_exit_group