about summary refs log tree commit diff stats
path: root/src/libtools/obstack.c
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2024-11-29 18:49:14 +0100
committerptitSeb <sebastien.chev@gmail.com>2024-11-29 18:49:14 +0100
commitb862e74ae447819481f367e678796c8f5cea31ac (patch)
tree74776a419c12ffd8af67dd8c55856acb2004147b /src/libtools/obstack.c
parent0d662b854358d3b29cc2cd6e078167dcc9c3b1bb (diff)
downloadbox64-b862e74ae447819481f367e678796c8f5cea31ac.tar.gz
box64-b862e74ae447819481f367e678796c8f5cea31ac.zip
[BOX32][WRAPPER] Added obstack_vprintf wrapped symbol
Diffstat (limited to 'src/libtools/obstack.c')
-rw-r--r--src/libtools/obstack.c12
1 files changed, 12 insertions, 0 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;