this repo has no description
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Call exported exit(). Fixes #240

+6 -1
+6 -1
src/dyld/dyld.cpp
··· 97 97 NativeObject* obj; 98 98 typedef int (mainPtr)(int argc, char** argv, char** envp); 99 99 mainPtr* main; 100 + typedef void (exitPtr)(int status); 101 + exitPtr* target_exit; 100 102 101 103 obj = new NativeObject(argv[1]); 102 104 obj->load(); 103 105 NativeObject::setMainObject(obj); 104 106 105 107 main = (mainPtr*) obj->getExportedSymbol("main", false); 108 + target_exit = (exitPtr*) obj->getExportedSymbol("exit", false); 106 109 107 110 if (!main) 108 111 throw std::runtime_error("No entry point found in Darling-native executable"); 112 + if (!target_exit) 113 + target_exit = exit; 109 114 110 115 if (pretendArgv0 != nullptr) 111 116 argv[1] = (char*) pretendArgv0; 112 - exit(main(argc-1, &argv[1], envp)); 117 + target_exit(main(argc-1, &argv[1], envp)); 113 118 } 114 119 else 115 120 {