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
46128b2
..
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
@@
-39,6
+39,16
@@
__clear_cache:
svc #0x1001
mov pc, lr
svc #0x1001
mov pc, lr
+
+@ >r0: PC
+@ >r1: Pointer to item count
+@ <r0: Address
+@ STUBBED
+__gnu_Unwind_Find_exidx:
+ mov r0, #0
+ str r0, [r1]
+ mov pc, lr
+
.section .data
.globl _errno
_errno: .long 0 @ Placed in .text, to allow use of relative addressing
.section .data
.globl _errno
_errno: .long 0 @ Placed in .text, to allow use of relative addressing
@@
-90,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:
@@
-110,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