mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2025-07-23 10:35:03 +00:00
enabled debug function names in stdlib,string
This commit is contained in:
parent
5084145cd9
commit
283055e68e
@ -4,6 +4,7 @@
|
|||||||
|
|
||||||
#include "common/debug.h"
|
#include "common/debug.h"
|
||||||
#include "common/log.h"
|
#include "common/log.h"
|
||||||
|
#include <core/hle/libraries/libs.h>
|
||||||
|
|
||||||
namespace Core::Libraries::LibC {
|
namespace Core::Libraries::LibC {
|
||||||
|
|
||||||
@ -12,6 +13,7 @@ constexpr bool log_file_libc = true; // disable it to disable logging
|
|||||||
void PS4_SYSV_ABI exit(int code) { std::exit(code); }
|
void PS4_SYSV_ABI exit(int code) { std::exit(code); }
|
||||||
|
|
||||||
int PS4_SYSV_ABI atexit(void (*func)()) {
|
int PS4_SYSV_ABI atexit(void (*func)()) {
|
||||||
|
PRINT_FUNCTION_NAME();
|
||||||
int rt = std::atexit(func);
|
int rt = std::atexit(func);
|
||||||
if (rt != 0) {
|
if (rt != 0) {
|
||||||
LOG_ERROR_IF(log_file_libc, "atexit returned {}\n", rt);
|
LOG_ERROR_IF(log_file_libc, "atexit returned {}\n", rt);
|
||||||
@ -20,25 +22,44 @@ int PS4_SYSV_ABI atexit(void (*func)()) {
|
|||||||
return rt;
|
return rt;
|
||||||
}
|
}
|
||||||
|
|
||||||
void* PS4_SYSV_ABI malloc(size_t size) { return std::malloc(size); }
|
void* PS4_SYSV_ABI malloc(size_t size) {
|
||||||
|
PRINT_FUNCTION_NAME();
|
||||||
|
return std::malloc(size);
|
||||||
|
}
|
||||||
|
|
||||||
void PS4_SYSV_ABI free(void* ptr) { std::free(ptr); }
|
void PS4_SYSV_ABI free(void* ptr) {
|
||||||
|
PRINT_FUNCTION_NAME();
|
||||||
|
std::free(ptr);
|
||||||
|
}
|
||||||
|
|
||||||
typedef int(PS4_SYSV_ABI* pfunc_QsortCmp)(const void*, const void*);
|
typedef int(PS4_SYSV_ABI* pfunc_QsortCmp)(const void*, const void*);
|
||||||
thread_local static pfunc_QsortCmp compair_ps4;
|
thread_local static pfunc_QsortCmp compair_ps4;
|
||||||
|
|
||||||
int qsort_compair(const void* arg1, const void* arg2) { return compair_ps4(arg1, arg2); }
|
int qsort_compair(const void* arg1, const void* arg2) { PRINT_FUNCTION_NAME();return compair_ps4(arg1, arg2); }
|
||||||
|
|
||||||
void PS4_SYSV_ABI qsort(void* ptr, size_t count, size_t size, int(PS4_SYSV_ABI* comp)(const void*, const void*)) {
|
void PS4_SYSV_ABI qsort(void* ptr, size_t count, size_t size, int(PS4_SYSV_ABI* comp)(const void*, const void*)) {
|
||||||
|
PRINT_FUNCTION_NAME();
|
||||||
compair_ps4 = comp;
|
compair_ps4 = comp;
|
||||||
std::qsort(ptr, count, size, qsort_compair);
|
std::qsort(ptr, count, size, qsort_compair);
|
||||||
}
|
}
|
||||||
|
|
||||||
int PS4_SYSV_ABI rand() { return std::rand(); }
|
int PS4_SYSV_ABI rand() {
|
||||||
|
PRINT_FUNCTION_NAME();
|
||||||
|
return std::rand();
|
||||||
|
}
|
||||||
|
|
||||||
unsigned long int PS4_SYSV_ABI _Stoul(const char* str, char** endptr, int base) { return std::strtoul(str, endptr, base); }
|
unsigned long int PS4_SYSV_ABI _Stoul(const char* str, char** endptr, int base) {
|
||||||
|
PRINT_FUNCTION_NAME();
|
||||||
|
return std::strtoul(str, endptr, base);
|
||||||
|
}
|
||||||
|
|
||||||
void PS4_SYSV_ABI srand(unsigned int seed) { return std::srand(seed); }
|
void PS4_SYSV_ABI srand(unsigned int seed) {
|
||||||
|
PRINT_FUNCTION_NAME();
|
||||||
|
return std::srand(seed);
|
||||||
|
}
|
||||||
|
|
||||||
s64 PS4_SYSV_ABI time(s64* pt) { return std::time(pt); }
|
s64 PS4_SYSV_ABI time(s64* pt) {
|
||||||
|
PRINT_FUNCTION_NAME();
|
||||||
|
return std::time(pt);
|
||||||
|
}
|
||||||
} // namespace Core::Libraries::LibC
|
} // namespace Core::Libraries::LibC
|
||||||
|
@ -2,32 +2,68 @@
|
|||||||
|
|
||||||
#include <cstdlib>
|
#include <cstdlib>
|
||||||
#include <cstring>
|
#include <cstring>
|
||||||
|
#include "common/log.h"
|
||||||
|
#include <core/hle/libraries/libs.h>
|
||||||
|
|
||||||
namespace Core::Libraries::LibC {
|
namespace Core::Libraries::LibC {
|
||||||
|
|
||||||
int PS4_SYSV_ABI memcmp(const void* s1, const void* s2, size_t n) { return std::memcmp(s1, s2, n); }
|
int PS4_SYSV_ABI memcmp(const void* s1, const void* s2, size_t n) {
|
||||||
|
PRINT_FUNCTION_NAME();
|
||||||
|
return std::memcmp(s1, s2, n);
|
||||||
|
}
|
||||||
|
|
||||||
void* PS4_SYSV_ABI memcpy(void* dest, const void* src, size_t n) { return std::memcpy(dest, src, n); }
|
void* PS4_SYSV_ABI memcpy(void* dest, const void* src, size_t n) {
|
||||||
|
PRINT_FUNCTION_NAME();
|
||||||
|
return std::memcpy(dest, src, n);
|
||||||
|
}
|
||||||
|
|
||||||
void* PS4_SYSV_ABI memset(void* s, int c, size_t n) { return std::memset(s, c, n); }
|
void* PS4_SYSV_ABI memset(void* s, int c, size_t n) {
|
||||||
|
PRINT_FUNCTION_NAME();
|
||||||
|
return std::memset(s, c, n);
|
||||||
|
}
|
||||||
|
|
||||||
int PS4_SYSV_ABI strcmp(const char* str1, const char* str2) { return std::strcmp(str1, str2); }
|
int PS4_SYSV_ABI strcmp(const char* str1, const char* str2) {
|
||||||
|
PRINT_FUNCTION_NAME();
|
||||||
|
return std::strcmp(str1, str2);
|
||||||
|
}
|
||||||
|
|
||||||
char* PS4_SYSV_ABI strncpy(char* dest, const char* src, size_t count) { return std::strncpy(dest, src, count); }
|
char* PS4_SYSV_ABI strncpy(char* dest, const char* src, size_t count) {
|
||||||
|
PRINT_FUNCTION_NAME();
|
||||||
|
return std::strncpy(dest, src, count);
|
||||||
|
}
|
||||||
|
|
||||||
void* PS4_SYSV_ABI memmove(void* dest, const void* src, std::size_t count) { return std::memmove(dest, src, count); }
|
void* PS4_SYSV_ABI memmove(void* dest, const void* src, std::size_t count) {
|
||||||
|
PRINT_FUNCTION_NAME();
|
||||||
|
return std::memmove(dest, src, count);
|
||||||
|
}
|
||||||
|
|
||||||
char* PS4_SYSV_ABI strcpy(char* dest, const char* src) { return std::strcpy(dest, src); }
|
char* PS4_SYSV_ABI strcpy(char* dest, const char* src) {
|
||||||
|
PRINT_FUNCTION_NAME();
|
||||||
|
return std::strcpy(dest, src);
|
||||||
|
}
|
||||||
|
|
||||||
char* PS4_SYSV_ABI strcat(char* dest, const char* src) { return std::strcat(dest, src); }
|
char* PS4_SYSV_ABI strcat(char* dest, const char* src) {
|
||||||
|
PRINT_FUNCTION_NAME();
|
||||||
|
return std::strcat(dest, src);
|
||||||
|
}
|
||||||
|
|
||||||
size_t PS4_SYSV_ABI strlen(const char* str) { return std::strlen(str); }
|
size_t PS4_SYSV_ABI strlen(const char* str) {
|
||||||
|
PRINT_FUNCTION_NAME();
|
||||||
|
return std::strlen(str);
|
||||||
|
}
|
||||||
|
|
||||||
int PS4_SYSV_ABI strncmp(const char* str1, const char* str2, size_t num) { return std::strncmp(str1, str2, num); }
|
int PS4_SYSV_ABI strncmp(const char* str1, const char* str2, size_t num) {
|
||||||
|
PRINT_FUNCTION_NAME();
|
||||||
|
return std::strncmp(str1, str2, num);
|
||||||
|
}
|
||||||
|
|
||||||
char* PS4_SYSV_ABI strrchr(char* str, int character) { return (char*)std::strrchr(str, character); }
|
char* PS4_SYSV_ABI strrchr(char* str, int character) {
|
||||||
|
PRINT_FUNCTION_NAME();
|
||||||
|
return (char*)std::strrchr(str, character);
|
||||||
|
}
|
||||||
|
|
||||||
char* PS4_SYSV_ABI strdup(const char* str1) {
|
char* PS4_SYSV_ABI strdup(const char* str1) {
|
||||||
|
PRINT_FUNCTION_NAME();
|
||||||
char* dup = (char*)std::malloc(std::strlen(str1) + 1);
|
char* dup = (char*)std::malloc(std::strlen(str1) + 1);
|
||||||
if (dup != NULL) strcpy(dup, str1);
|
if (dup != NULL) strcpy(dup, str1);
|
||||||
return dup;
|
return dup;
|
||||||
|
Loading…
Reference in New Issue
Block a user