diff --git a/rpcs3/Emu/ARMv7/Modules/sceLibKernel.cpp b/rpcs3/Emu/ARMv7/Modules/sceLibKernel.cpp index d176f0012d..2d5fbc14b1 100644 --- a/rpcs3/Emu/ARMv7/Modules/sceLibKernel.cpp +++ b/rpcs3/Emu/ARMv7/Modules/sceLibKernel.cpp @@ -3,16 +3,14 @@ #include "Emu/Memory/Memory.h" #include "Emu/ARMv7/PSVFuncList.h" -extern psv_log_base& sceLibKernel; +extern psv_log_base sceLibKernel; -#define REG_FUNC(nid, name) reg_psv_func(nid, module, #name, &name) +#define REG_FUNC(nid, name) reg_psv_func(nid, &sceLibKernel, #name, &name) -psv_log_base& sceLibKernel = []() -> psv_log_base& +psv_log_base sceLibKernel = []() -> psv_log_base { - psv_log_base* module = new psv_log_base("sceLibKernel"); - //REG_FUNC(0x23EAA62, sceKernelPuts); //REG_FUNC(0xB0335388, sceClibToupper); //REG_FUNC(0x4C5471BC, sceClibTolower); @@ -378,5 +376,5 @@ psv_log_base& sceLibKernel = []() -> psv_log_base& /* SceDebugLed */ //REG_FUNC(0x78E702D3, sceKernelSetGPO); - return *module; + return psv_log_base("sceLibKernel"); }(); diff --git a/rpcs3/Emu/ARMv7/Modules/sceLibc.cpp b/rpcs3/Emu/ARMv7/Modules/sceLibc.cpp index eac21b99b1..61970f01b1 100644 --- a/rpcs3/Emu/ARMv7/Modules/sceLibc.cpp +++ b/rpcs3/Emu/ARMv7/Modules/sceLibc.cpp @@ -3,7 +3,7 @@ #include "Emu/Memory/Memory.h" #include "Emu/ARMv7/PSVFuncList.h" -extern psv_log_base& sceLibc; +extern psv_log_base sceLibc; namespace sce_libc_func { @@ -38,12 +38,10 @@ namespace sce_libc_func } } -#define REG_FUNC(nid, name) reg_psv_func(nid, module, #name, &sce_libc_func::name) +#define REG_FUNC(nid, name) reg_psv_func(nid, &sceLibc, #name, &sce_libc_func::name) -psv_log_base& sceLibc = []() -> psv_log_base& +psv_log_base sceLibc = []() -> psv_log_base { - psv_log_base* module = new psv_log_base("SceLibc"); - REG_FUNC(0x33b83b70, __cxa_atexit); REG_FUNC(0x826bbbaf, exit); REG_FUNC(0x9a004680, printf); @@ -338,5 +336,5 @@ psv_log_base& sceLibc = []() -> psv_log_base& //REG_FUNC(0x7D35108B, _FSnan); //REG_FUNC(0x48AEEF2A, _LSnan); - return *module; + return psv_log_base("SceLibc"); }(); diff --git a/rpcs3/Emu/ARMv7/Modules/sceLibm.cpp b/rpcs3/Emu/ARMv7/Modules/sceLibm.cpp index 910f110f49..30fcde88cb 100644 --- a/rpcs3/Emu/ARMv7/Modules/sceLibm.cpp +++ b/rpcs3/Emu/ARMv7/Modules/sceLibm.cpp @@ -3,19 +3,17 @@ #include "Emu/Memory/Memory.h" #include "Emu/ARMv7/PSVFuncList.h" -extern psv_log_base& sceLibm; +extern psv_log_base sceLibm; namespace sce_libm_func { } -#define REG_FUNC(nid, name) reg_psv_func(nid, module, #name, &sce_libm_func::name) +#define REG_FUNC(nid, name) reg_psv_func(nid, &sceLibm, #name, &sce_libm_func::name) -psv_log_base& sceLibm = []() -> psv_log_base& +psv_log_base sceLibm = []() -> psv_log_base { - psv_log_base* module = new psv_log_base("SceLibm"); - //REG_FUNC(0xC73FE76D, _Exp); //REG_FUNC(0xFF4EAE04, _FExp); //REG_FUNC(0xB363D7D4, _LExp); @@ -215,5 +213,5 @@ psv_log_base& sceLibm = []() -> psv_log_base& //REG_FUNC(0xC4F7E42C, _FDsign); //REG_FUNC(0x1DF73D2B, _LDsign); - return *module; + return psv_log_base("SceLibm"); }(); diff --git a/rpcs3/Emu/ARMv7/Modules/sceLibstdcxx.cpp b/rpcs3/Emu/ARMv7/Modules/sceLibstdcxx.cpp index a2ddd50388..e2b4fb7c8a 100644 --- a/rpcs3/Emu/ARMv7/Modules/sceLibstdcxx.cpp +++ b/rpcs3/Emu/ARMv7/Modules/sceLibstdcxx.cpp @@ -3,7 +3,7 @@ #include "Emu/Memory/Memory.h" #include "Emu/ARMv7/PSVFuncList.h" -extern psv_log_base& sceLibstdcxx; +extern psv_log_base sceLibstdcxx; namespace sce_libstdcxx_func { @@ -26,12 +26,10 @@ namespace sce_libstdcxx_func } } -#define REG_FUNC(nid, name) reg_psv_func(nid, module, #name, &sce_libstdcxx_func::name) +#define REG_FUNC(nid, name) reg_psv_func(nid, &sceLibstdcxx, #name, &sce_libstdcxx_func::name) -psv_log_base& sceLibstdcxx = []() -> psv_log_base& +psv_log_base sceLibstdcxx = []() -> psv_log_base { - psv_log_base* module = new psv_log_base("SceLibstdcxx"); - REG_FUNC(0x173E7421, __aeabi_unwind_cpp_pr0); REG_FUNC(0x3C78DDE3, __aeabi_unwind_cpp_pr1); REG_FUNC(0xF95BDD36, __aeabi_unwind_cpp_pr2); @@ -980,7 +978,7 @@ psv_log_base& sceLibstdcxx = []() -> psv_log_base& //REG_FUNC(0x33836375, vtable for __cxxabiv1::__fundamental_type_info); //REG_FUNC(0x94664DEB, vtable for __cxxabiv1::__pointer_to_member_type_info); - return *module; + return psv_log_base("SceLibstdcxx"); }(); /* diff --git a/rpcs3/Emu/ARMv7/PSVFuncList.cpp b/rpcs3/Emu/ARMv7/PSVFuncList.cpp index 1bd1fea494..bde15b0dc9 100644 --- a/rpcs3/Emu/ARMv7/PSVFuncList.cpp +++ b/rpcs3/Emu/ARMv7/PSVFuncList.cpp @@ -2,9 +2,9 @@ #include "Emu/System.h" #include "PSVFuncList.h" -std::vector& g_psv_func_list = []() -> std::vector& +std::vector g_psv_func_list = []() -> std::vector { - auto v = new std::vector; + std::vector v; psv_func f = { @@ -19,9 +19,9 @@ std::vector& g_psv_func_list = []() -> std::vector& }), nullptr, }; - v->push_back(f); + v.push_back(f); - return *v; + return v; }(); void add_psv_func(psv_func& data) @@ -58,10 +58,10 @@ void execute_psv_func_by_index(ARMv7Thread& CPU, u32 index) (*g_psv_func_list[index].func)(CPU); } -extern psv_log_base& sceLibc; -extern psv_log_base& sceLibm; -extern psv_log_base& sceLibstdcxx; -extern psv_log_base& sceLibKernel; +extern psv_log_base sceLibc; +extern psv_log_base sceLibm; +extern psv_log_base sceLibstdcxx; +extern psv_log_base sceLibKernel; void list_known_psv_modules() {