diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2024-10-03 19:36:42 +0200 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2024-10-03 19:36:42 +0200 |
| commit | 9e853e487deb89e38a0eb105814f6f6846ec9f2b (patch) | |
| tree | 418374032e47f00e8964fe9e1959af8f858f53f3 /src/libtools/auxval.c | |
| parent | 0e91ad3ed3f2720b988d6aefec0d09b0cadf6dad (diff) | |
| download | box64-9e853e487deb89e38a0eb105814f6f6846ec9f2b.tar.gz box64-9e853e487deb89e38a0eb105814f6f6846ec9f2b.zip | |
[BOX32] Added more 32bits wrapped function and reworked 32bits memory allocator
Diffstat (limited to 'src/libtools/auxval.c')
| -rw-r--r-- | src/libtools/auxval.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/libtools/auxval.c b/src/libtools/auxval.c index 789902df..1e4b6045 100644 --- a/src/libtools/auxval.c +++ b/src/libtools/auxval.c @@ -49,8 +49,25 @@ unsigned long real_getauxval(unsigned long type) return 0; } +#ifdef BOX32 +EXPORT unsigned long my32_getauxval(x64emu_t* emu, unsigned long type) +{ + ptr_t* p = (ptr_t*)emu->context->auxval_start; + while(*p) { + if(*p == type) + return p[1]; + p+=2; + } + return 0; +} +#endif + EXPORT unsigned long my_getauxval(x64emu_t* emu, unsigned long type) { + #ifdef BOX32 + if(box64_is32bits) + return my32_getauxval(emu, type); + #endif uintptr_t* p = emu->context->auxval_start; while(*p) { if(*p == type) |