diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/libtools/obstack.c | 12 | ||||
| -rwxr-xr-x | src/wrapped32/wrappedlibc_private.h | 2 |
2 files changed, 13 insertions, 1 deletions
diff --git a/src/libtools/obstack.c b/src/libtools/obstack.c index 08719adb..2522f37b 100644 --- a/src/libtools/obstack.c +++ b/src/libtools/obstack.c @@ -26,6 +26,9 @@ #include "auxval.h" #include "elfloader.h" #include "bridge.h" +#ifdef BOX32 +#include "myalign32.h" +#endif typedef void (*vFv_t) (); typedef int32_t (*iFppp_t) (void*, void*, void*); @@ -230,6 +233,15 @@ EXPORT int32_t my_obstack_vprintf(x64emu_t* emu, struct obstack* obstack, void* int r = obstack_vprintf(obstack, (const char*)fmt, VARARGS); return r; } +#ifdef BOX32 +EXPORT int32_t my32_obstack_vprintf(x64emu_t* emu, struct obstack* obstack, void* fmt, void* b) +{ + myStackAlign32((const char*)fmt, b, emu->scratch); + PREPARE_VALIST_32; + int r = obstack_vprintf(obstack, (const char*)fmt, VARARGS_32); + return r; +} +#endif #endif EXPORT void* my_obstack_alloc_failed_handler = NULL; diff --git a/src/wrapped32/wrappedlibc_private.h b/src/wrapped32/wrappedlibc_private.h index d5f82426..1a2391a4 100755 --- a/src/wrapped32/wrappedlibc_private.h +++ b/src/wrapped32/wrappedlibc_private.h @@ -1197,7 +1197,7 @@ GOW(ntohs, WEW) //GOM(_obstack_newchunk, vEpi) //%%,noE // obstack_printf // Weak // __obstack_printf_chk -//GOWM(obstack_vprintf, iEEpppp) //%% +GOWM(obstack_vprintf, iEEpppp) //%% // __obstack_vprintf_chk //GOWM(on_exit, iEEpp) //%% //GO2(__on_exit, iEEpp, my_on_exit) //%% |