about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authortheofficialgman <28281419+theofficialgman@users.noreply.github.com>2025-09-03 02:10:28 -0400
committerGitHub <noreply@github.com>2025-09-03 08:10:28 +0200
commit2de6058c6adb37cb2333aa653da77ac145cc26b5 (patch)
tree6775d7970282329fdf3f624481f52f6f3edc362f /src
parent986e271280272f239a38efc5bbeda80f5717070a (diff)
downloadbox64-2de6058c6adb37cb2333aa653da77ac145cc26b5.tar.gz
box64-2de6058c6adb37cb2333aa653da77ac145cc26b5.zip
[CI] Added ARM64-GCC-8 target (Ubuntu Bionic) (#2987)
* add ARM64-GCC-8 target

uses taiki-e/checkout-action@v1 instead of actions/checkout@v4 due to ubuntu bionic container not having new enough nodejs or glibc to run most github actions

does not build build Trace target due to ubuntu bionic not having the libzydis-dev package

adds cmake ppa for a newer cmake version that box64 requires

uses gcc-8 specifically (instead of bionic's default gcc-7) due to  historically better compatibility with box64 (and it has been used for years now by installation scripts and other ci such as https://github.com/Pi-Apps-Coders/box64-debs)

* comptibility for old glibc

* nodejs

* zstd

* exclude static build

---------

Co-authored-by: Yang Liu <numbksco@gmail.com>
Diffstat (limited to 'src')
-rw-r--r--src/wrapped/wrappedlibc.c19
1 files changed, 16 insertions, 3 deletions
diff --git a/src/wrapped/wrappedlibc.c b/src/wrapped/wrappedlibc.c
index 4fa9ed62..08e412d0 100644
--- a/src/wrapped/wrappedlibc.c
+++ b/src/wrapped/wrappedlibc.c
@@ -3203,7 +3203,20 @@ EXPORT void* my_mallinfo(x64emu_t* emu, void* p)
     return p;
 }
 
-typedef struct mallinfo2 (*mallinfo2_fnc)(void);
+struct my_mallinfo2_s {
+    size_t arena;
+    size_t ordblks;
+    size_t smblks;
+    size_t hblks;
+    size_t hblkhd;
+    size_t usmblks;
+    size_t fsmblks;
+    size_t uordblks;
+    size_t fordblks;
+    size_t keepcost;
+};
+
+typedef struct my_mallinfo2_s (*mallinfo2_fnc)(void);
 EXPORT void* my_mallinfo2(x64emu_t* emu, void* p)
 {
     static mallinfo2_fnc f = NULL;
@@ -3213,9 +3226,9 @@ EXPORT void* my_mallinfo2(x64emu_t* emu, void* p)
         f = (mallinfo2_fnc)dlsym(my_lib->w.lib, "mallinfo2");
     }
     if(f)
-        *(struct mallinfo2*)p=f();
+        *(struct my_mallinfo2_s*)p = f();
     else
-        memset(p, 0, sizeof(struct mallinfo2));
+        memset(p, 0, sizeof(struct my_mallinfo2_s));
     return p;
 }