diff options
| author | Yang Liu <liuyang22@iscas.ac.cn> | 2025-08-31 00:10:10 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-08-30 18:10:10 +0200 |
| commit | 373d778f6abf943f779328daa0a2b425d6469077 (patch) | |
| tree | fa7a4becf8a0a2129a1e699594469808de75faa5 /src/wrapped/wrappedlibc.c | |
| parent | fcd1aacef02a75ec74ff17edfcdb3ea46a9b4d2e (diff) | |
| download | box64-373d778f6abf943f779328daa0a2b425d6469077.tar.gz box64-373d778f6abf943f779328daa0a2b425d6469077.zip | |
[WRAPPER] Wrapped mallinfo2 for libc (#2983)
Diffstat (limited to 'src/wrapped/wrappedlibc.c')
| -rw-r--r-- | src/wrapped/wrappedlibc.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/wrapped/wrappedlibc.c b/src/wrapped/wrappedlibc.c index f5a2771f..742ae677 100644 --- a/src/wrapped/wrappedlibc.c +++ b/src/wrapped/wrappedlibc.c @@ -3190,6 +3190,22 @@ EXPORT void* my_mallinfo(x64emu_t* emu, void* p) return p; } +typedef struct mallinfo2 (*mallinfo2_fnc)(void); +EXPORT void* my_mallinfo2(x64emu_t* emu, void* p) +{ + static mallinfo2_fnc f = NULL; + static int inited = 0; + if(!inited) { + inited = 1; + f = (mallinfo2_fnc)dlsym(my_lib->w.lib, "mallinfo2"); + } + if(f) + *(struct mallinfo2*)p=f(); + else + memset(p, 0, sizeof(struct mallinfo2)); + return p; +} + #ifdef STATICBUILD void my_updateGlobalOpt() {} void my_checkGlobalOpt() {} |