git.ucc.asn.au
/
tpg
/
acess2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'master' of git://localhost/acess2
[tpg/acess2.git]
/
Usermode
/
Libraries
/
ld-acess.so_src
/
arch
/
armv7.S.h
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
2c85b14
..
351c841
100644
(file)
--- 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
// Override the clone syscall
#define _exit _exit_raw
#define _clone _clone_raw
+#define _SysSeek _SysSeek_borken
#include "syscalls.s.h"
#undef _exit
#undef _clone
#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:
.globl _clone
_clone:
@@
-120,6
+134,7
@@
_clone_ret:
pop {r4}
mov pc, lr
pop {r4}
mov pc, lr
+
.globl _exit
_exit:
svc #0
.globl _exit
_exit:
svc #0
UCC
git Repository :: git.ucc.asn.au