about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorrajdakin <rajdakin@gmail.com>2024-01-18 18:57:20 +0100
committerGitHub <noreply@github.com>2024-01-18 18:57:20 +0100
commit3a2073f78586e9456452485d89e0531607e5d2f4 (patch)
tree9ad61114022ef1c85a5fb50c3a02f863697a6a32 /src
parente963d99d5ee85342e320efe1be8fcde39d3f1a32 (diff)
downloadbox64-3a2073f78586e9456452485d89e0531607e5d2f4.tar.gz
box64-3a2073f78586e9456452485d89e0531607e5d2f4.zip
Fixes (#1207)
* Fixed signed/unsigned issues and other cosmetics

* [WRAPPERS] Fixed missing `return`s in `my_` functions

* [EMU] More fixes

* [STEAM] Forgot one cleanup

* [WRAPPER] Fixed wrappedpulse callback signatures
Diffstat (limited to 'src')
-rw-r--r--src/custommem.c6
-rw-r--r--src/elfs/elfdwarf_private.c2
-rw-r--r--src/elfs/elfloader.c6
-rw-r--r--src/emu/x64compstrings.c8
-rw-r--r--src/emu/x64run.c9
-rw-r--r--src/emu/x64run66.c3
-rw-r--r--src/emu/x64run6764_32.c3
-rw-r--r--src/emu/x64syscall.c7
-rw-r--r--src/librarian/library.c2
-rw-r--r--src/librarian/library_private.h4
-rw-r--r--src/libtools/signals.c4
-rw-r--r--src/libtools/threads.c2
-rw-r--r--src/mallochook.c4
-rw-r--r--src/steam.c4
-rw-r--r--src/tools/gtkclass.c18
-rw-r--r--src/tools/my_cpuid.c4
-rw-r--r--src/wrapped/wrappedgobject2.c5
-rw-r--r--src/wrapped/wrappedgstreamer.c4
-rw-r--r--src/wrapped/wrappedgtk3.c2
-rw-r--r--src/wrapped/wrappedlibc.c2
-rw-r--r--src/wrapped/wrappedlibcups.c3
-rw-r--r--src/wrapped/wrappedlibdl.c2
-rw-r--r--src/wrapped/wrappedlibharfbuzz.c4
-rw-r--r--src/wrapped/wrappedpulse.c22
-rw-r--r--src/wrapped/wrappedsdl2.c2
25 files changed, 69 insertions, 63 deletions
diff --git a/src/custommem.c b/src/custommem.c
index 0da20c13..a87ac1e9 100644
--- a/src/custommem.c
+++ b/src/custommem.c
@@ -150,7 +150,7 @@ static size_t getMaxFreeBlock(void* block, size_t block_size, void* start)
     // get start of block
     if(start) {
         blockmark_t *m = (blockmark_t*)start;
-        int maxsize = 0;
+        unsigned int maxsize = 0;
         while(m->next.x32) {    // while there is a subblock
             if(!m->next.fill && m->next.size>maxsize) {
                 maxsize = m->next.size;
@@ -160,7 +160,7 @@ static size_t getMaxFreeBlock(void* block, size_t block_size, void* start)
         return (maxsize>=sizeof(blockmark_t))?maxsize:0;
     } else {
         blockmark_t *m = LAST_BLOCK(block, block_size); // start with the end
-        int maxsize = 0;
+        unsigned int maxsize = 0;
         while(m->prev.x32) {    // while there is a subblock
             if(!m->prev.fill && m->prev.size>maxsize) {
                 maxsize = m->prev.size;
@@ -1505,7 +1505,7 @@ void reserveHighMem()
     if(!p || p[0]=='0')
     #endif
         return; // don't reserve by default
-    intptr_t cur = 1LL<<47;
+    uintptr_t cur = 1ULL<<47;
     mapmem_t* m = mapallmem;
     while(m && (m->end<cur)) {
         m = m->next;
diff --git a/src/elfs/elfdwarf_private.c b/src/elfs/elfdwarf_private.c
index 90316a34..ed954e35 100644
--- a/src/elfs/elfdwarf_private.c
+++ b/src/elfs/elfdwarf_private.c
@@ -579,7 +579,7 @@ uintptr_t get_parent_registers(dwarf_unwind_t *unwind, const elfheader_t *ehdr,
 #undef PARSE_INST
                 box_free(init_statuses);
                 box_free(init_table);
-                for (int i = 0; i < maxstacksize; ++i) {
+                for (uint64_t i = 0; i < maxstacksize; ++i) {
                     box_free(table_stack[i]);
                 }
                 box_free(table_stack);
diff --git a/src/elfs/elfloader.c b/src/elfs/elfloader.c
index 39c83abc..58725968 100644
--- a/src/elfs/elfloader.c
+++ b/src/elfs/elfloader.c
@@ -961,7 +961,7 @@ int RelocateElfPlt(lib_t *maplib, lib_t *local_maplib, int bindnow, elfheader_t*
                 return -1;
         }
         if(need_resolver) {
-            if(pltResolver==~0LL) {
+            if(pltResolver==(uintptr_t)-1) {
                 pltResolver = AddBridge(my_context->system, vFE, PltResolver, 0, "PltResolver");
             }
             if(head->pltgot) {
@@ -1216,7 +1216,7 @@ int LoadNeededLibs(elfheader_t* h, lib_t *maplib, int local, int bindnow, box64c
     DumpDynamicNeeded(h);
     int cnt = 0;
     // count the number of needed libs, and also grab soname
-    for (int i=0; i<h->numDynamic; ++i) {
+    for (size_t i=0; i<h->numDynamic; ++i) {
         if(h->Dynamic[i].d_tag==DT_NEEDED)
             ++cnt;
         if(h->Dynamic[i].d_tag==DT_SONAME)
@@ -1226,7 +1226,7 @@ int LoadNeededLibs(elfheader_t* h, lib_t *maplib, int local, int bindnow, box64c
     if(h == my_context->elfs[0])
         my_context->neededlibs = h->needed;
     int j=0;
-    for (int i=0; i<h->numDynamic; ++i)
+    for (size_t i=0; i<h->numDynamic; ++i)
         if(h->Dynamic[i].d_tag==DT_NEEDED)
             h->needed->names[j++] = h->DynStrTab+h->delta+h->Dynamic[i].d_un.d_val;
 
diff --git a/src/emu/x64compstrings.c b/src/emu/x64compstrings.c
index d61a516c..41216a26 100644
--- a/src/emu/x64compstrings.c
+++ b/src/emu/x64compstrings.c
@@ -35,15 +35,15 @@ static int overrideIfDataInvalid(sse_regs_t* mem, int lmem, sse_regs_t* reg, int
                     return (i&1)?((reg->uw[i]>=mem->uw[j])):((reg->uw[i]<=mem->uw[j]));
                 case 0b10:  // sb
                     return (i&1)?((reg->sb[i]>=mem->sb[j])):((reg->sb[i]<=mem->sb[j]));
-                case 0b11:  // sw
+                default:    // sw
                     return (i&1)?((reg->sw[i]>=mem->sw[j])):((reg->sw[i]<=mem->sw[j]));
             }
             break;
         default:    // the others
             switch (imm8&1) {
-                case 0: // byte
+                case 0:  // byte
                     return (reg->ub[i] == mem->ub[j]);
-                case 1: // word
+                default: // word
                     return (reg->uw[i] == mem->uw[j]);
             }
     }
@@ -117,4 +117,4 @@ uint32_t sse42_compare_string_implicit_len(x64emu_t* emu, sse_regs_t* mem, sse_r
         while(lreg<16 && reg->ub[lreg]) ++lreg;
     }
     return sse42_compare_string_explicit_len(emu, mem, lmem, reg, lreg, imm8);
-}
\ No newline at end of file
+}
diff --git a/src/emu/x64run.c b/src/emu/x64run.c
index 995144bb..7bec6b91 100644
--- a/src/emu/x64run.c
+++ b/src/emu/x64run.c
@@ -174,7 +174,9 @@ x64emurun:
                         unimp = 1;
                         goto fini;
                     }
-                    if(step==2) STEP2;
+                    if(step==2) {
+                        STEP2;
+                    }
                     #endif
                     break;
                 case 2:
@@ -197,7 +199,9 @@ x64emurun:
                         unimp = 1;
                         goto fini;
                     }
-                    if(step==2) STEP2;
+                    if(step==2) {
+                        STEP2;
+                    }
                     #endif
                     break;
             }
@@ -397,6 +401,7 @@ x64emurun:
             break;
         case 0x62:                  /* BOUND Gd, Ed */
             if(rex.is32bits) {
+                nextop = F8;
                 FAKEED(0);
             } else {
                 unimp = 1;
diff --git a/src/emu/x64run66.c b/src/emu/x64run66.c
index 03229b5e..cdbf3a46 100644
--- a/src/emu/x64run66.c
+++ b/src/emu/x64run66.c
@@ -147,6 +147,7 @@ uintptr_t Run66(x64emu_t *emu, rex_t rex, int rep, uintptr_t addr)
                 return Run66F30F(emu, rex, addr);

                 #endif

         }

+        return 0; // unreachable

 

         case 0x1E:                      /* PUSH DS */

             if(!rex.is32bits) {

@@ -900,4 +901,4 @@ uintptr_t Run66(x64emu_t *emu, rex_t rex, int rep, uintptr_t addr)
         return 0;

     }

     return addr;

-}
\ No newline at end of file
+}

diff --git a/src/emu/x64run6764_32.c b/src/emu/x64run6764_32.c
index 92ed0b8e..4b4b667c 100644
--- a/src/emu/x64run6764_32.c
+++ b/src/emu/x64run6764_32.c
@@ -28,6 +28,7 @@ uintptr_t Test6764_32(x64test_t *test, rex_t rex, int rep, int seg, uintptr_t ad
 uintptr_t Run6764_32(x64emu_t *emu, rex_t rex, int rep, int seg, uintptr_t addr)
 #endif
 {
+    (void)rep;
     uint8_t opcode;
     uint8_t nextop;
     int8_t tmp8s;
@@ -88,4 +89,4 @@ uintptr_t Run6764_32(x64emu_t *emu, rex_t rex, int rep, int seg, uintptr_t addr)
         return 0;
     }
     return addr;
-}
\ No newline at end of file
+}
diff --git a/src/emu/x64syscall.c b/src/emu/x64syscall.c
index e80e7dae..6201e4f4 100644
--- a/src/emu/x64syscall.c
+++ b/src/emu/x64syscall.c
@@ -61,8 +61,8 @@ void* my_mremap(x64emu_t* emu, void* old_addr, size_t old_size, size_t new_size,
 int32_t my_epoll_ctl(x64emu_t* emu, int32_t epfd, int32_t op, int32_t fd, void* event);
 int32_t my_epoll_wait(x64emu_t* emu, int32_t epfd, void* events, int32_t maxevents, int32_t timeout);
 int32_t my_epoll_pwait(x64emu_t* emu, int32_t epfd, void* events, int32_t maxevents, int32_t timeout, const sigset_t *sigmask);
-pid_t my_vfork(x64emu_t* emu);
 #endif
+pid_t my_vfork(x64emu_t* emu);
 int32_t my_fcntl(x64emu_t* emu, int32_t a, int32_t b, void* c);
 int32_t my_execve(x64emu_t* emu, const char* path, char* const argv[], char* const envp[]);
 
@@ -401,7 +401,7 @@ void EXPORT x64Syscall(x64emu_t *emu)
             printf_log(LOG_NONE, "%s", buff);
     }
     // check wrapper first
-    int cnt = sizeof(syscallwrap) / sizeof(scwrap_t);
+    uint32_t cnt = sizeof(syscallwrap) / sizeof(scwrap_t);
     if(s<cnt && syscallwrap[s].nats) {
         int sc = syscallwrap[s].nats;
         switch(syscallwrap[s].nbpars) {
@@ -746,6 +746,7 @@ void EXPORT x64Syscall(x64emu_t *emu)
             S_RAX = eventfd(S_EDI, 0);
             if(S_RAX==-1)
                 S_RAX = -errno;
+            break;
         #endif
         case 317:   // sys_seccomp
             R_RAX = 0;  // ignoring call
@@ -791,7 +792,7 @@ long EXPORT my_syscall(x64emu_t *emu)
     uint32_t s = R_EDI;
     printf_dump(LOG_DEBUG, "%04d| %p: Calling libc syscall 0x%02X (%d) %p %p %p %p %p\n", GetTID(), (void*)R_RIP, s, s, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); 
     // check wrapper first
-    int cnt = sizeof(syscallwrap) / sizeof(scwrap_t);
+    uint32_t cnt = sizeof(syscallwrap) / sizeof(scwrap_t);
     if(s<cnt && syscallwrap[s].nats) {
         int sc = syscallwrap[s].nats;
         switch(syscallwrap[s].nbpars) {
diff --git a/src/librarian/library.c b/src/librarian/library.c
index 3cc96910..e03264c5 100644
--- a/src/librarian/library.c
+++ b/src/librarian/library.c
@@ -358,7 +358,7 @@ static const char* essential_libs[] = {
     "ld-linux-x86-64.so.2", "crashhandler.so", "libtcmalloc_minimal.so.0", "libtcmalloc_minimal.so.4"
 };
 static int isEssentialLib(const char* name) {
-    for (int i=0; i<sizeof(essential_libs)/sizeof(essential_libs[0]); ++i)
+    for (unsigned int i=0; i<sizeof(essential_libs)/sizeof(essential_libs[0]); ++i)
         if(!strcmp(name, essential_libs[i]))
             return 1;
     return 0;
diff --git a/src/librarian/library_private.h b/src/librarian/library_private.h
index c502306c..6bb291de 100644
--- a/src/librarian/library_private.h
+++ b/src/librarian/library_private.h
@@ -82,7 +82,7 @@ typedef struct library_s {
     kh_bridgemap_t      *gbridgemap;    // global symbol bridgemap
     kh_bridgemap_t      *wbridgemap;    // weak symbol bridgemap
     kh_bridgemap_t      *lbridgemap;    // local symbol bridgemap
-    int                 dlopen;   // idx to the dlopen idx (or 0 if not dlopen)
+    size_t              dlopen;   // idx to the dlopen idx (or 0 if not dlopen)
 } library_t;
 
 // type for map elements
@@ -124,6 +124,6 @@ void removeLinkMapLib(library_t* lib);
 int FiniLibrary(library_t* lib, x64emu_t* emu);
 void Free1Library(library_t **lib, x64emu_t* emu);
 
-void RemoveDlopen(library_t** lib, int idx); // defined in wrappedlibdl.c
+void RemoveDlopen(library_t** lib, size_t idx); // defined in wrappedlibdl.c
 
 #endif //__LIBRARY_PRIVATE_H_
diff --git a/src/libtools/signals.c b/src/libtools/signals.c
index 9d45d1f0..a7253de5 100644
--- a/src/libtools/signals.c
+++ b/src/libtools/signals.c
@@ -1438,13 +1438,13 @@ dynarec_log(/*LOG_DEBUG*/LOG_INFO, "Repeated SIGSEGV with Access error on %p for
     static void* old_pc = 0;
     static void* old_addr = 0;
     static int old_tid = 0;
-    static int old_prot = 0;
+    static uint32_t old_prot = 0;
     int tid = GetTID();
     int mapped = getMmapped((uintptr_t)addr);
     const char* signame = (sig==SIGSEGV)?"SIGSEGV":((sig==SIGBUS)?"SIGBUS":((sig==SIGILL)?"SIGILL":"SIGABRT"));
     if(old_code==info->si_code && old_pc==pc && old_addr==addr && old_tid==tid && old_prot==prot) {
         printf_log(log_minimum, "%04d|Double %s (code=%d, pc=%p, addr=%p, prot=%02x)!\n", tid, signame, old_code, old_pc, old_addr, prot);
-exit(-1);
+        exit(-1);
     } else {
         if((sig==SIGSEGV) && (info->si_code == SEGV_ACCERR) && ((prot&~PROT_CUSTOM)==5 || (prot&~PROT_CUSTOM)==7)) {
             static uintptr_t old_addr = 0;
diff --git a/src/libtools/threads.c b/src/libtools/threads.c
index e4f91d15..dad14fe1 100644
--- a/src/libtools/threads.c
+++ b/src/libtools/threads.c
@@ -323,7 +323,7 @@ EXPORT int my_pthread_attr_setstacksize(x64emu_t* emu, void* attr, size_t stacks
 {
 	(void)emu;
 	//aarch64 have an PTHREAD_STACK_MIN of 131072 instead of 16384 on x86_64!
-	if(stacksize<PTHREAD_STACK_MIN)
+	if(stacksize<(size_t)PTHREAD_STACK_MIN)
 		stacksize = PTHREAD_STACK_MIN;
 	return pthread_attr_setstacksize(getAlignedAttr(attr), stacksize);
 }
diff --git a/src/mallochook.c b/src/mallochook.c
index 812c74d8..3d50d219 100644
--- a/src/mallochook.c
+++ b/src/mallochook.c
@@ -168,8 +168,8 @@ char* box_realpath(const char* path, char* ret)
 
 static size_t pot(size_t l) {
     size_t ret = 0;
-    while (l>(1<<ret))  ++ret;
-    return 1<<ret;
+    while (l>(1u<<ret))  ++ret;
+    return 1u<<ret;
 }
 
 static int ispot(size_t l) {
diff --git a/src/steam.c b/src/steam.c
index a5af7377..5351bb66 100644
--- a/src/steam.c
+++ b/src/steam.c
@@ -17,7 +17,6 @@ void pressure_vessel(int argc, const char** argv, int nextarg, const char* prog)
 {
     // skip all the parameter, but parse some of them
     const char* runtime = getenv("PRESSURE_VESSEL_RUNTIME");
-    int ld_lib_path = 0;
     // look for the comand first
     const char* cmd = argv[nextarg];
     int i = 0;
@@ -33,7 +32,6 @@ void pressure_vessel(int argc, const char** argv, int nextarg, const char* prog)
                     strcat(tmp, argv[nextarg]+strlen("--env-if-host=PRESSURE_VESSEL_APP_"));
                     char *p = strchr(tmp, '=');
                     *p ='\0'; ++p;
-                    ld_lib_path = 1;
                     setenv(tmp, p, 1);
                     printf_log(LOG_DEBUG, "setenv(%s, %s, 1)\n", tmp, p);
                 }
@@ -181,4 +179,4 @@ void pressure_vessel(int argc, const char** argv, int nextarg, const char* prog)
         //waitpid(v, &wstatus, 0);
         exit(0);
     }
-}
\ No newline at end of file
+}
diff --git a/src/tools/gtkclass.c b/src/tools/gtkclass.c
index 569f346c..d9700a7e 100644
--- a/src/tools/gtkclass.c
+++ b/src/tools/gtkclass.c
@@ -4543,7 +4543,7 @@ static void wrapGTKClass(void* cl, size_t type)
     GTKCLASSES()
     if(type==8) {}  // GInterface have no structure
     else {
-        if(my_MetaFrames2==-1 && !strcmp(g_type_name(type), "MetaFrames")) {
+        if(my_MetaFrames2==(size_t)-1 && !strcmp(g_type_name(type), "MetaFrames")) {
             my_MetaFrames2 = type;
             wrapMetaFrames2Class((my_MetaFrames2Class_t*)cl);
         } else
@@ -4781,7 +4781,7 @@ void* wrapCopyGTKClass(void* klass, size_t type)
     GTKCLASSES()
     if(type==8) {}  // GInterface have no structure
     else {
-        if(my_MetaFrames2==-1 && !strcmp(g_type_name(type), "MetaFrames")) {
+        if(my_MetaFrames2==(size_t)-1 && !strcmp(g_type_name(type), "MetaFrames")) {
             my_MetaFrames2 = type;
             sz = sizeof(my_MetaFrames2Class_t);
         } else {
@@ -4791,6 +4791,7 @@ void* wrapCopyGTKClass(void* klass, size_t type)
     }
     #undef GTKIFACE
     #undef GTKCLASS
+    (void)sz;
     bridgeGTKClass(klass, type);
     return klass;
 }
@@ -4811,7 +4812,7 @@ void* wrapCopyGTKInterface(void* iface, size_t type)
     GTKCLASSES()
     if(type==8) {}  // GInterface have no structure
     else {
-        if(my_MetaFrames2==-1 && !strcmp(g_type_name(type), "MetaFrames")) {
+        if(my_MetaFrames2==(size_t)-1 && !strcmp(g_type_name(type), "MetaFrames")) {
             my_MetaFrames2 = type;
             sz = sizeof(my_MetaFrames2Class_t);
         } else {
@@ -4821,6 +4822,7 @@ void* wrapCopyGTKInterface(void* iface, size_t type)
     }
     #undef GTKIFACE
     #undef GTKCLASS
+    (void)sz;
     bridgeGTKInterface(iface, type);
     return iface;
 }
@@ -5455,11 +5457,11 @@ void AutoBridgeGtk(void*(*ref)(size_t), void(*unref)(void*))
 {
     void* p;
     #define GTKIFACE(A)
-    #define GTKCLASS(A)             \
-    if(my_##A && my_##A!=-1) {      \
-        p = ref(my_##A);            \
-        bridgeGTKClass(p, my_##A);  \
-        unref(p);                   \
+    #define GTKCLASS(A)                \
+    if(my_##A && my_##A!=(size_t)-1) { \
+        p = ref(my_##A);               \
+        bridgeGTKClass(p, my_##A);     \
+        unref(p);                      \
     }
     GTKCLASSES()
     #undef GTKIFACE
diff --git a/src/tools/my_cpuid.c b/src/tools/my_cpuid.c
index 5352d0cf..7ee95ff0 100644
--- a/src/tools/my_cpuid.c
+++ b/src/tools/my_cpuid.c
@@ -56,13 +56,13 @@ static double bogoMips = 100.;
 void grabNCpu() {
     nCPU = 1;  // default number of CPU to 1
     FILE *f = fopen("/proc/cpuinfo", "r");
-    size_t dummy;
+    ssize_t dummy;
     if(f) {
         nCPU = 0;
         int bogo = 0;
         size_t len = 500;
         char* line = malloc(len);
-        while ((dummy = getline(&line, &len, f)) != -1) {
+        while ((dummy = getline(&line, &len, f)) != (ssize_t)-1) {
             if(!strncmp(line, "processor\t", strlen("processor\t")))
                 ++nCPU;
             if(!bogo && !strncmp(line, "BogoMIPS\t", strlen("BogoMIPS\t"))) {
diff --git a/src/wrapped/wrappedgobject2.c b/src/wrapped/wrappedgobject2.c
index 00d74b84..2371e011 100644
--- a/src/wrapped/wrappedgobject2.c
+++ b/src/wrapped/wrappedgobject2.c
@@ -897,12 +897,12 @@ EXPORT void my_g_closure_set_marshal(x64emu_t* emu, void* closure, void* marshal
 
 EXPORT void* my_g_cclosure_new(x64emu_t* emu, void* callback, void* data, void* destroy)
 {
-    my->g_cclosure_new(findGCallbackFct(callback), data, findGClosureNotify_Fct(destroy));
+    return my->g_cclosure_new(findGCallbackFct(callback), data, findGClosureNotify_Fct(destroy));
 }
 
 EXPORT void* my_g_cclosure_new_swap(x64emu_t* emu, void* callback, void* data, void* destroy)
 {
-    my->g_cclosure_new_swap(findGCallbackFct(callback), data, findGClosureNotify_Fct(destroy));
+    return my->g_cclosure_new_swap(findGCallbackFct(callback), data, findGClosureNotify_Fct(destroy));
 }
 
 EXPORT void my_g_closure_add_finalize_notifier(x64emu_t* emu, void* closure, void* data, void* f)
@@ -939,4 +939,3 @@ EXPORT void* my_g_type_value_table_peek(x64emu_t* emu, size_t type)
     freeMy();
 
 #include "wrappedlib_init.h"
-
diff --git a/src/wrapped/wrappedgstreamer.c b/src/wrapped/wrappedgstreamer.c
index 9583143c..847ea46d 100644
--- a/src/wrapped/wrappedgstreamer.c
+++ b/src/wrapped/wrappedgstreamer.c
@@ -908,7 +908,7 @@ EXPORT void* my_gst_structure_new_valist(x64emu_t* emu, void* name, void* first,
     #else
     CREATE_VALIST_FROM_VALIST(V, emu->scratch);
     #endif
-    my->gst_structure_new_valist(name, first, VARARGS);
+    return my->gst_structure_new_valist(name, first, VARARGS);
 }
 
 EXPORT void* my_gst_make_element_message_details(x64emu_t* emu, void* name, uintptr_t* b)
@@ -916,7 +916,7 @@ EXPORT void* my_gst_make_element_message_details(x64emu_t* emu, void* name, uint
     if(!name)
         return NULL;
     CREATE_VALIST_FROM_VAARG(b, emu->scratch, 1);
-    my->gst_structure_new_valist("detail", name, VARARGS);
+    return my->gst_structure_new_valist("detail", name, VARARGS);
 }
 
 EXPORT int my_gst_pad_start_task(x64emu_t* emu, void* pad, void* f, void* data, void* d)
diff --git a/src/wrapped/wrappedgtk3.c b/src/wrapped/wrappedgtk3.c
index 0a49279e..cdc44219 100644
--- a/src/wrapped/wrappedgtk3.c
+++ b/src/wrapped/wrappedgtk3.c
@@ -720,7 +720,7 @@ EXPORT void my3_gtk_tree_view_column_set_cell_data_func(x64emu_t* emu, void* tre
 EXPORT void* my3_gtk_tree_store_new(x64emu_t* emu, uint32_t n, uintptr_t* b)
 {
     uintptr_t c[n];
-    for(int i=0; i<n; ++i)
+    for(uint32_t i=0; i<n; ++i)
         c[i] = getVArgs(emu, 1, b, i);
     return my->gtk_tree_store_newv(n, c);
 }
diff --git a/src/wrapped/wrappedlibc.c b/src/wrapped/wrappedlibc.c
index 8be303b6..347a38e6 100644
--- a/src/wrapped/wrappedlibc.c
+++ b/src/wrapped/wrappedlibc.c
@@ -3065,7 +3065,7 @@ EXPORT int my_semctl(int semid, int semnum, int cmd, union semun b)
     return ret;
 }
 
-EXPORT uint64_t userdata_sign = 0x1234598765ABCEF0;
+EXPORT int64_t userdata_sign = 0x1234598765ABCEF0;
 EXPORT uint32_t userdata[1024]; 
 
 EXPORT long my_ptrace(x64emu_t* emu, int request, pid_t pid, void* addr, uint32_t* data)
diff --git a/src/wrapped/wrappedlibcups.c b/src/wrapped/wrappedlibcups.c
index dc846868..72b2a531 100644
--- a/src/wrapped/wrappedlibcups.c
+++ b/src/wrapped/wrappedlibcups.c
@@ -68,7 +68,7 @@ static void* find_cups_dest_cb_t_Fct(void* fct)
 
 EXPORT int my_cupsEnumDests(x64emu_t* emu, uint32_t flags, int msec, int* cancel, uint32_t type, uint32_t mask, void* f, void* data)
 {
-    my->cupsEnumDests(flags, msec, cancel, type, mask, find_cups_dest_cb_t_Fct(f), data);
+    return my->cupsEnumDests(flags, msec, cancel, type, mask, find_cups_dest_cb_t_Fct(f), data);
 }
 
 #define CUSTOM_INIT \
@@ -78,4 +78,3 @@ EXPORT int my_cupsEnumDests(x64emu_t* emu, uint32_t flags, int msec, int* cancel
     freeMy();
 
 #include "wrappedlib_init.h"
-
diff --git a/src/wrapped/wrappedlibdl.c b/src/wrapped/wrappedlibdl.c
index ac803569..7ccf0e1c 100644
--- a/src/wrapped/wrappedlibdl.c
+++ b/src/wrapped/wrappedlibdl.c
@@ -65,7 +65,7 @@ int my_dlinfo(x64emu_t* emu, void* handle, int request, void* info) EXPORT;
 
 #define CLEARERR    if(dl->last_error) {box_free(dl->last_error); dl->last_error = NULL;}
 
-void RemoveDlopen(library_t** lib, int idx)
+void RemoveDlopen(library_t** lib, size_t idx)
 {
     if(!my_context)
         return;
diff --git a/src/wrapped/wrappedlibharfbuzz.c b/src/wrapped/wrappedlibharfbuzz.c
index 8f4bb2c9..1d88201f 100644
--- a/src/wrapped/wrappedlibharfbuzz.c
+++ b/src/wrapped/wrappedlibharfbuzz.c
@@ -1190,13 +1190,13 @@ EXPORT int my_hb_font_funcs_set_user_data(x64emu_t* emu, void* funcs, void* key,
     return (int)my->hb_font_funcs_set_user_data(funcs, key, data, find_destroy_Fct(destroy), replace);
 }
 
-EXPORT int my_hb_font_set_funcs(x64emu_t* emu, void* font, void* klass, void* data, void* destroy)
+EXPORT void my_hb_font_set_funcs(x64emu_t* emu, void* font, void* klass, void* data, void* destroy)
 {
     (void)emu;
     my->hb_font_set_funcs(font, klass, data, find_destroy_Fct(destroy));
 }
 
-EXPORT int my_hb_font_set_funcs_data(x64emu_t* emu, void* font, void* data, void* destroy)
+EXPORT void my_hb_font_set_funcs_data(x64emu_t* emu, void* font, void* data, void* destroy)
 {
     (void)emu;
     my->hb_font_set_funcs_data(font, data, find_destroy_Fct(destroy));
diff --git a/src/wrapped/wrappedpulse.c b/src/wrapped/wrappedpulse.c
index 8e808d55..c2ad381e 100644
--- a/src/wrapped/wrappedpulse.c
+++ b/src/wrapped/wrappedpulse.c
@@ -783,7 +783,7 @@ static void* find_io_new_Fct(void* fct)
 // io_enable
 #define GO(A)                                                   \
 static uintptr_t my_io_enable_fct_##A = 0;                      \
-static void* my_io_enable_##A(void* api, int events)            \
+static void my_io_enable_##A(void* api, int events)             \
 {                                                               \
     RunFunctionFmt(my_io_enable_fct_##A, "pi", api, events);    \
 }
@@ -805,7 +805,7 @@ static void* find_io_enable_Fct(void* fct)
 // io_free
 #define GO(A)                                   \
 static uintptr_t my_io_free_fct_##A = 0;        \
-static void* my_io_free_##A(void* e)            \
+static void my_io_free_##A(void* e)             \
 {                                               \
     RunFunctionFmt(my_io_free_fct_##A, "p", e); \
 }
@@ -871,7 +871,7 @@ static void* find_time_new_Fct(void* fct)
 // time_restart
 #define GO(A)                                               \
 static uintptr_t my_time_restart_fct_##A = 0;               \
-static void* my_time_restart_##A(void* e, void* t)          \
+static void my_time_restart_##A(void* e, void* t)           \
 {                                                           \
     RunFunctionFmt(my_time_restart_fct_##A, "pp", e, t);    \
 }
@@ -893,7 +893,7 @@ static void* find_time_restart_Fct(void* fct)
 // time_free
 #define GO(A)                                       \
 static uintptr_t my_time_free_fct_##A = 0;          \
-static void* my_time_free_##A(void* e)              \
+static void my_time_free_##A(void* e)               \
 {                                                   \
     RunFunctionFmt(my_time_free_fct_##A, "p", e);   \
 }
@@ -913,10 +913,10 @@ static void* find_time_free_Fct(void* fct)
     return NULL;
 }
 // time_set_destroy
-#define GO(A)                                                                                                                   \
-static uintptr_t my_time_set_destroy_fct_##A = 0;                                                                               \
-static void my_time_set_destroy_##A(void* e, void* cb)                                                                          \
-{                                                                                                                               \
+#define GO(A)                                                                                                                       \
+static uintptr_t my_time_set_destroy_fct_##A = 0;                                                                                   \
+static void my_time_set_destroy_##A(void* e, void* cb)                                                                              \
+{                                                                                                                                   \
     RunFunctionFmt(my_time_set_destroy_fct_##A, "pp", e, AddCheckBridge(my_lib->w.bridge, vFppp, cb, 0, "my_time_set_destroy_cb")); \
 }
 SUPER()
@@ -959,7 +959,7 @@ static void* find_defer_new_Fct(void* fct)
 // defer_enable
 #define GO(A)                                               \
 static uintptr_t my_defer_enable_fct_##A = 0;               \
-static void* my_defer_enable_##A(void* e, int b)            \
+static void my_defer_enable_##A(void* e, int b)             \
 {                                                           \
     RunFunctionFmt(my_defer_enable_fct_##A, "pi", e, b);    \
 }
@@ -981,7 +981,7 @@ static void* find_defer_enable_Fct(void* fct)
 // defer_free
 #define GO(A)                                       \
 static uintptr_t my_defer_free_fct_##A = 0;         \
-static void* my_defer_free_##A(void* e)             \
+static void my_defer_free_##A(void* e)              \
 {                                                   \
     RunFunctionFmt(my_defer_free_fct_##A, "p", e);  \
 }
@@ -1025,7 +1025,7 @@ static void* find_defer_set_destroy_Fct(void* fct)
 // quit
 #define GO(A)                                           \
 static uintptr_t my_quit_fct_##A = 0;                   \
-static void* my_quit_##A(void* e, int retval)           \
+static void my_quit_##A(void* e, int retval)            \
 {                                                       \
     RunFunctionFmt(my_quit_fct_##A, "pi", e, retval);   \
 }
diff --git a/src/wrapped/wrappedsdl2.c b/src/wrapped/wrappedsdl2.c
index cf745119..930264c6 100644
--- a/src/wrapped/wrappedsdl2.c
+++ b/src/wrapped/wrappedsdl2.c
@@ -566,7 +566,7 @@ static int get_sdl_priv(x64emu_t* emu, const char *sym_str, void **w, void **f)
 
 int EXPORT my2_SDL_DYNAPI_entry(x64emu_t* emu, uint32_t version, uintptr_t *table, uint32_t tablesize)
 {
-    int i = 0;
+    uint32_t i = 0;
     uintptr_t tab[tablesize];
     int r = my->SDL_DYNAPI_entry(version, tab, tablesize);
     (void)r;