Libraries/ld-acess - Cleaning up
authorJohn Hodge <[email protected]>
Tue, 11 Oct 2011 09:01:22 +0000 (17:01 +0800)
committerJohn Hodge <[email protected]>
Tue, 11 Oct 2011 09:01:22 +0000 (17:01 +0800)
Usermode/Libraries/ld-acess.so_src/arch/x86_64.asm.h
Usermode/Libraries/ld-acess.so_src/loadlib.c
Usermode/Libraries/libc.so_src/stub.c

index 2c9d87f..ea605ef 100644 (file)
@@ -142,8 +142,10 @@ _SYSCALL_TAIL
 
 ; // Override the clone syscall
 #define clone  _clone_raw
+#define _exit  _exit_raw
 #include "syscalls.s.h"
 #undef clone
+#undef _exit
 
 [global clone:func]
 clone:
@@ -162,11 +164,16 @@ clone:
        sub rsi, 3*8
 .doCall:
        mov eax, SYS_CLONE
-       mov rdi, rsi    ; Stack
-       mov rsi, [rbp+2*8]      ; Flags
        SYSCALL_OP
        mov [rel _errno], ebx
        pop rbx
        pop rbp
        ret
 
+[global _exit:func]
+_exit:
+       xor eax, eax
+       SYSCALL_OP
+       jmp $
+
+; vim: ft=nasm
index 182109b..b6637c2 100644 (file)
@@ -5,7 +5,7 @@
 #include "common.h"
 #include <stdint.h>
 
-#define DEBUG  1
+#define DEBUG  0
 
 #if DEBUG
 # define DEBUGS(v...)  SysDebug(v)
index fbdf30d..3cab984 100644 (file)
@@ -83,6 +83,7 @@ int ErrorHandler(int Fault)
        //      fprintf(stderr, "%02i: %p  %s\n", i, gLoadedLibraries[i].Base, gLoadedLibraries[i].Name);\r
        }\r
        fprintf(stderr, "\n");\r
+       exit(-1);\r
        return -1;\r
 }\r
 \r

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