fix(libc): no inline for not impl helper

This commit is contained in:
boykopovar 2026-09-06 15:20:07 +03:00
parent b000880913
commit 8ac1af0513
4 changed files with 9 additions and 7 deletions

View File

@ -4,7 +4,7 @@ Converter for native execution of PlayStation 5 ELF binaries on Linux through bi
## Status
Execution reaches `_start`, stack unwinding and exception handling tables are built - an unhandled exception from the `memset` implementation (`libc memset not implemented`) is printed to stderr and terminates the process.
Execution reaches `_start`, stack unwinding and exception handling tables are built. All unimplemented stub functions throw std::runtime_error. `what()` is printed to stderr and the process terminates. Now: `sceKernelGetDirectMemorySize not implemented`
## Disclaimer

View File

@ -2,6 +2,7 @@
#include <cstddef>
#include "SceTypes.hpp"
#include "src/General.cpp"
#include "src/specifics/gcc/StackGuard.cpp"
#include "src/specifics/linux/DlIteratePhdr.cpp"
#include "src/Strings.cpp"

View File

@ -1,11 +1,6 @@
#ifndef CORE_LIBS_PRX_LIBC_INCLUDE_GENERAL_HPP
#define CORE_LIBS_PRX_LIBC_INCLUDE_GENERAL_HPP
#include <stdexcept>
#include <string>
inline void NotImplemented_nid_no_patch(const char* funcName) {
throw std::runtime_error(std::string(funcName) + " not implemented");
}
void NotImplemented_nid_no_patch(const char* funcName);
#endif

View File

@ -0,0 +1,6 @@
#include <stdexcept>
#include <string>
extern "C" void NotImplemented_nid_no_patch(const char* funcName) {
throw std::runtime_error(std::string(funcName) + " not implemented");
}