mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2024-11-26 20:50:40 +00:00
libs: Reduce logging
Some checks failed
Build and Release / reuse (push) Has been cancelled
Build and Release / clang-format (push) Has been cancelled
Build and Release / get-info (push) Has been cancelled
Build and Release / windows-sdl (push) Has been cancelled
Build and Release / windows-qt (push) Has been cancelled
Build and Release / macos-sdl (push) Has been cancelled
Build and Release / macos-qt (push) Has been cancelled
Build and Release / linux-sdl (push) Has been cancelled
Build and Release / linux-qt (push) Has been cancelled
Build and Release / pre-release (push) Has been cancelled
Some checks failed
Build and Release / reuse (push) Has been cancelled
Build and Release / clang-format (push) Has been cancelled
Build and Release / get-info (push) Has been cancelled
Build and Release / windows-sdl (push) Has been cancelled
Build and Release / windows-qt (push) Has been cancelled
Build and Release / macos-sdl (push) Has been cancelled
Build and Release / macos-qt (push) Has been cancelled
Build and Release / linux-sdl (push) Has been cancelled
Build and Release / linux-qt (push) Has been cancelled
Build and Release / pre-release (push) Has been cancelled
This commit is contained in:
parent
d43ea187b2
commit
798e45b20f
@ -9,46 +9,9 @@
|
|||||||
#include "core/loader/elf.h"
|
#include "core/loader/elf.h"
|
||||||
#include "core/loader/symbols_resolver.h"
|
#include "core/loader/symbols_resolver.h"
|
||||||
|
|
||||||
template <size_t N>
|
|
||||||
struct StringLiteral {
|
|
||||||
constexpr StringLiteral(const char (&str)[N]) {
|
|
||||||
std::copy_n(str, N, value);
|
|
||||||
}
|
|
||||||
|
|
||||||
char value[N];
|
|
||||||
};
|
|
||||||
|
|
||||||
template <StringLiteral name, class F, F f>
|
|
||||||
struct wrapper_impl;
|
|
||||||
|
|
||||||
template <StringLiteral name, class R, class... Args, PS4_SYSV_ABI R (*f)(Args...)>
|
|
||||||
struct wrapper_impl<name, PS4_SYSV_ABI R (*)(Args...), f> {
|
|
||||||
static R PS4_SYSV_ABI wrap(Args... args) {
|
|
||||||
if (std::string_view(name.value) != "scePthreadEqual" &&
|
|
||||||
std::string_view(name.value) != "sceUserServiceGetEvent" &&
|
|
||||||
!std::string_view(name.value).contains("scePthreadMutex") &&
|
|
||||||
!std::string_view(name.value).contains("pthread_mutex")) {
|
|
||||||
// LOG_WARNING(Core_Linker, "Function {} called", name.value);
|
|
||||||
}
|
|
||||||
if constexpr (std::is_same_v<R, s32> || std::is_same_v<R, u32>) {
|
|
||||||
const u32 ret = f(args...);
|
|
||||||
if (ret != 0 && !std::string_view(name.value).contains("pthread_equal")) {
|
|
||||||
LOG_WARNING(Core_Linker, "Function {} returned {:#x}", name.value, ret);
|
|
||||||
}
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
// stuff
|
|
||||||
return f(args...);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
template <StringLiteral name, class F, F f>
|
|
||||||
constexpr auto wrapper = wrapper_impl<name, F, f>::wrap;
|
|
||||||
|
|
||||||
// #define W(foo) wrapper<#foo, decltype(&foo), foo>
|
|
||||||
#define W(foo) foo
|
#define W(foo) foo
|
||||||
|
|
||||||
#define LIB_FUNCTION(nid, lib, libversion, mod, moduleVersionMajor, moduleVersionMinor, f) \
|
#define LIB_FUNCTION(nid, lib, libversion, mod, moduleVersionMajor, moduleVersionMinor, function) \
|
||||||
{ \
|
{ \
|
||||||
Core::Loader::SymbolResolver sr{}; \
|
Core::Loader::SymbolResolver sr{}; \
|
||||||
sr.name = nid; \
|
sr.name = nid; \
|
||||||
@ -58,10 +21,8 @@ constexpr auto wrapper = wrapper_impl<name, F, f>::wrap;
|
|||||||
sr.module_version_major = moduleVersionMajor; \
|
sr.module_version_major = moduleVersionMajor; \
|
||||||
sr.module_version_minor = moduleVersionMinor; \
|
sr.module_version_minor = moduleVersionMinor; \
|
||||||
sr.type = Core::Loader::SymbolType::Function; \
|
sr.type = Core::Loader::SymbolType::Function; \
|
||||||
{ \
|
auto func = reinterpret_cast<u64>(function); \
|
||||||
auto func = reinterpret_cast<u64>(wrapper<#f, decltype(&f), f>); \
|
sym->AddSymbol(sr, func); \
|
||||||
sym->AddSymbol(sr, func); \
|
|
||||||
} \
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#define LIB_OBJ(nid, lib, libversion, mod, moduleVersionMajor, moduleVersionMinor, function) \
|
#define LIB_OBJ(nid, lib, libversion, mod, moduleVersionMajor, moduleVersionMinor, function) \
|
||||||
|
Loading…
Reference in New Issue
Block a user