X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2FLibraries%2Fld-acess.so_src%2Farch%2Farmv7.S.h;h=351c84147c43f2867c49b632548e5335b0557a13;hb=b7d9f86f7a1c23be18b50d5c647fd5d3c08369c3;hp=2c85b14ef1472e9016f7e8107cc479a7f3447ba4;hpb=1409c5235c5228061ba6605fc1f41302f4f3fe78;p=tpg%2Facess2.git diff --git a/Usermode/Libraries/ld-acess.so_src/arch/armv7.S.h b/Usermode/Libraries/ld-acess.so_src/arch/armv7.S.h index 2c85b14e..351c8414 100644 --- a/Usermode/Libraries/ld-acess.so_src/arch/armv7.S.h +++ b/Usermode/Libraries/ld-acess.so_src/arch/armv7.S.h @@ -100,9 +100,23 @@ _errno: .long 0 @ Placed in .text, to allow use of relative addressing // Override the clone syscall #define _exit _exit_raw #define _clone _clone_raw +#define _SysSeek _SysSeek_borken #include "syscalls.s.h" #undef _exit #undef _clone +#undef _SysSeek + +// NOTE: _SysSeek needs special handling for alignment +.globl _SysSeek +_SysSeek: + push {lr} + mov r1,r2 + mov r2,r3 + ldr r3, [sp,#4] + svc #SYS_SEEK + ldr r3, =_errno + str r2, [r3] + pop {pc} .globl _clone _clone: @@ -120,6 +134,7 @@ _clone_ret: pop {r4} mov pc, lr + .globl _exit _exit: svc #0