Usermode/libc - Fix strchr and strrchr behavior
[tpg/acess2.git] / Usermode / Libraries / ld-acess.so_src / arch / armv7.S.h
index 46128b2..7e604f1 100644 (file)
@@ -16,7 +16,7 @@ _start:
        
        b _exit
 
-@ Stupid GCC
+// Stupid GCC
 .globl __ucmpdi2
 __ucmpdi2:
        cmp r0, r2
@@ -32,13 +32,23 @@ __ucmpdi2:
        mov r0, #1
        mov pc, lr
 
-@ Well, can't blame it
-@ - Clear the instruction cache
+//@ Well, can't blame it
+// - Clear the instruction cache
 .globl __clear_cache
 __clear_cache:
        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
@@ -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
+#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:
@@ -110,6 +134,7 @@ _clone_ret:
        pop {r4}
        mov pc, lr
 
+
 .globl _exit
 _exit:
        svc #0

UCC git Repository :: git.ucc.asn.au