X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2FLibraries%2Flibc.so_src%2Fstub.c;h=20e796eecc759eab2e01128cab04dc83be8ddad0;hb=df224fad82532507b2801670dbb83666b69539dc;hp=d1ee56ea1cc671d678d5890d61cb6b57659a6756;hpb=b98fbd4e9c71447d81fc9bd643fb174c76346e0f;p=tpg%2Facess2.git diff --git a/Usermode/Libraries/libc.so_src/stub.c b/Usermode/Libraries/libc.so_src/stub.c index d1ee56ea..20e796ee 100644 --- a/Usermode/Libraries/libc.so_src/stub.c +++ b/Usermode/Libraries/libc.so_src/stub.c @@ -4,7 +4,7 @@ #include "stdio_int.h" #include "lib.h" #include -#include +#include #define USE_CPUID 0 @@ -22,6 +22,7 @@ static void cpuid(uint32_t Num, uint32_t *EAX, uint32_t *EBX, uint32_t *EDX, uin // === IMPORTS === extern tLoadedLib gLoadedLibraries[64]; +extern int _SysSetFaultHandler(int (*Handler)(int)); // === GLOBALS === extern char **_envp; @@ -43,10 +44,22 @@ tCPUID gCPU_Features; * \param argv Unused - Arguments (NULL for current version of ld-acess) * \param envp Environment Pointer */ -int SoMain(unsigned int BaseAddress, int argc, char **argv, char **envp) +int SoMain(UNUSED(uintptr_t, BaseAddress), UNUSED(int, argc), UNUSED(char **, argv), char **envp) { // Init for env.c _envp = envp; + + #if 0 + { + int i = 0; + char **tmp; + _SysDebug("envp = %p", envp); + for(tmp = envp; *tmp; tmp++,i++) + { + _SysDebug("envp[%i] = '%s'", i, *tmp); + } + } + #endif // Init FileIO Pointers stdin = &_iob[0]; @@ -82,6 +95,7 @@ int ErrorHandler(int Fault) // fprintf(stderr, "%02i: %p %s\n", i, gLoadedLibraries[i].Base, gLoadedLibraries[i].Name); } fprintf(stderr, "\n"); + exit(-1); return -1; }