3 #define acess__SysSpawn _disabled_acess__SysSpawn
4 #include "../ld-acess_src/exports.c"
6 void *_crt0_exit_handler;
8 int *libc_geterrno(void)
13 void _ZN4_sys5debugEPKcz(const char *fmt, ...) __attribute__((alias("acess__SysDebug")));
14 void _ZN4_sys7hexdumpEPKcPKvj(const char *tag, const void *ptr, size_t size) __attribute__((alias("acess__SysDebugHex")));
16 #undef acess__SysSpawn
18 int acess__SysSpawn(const char *binary, const char **argv, const char **envp, int nfd, int fds[], struct s_sys_spawninfo *info)
24 Debug("_SysSpawn('%s', %p (%i), %p, %i, %p, %p)",
25 binary, argv, argc, envp, nfd, fds, info);
30 if( _Syscall(SYS_AN_GETPATH, "<d >s", sizeof(realpath)-1, realpath, binary) <= 0 ) {
31 Warning("No translation for path '%s'", binary);
36 Warning("TODO: Spawn '%s' = '%s'", binary, realpath);
39 int newID = _Syscall(SYS_AN_SPAWN, "<d >d >d",
40 sizeof(emulated_tid), &emulated_tid,
42 (info ? sizeof(*info) : 0), info
49 if( acessnative_spawn(realpath, newID, argv, envp) ) {
55 void ldacess_DumpLoadedLibraries(void)
57 Debug("ldacess_DumpLoadedLibraries");