X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=ginge.git;a=blobdiff_plain;f=loader%2Fsyscalls.S;h=f08de566287bdc823acb7a7d47ce2661ea6fb04b;hp=e72e7d22f72d5bcb4b1906bd77d85308ee5301fc;hb=df608af11ff903836b8a2be235719511df03b025;hpb=d0b9b0df7ed0dc36aabe30e2d584c27c8c32a3d9 diff --git a/loader/syscalls.S b/loader/syscalls.S index e72e7d2..f08de56 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,23 @@ 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_personality, __NR_personality +raw_syscall_easy g_exit_group_raw, __NR_exit_group