X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2FLibraries%2Fld-acess.so_src%2Fexport.c;h=e40dd8eb250324624397de216db9f8a0dda881c6;hb=5cab4c07bc13888dc7956194ef9595508072a4eb;hp=9aa47e6a7edc34019d728a8c4e2659b08724e9a6;hpb=270e5fe88b0666021a7a6393334db7feeb8245f8;p=tpg%2Facess2.git diff --git a/Usermode/Libraries/ld-acess.so_src/export.c b/Usermode/Libraries/ld-acess.so_src/export.c index 9aa47e6a..e40dd8eb 100644 --- a/Usermode/Libraries/ld-acess.so_src/export.c +++ b/Usermode/Libraries/ld-acess.so_src/export.c @@ -4,65 +4,54 @@ #include "common.h" #include +extern uint64_t __udivdi3(uint64_t Num, uint64_t Den); +extern uint64_t __umoddi3(uint64_t Num, uint64_t Den); +extern int32_t __divsi3(int32_t Num, int32_t Den); +extern int32_t __modsi3(int32_t Num, int32_t Den); +extern uint32_t __udivsi3(uint32_t Num, uint32_t Den); +extern uint32_t __umodsi3(uint32_t Num, uint32_t Den); +extern void ldacess_DumpLoadedLibraries(void); +extern void _ZN4_sys5debugEPKcz(const char *,...); // C++ "_sys::debug" used by STL debug + #define _STR(x) #x #define STR(x) _STR(x) -#define EXP(sym) {(Uint)&sym, STR(sym)} +#define EXP(sym) {&sym, STR(sym)} + +#define SYSCALL0(name,num) EXP(name), +#define SYSCALL1(name,num) EXP(name), +#define SYSCALL2(name,num) EXP(name), +#define SYSCALL3(name,num) EXP(name), +#define SYSCALL4(name,num) EXP(name), +#define SYSCALL5(name,num) EXP(name), +#define SYSCALL6(name,num) EXP(name), // === CONSTANTS === const struct { - Uint Value; + void *Value; char *Name; } caLocalExports[] = { EXP(gLoadedLibraries), - EXP(_exit), - EXP(clone), - EXP(kill), - EXP(yield), - EXP(sleep), - EXP(waittid), - EXP(gettid), - EXP(getpid), - EXP(getuid), - EXP(getgid), - - EXP(setuid), - EXP(setgid), - - EXP(SysSetName), - //EXP(SysGetName), - - //EXP(SysSetPri), - - EXP(SysSendMessage), - EXP(SysGetMessage), - - //EXP(SysSpawn), - EXP(execve), - EXP(SysLoadBin), - EXP(SysUnloadBin), - - EXP(_SysSetFaultHandler), + EXP(_errno), + EXP(ldacess_DumpLoadedLibraries), - EXP(open), - EXP(reopen), - EXP(close), - EXP(read), - EXP(write), - EXP(seek), - EXP(tell), - EXP(finfo), - EXP(readdir), - EXP(_SysGetACL), - EXP(chdir), - EXP(ioctl), - EXP(_SysMount), - - EXP(_SysOpenChild), + #define __ASSEMBLER__ + #include "arch/syscalls.s.h" + #undef __ASSEMBLER__ - EXP(_SysGetPhys), - EXP(_SysAllocate), - EXP(_SysDebug) - + #ifdef ARCHDIR_is_armv7 + {0, "__gnu_Unwind_Find_exidx"}, + {0, "__cxa_call_unexpected"}, + {0, "__cxa_type_match"}, + {0, "__cxa_begin_cleanup"}, + #endif +#if 0 + EXP(__umoddi3), + EXP(__udivdi3), + EXP(__divsi3), + EXP(__modsi3), + EXP(__udivsi3), + EXP(__umodsi3) +#endif }; const int ciNumLocalExports = sizeof(caLocalExports)/sizeof(caLocalExports[0]);