mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-10-22 08:33:12 -05:00
PPSA21564 and PPSA21567 import std::_Fiopen (NID vYWK2Pz8vGE), the only libc NID the host libc lacks. Without it the executable fails to load against the host libc when the title's own libc.prx is left out of the guest conversion, which is how the Linux runs of PPSA21564 avoid the libc.prx binding crash. The values of the open mode and the meaning of the protection argument are unknown, so the export throws when called; it was never called in a 300 s run of PPSA21567. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014A3UgWDUxE1EeHyVZm6tiN
16 lines
482 B
C++
16 lines
482 B
C++
#include "prx/libc/include/general/VabiMacros.hpp"
|
|
#include <cstdio>
|
|
#include <stdexcept>
|
|
#include <string_view>
|
|
|
|
extern "C" std::FILE* APS5_VABI _ZSt7_FiopenPKcNSt5_IosbIiE9_OpenmodeEi_nid_postfix(const char*, int, int);
|
|
|
|
int main() {
|
|
try {
|
|
_ZSt7_FiopenPKcNSt5_IosbIiE9_OpenmodeEi_nid_postfix("unused", 1, 0);
|
|
} catch (const std::runtime_error& error) {
|
|
return std::string_view(error.what()) == "std::_Fiopen not implemented" ? 0 : 1;
|
|
}
|
|
return 1;
|
|
}
|