Files
AnyPS5/core/relinker/cli/include/Cli.hpp
T
Claude 210987745c Merge upstream main into fix/audit-2026-09
Resolve conflicts with boykopovar/AnyPS5#10 (sce module loading) and
later upstream changes.

- Pthread Cond/Mutex: take upstream. It already releases mutex
  ownership across condition waits, returns ETIMEDOUT 0x8002003C, and
  rejects unlocks from non-owners for every mutex type.
- Pthread Thread: keep upstream's lifecycle, Windows adoption and job
  affinity; re-apply the POSIX fixes on top: reference-counted
  release on join/detach/exit, self-join rejection on both platforms,
  and scePthreadSelf adoption for threads not created by
  scePthreadCreate.
- Semaphore: keep upstream's TimedWait::Condition and wait tracing;
  re-apply sceKernelDeleteSema waking waiters with EACCES.
- Relinker: keep --windows-gui alongside upstream's --skip-sce-module,
  trampoline-aware Patch signature and new Python tests.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018emyZ4Rk8yoSJvxTFBe4DL
2026-09-28 07:34:25 +00:00

32 lines
680 B
C++

#ifndef CORE_RELINKER_CLI_INCLUDE_CLI_HPP
#define CORE_RELINKER_CLI_INCLUDE_CLI_HPP
#include <string>
#include <cstdint>
namespace Cli {
struct Args {
bool skipSyscallCheck = false;
bool skipSceModule = false;
bool toIntel = false;
bool writeRegistry = false;
bool toWindows = false;
bool lazyBinding = false;
bool autorun = false;
bool windowsDiagnostics = false;
bool windowsGui = false;
std::uint32_t unusedFilterLevel = 0;
std::string inputPath;
std::string outputPath;
std::string runPath = "$ORIGIN/libs";
};
Args ParseArgs(int argc, char* argv[]);
int Autorun(const std::string& absPath, bool toWindows);
}
#endif