By thePowersGang\r
*/\r
#include <stdint.h>\r
+#include <stddef.h>\r
#include "common.h"\r
\r
// === PROTOTYPES ===\r
void *DoRelocate(void *base, char **envp, const char *Filename);\r
int CallUser(void *Entry, void *SP);\r
-void *ElfRelocate(void *Base, char **envp, const char *Filename);\r
-void *PE_Relocate(void *Base, char **envp, const char *Filename);\r
\r
// === Imports ===\r
-extern void gLinkedBase;\r
+extern char gLinkedBase[];\r
extern tLoadedLib gLoadedLibraries[];\r
+char **gEnvP;\r
\r
// === CODE ===\r
/**\r
\brief Library entry point\r
\note This is the entrypoint for the library\r
*/\r
-void *SoMain(void *base)\r
+void *SoMain(void *base, int argc, char **argv, char **envp)\r
{\r
void *ret;\r
\r
+ gEnvP = envp;\r
+\r
// - Assume that the file pointer will be less than 4096\r
if((intptr_t)base < 0x1000) {\r
SysDebug("ld-acess - SoMain: Passed file pointer %i\n", base);\r
*/\r
void *DoRelocate(void *base, char **envp, const char *Filename)\r
{\r
- Uint8 *hdr = base;\r
+ uint8_t *hdr = base;\r
// Load Executable\r
if(memcmp(base, "\x7F""ELF", 4) == 0)\r
return ElfRelocate(base, envp, Filename);\r