diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2023-02-13 11:24:13 +0100 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2023-02-13 11:24:13 +0100 |
| commit | 9c8b663d5bc1f30717aa4d87cc63d1c9ebfa1c8e (patch) | |
| tree | 138dc39b708378f56bf0a5a6ef6fa5e99c704b66 /src | |
| parent | 8309b63fb10cba69ef5374f9c2e5416369d84bb2 (diff) | |
| download | box64-9c8b663d5bc1f30717aa4d87cc63d1c9ebfa1c8e.tar.gz box64-9c8b663d5bc1f30717aa4d87cc63d1c9ebfa1c8e.zip | |
Various minor warning fixes
Diffstat (limited to 'src')
| -rw-r--r-- | src/custommem.c | 11 | ||||
| -rwxr-xr-x | src/dynarec/arm64/dynarec_arm64_00.c | 2 | ||||
| -rwxr-xr-x | src/dynarec/arm64/dynarec_arm64_0f.c | 7 | ||||
| -rwxr-xr-x | src/dynarec/arm64/dynarec_arm64_660f.c | 6 | ||||
| -rwxr-xr-x | src/dynarec/arm64/dynarec_arm64_67.c | 2 | ||||
| -rwxr-xr-x | src/dynarec/arm64/dynarec_arm64_f20f.c | 30 | ||||
| -rwxr-xr-x | src/elfs/elfloader.c | 11 | ||||
| -rw-r--r-- | src/emu/modrm.h | 2 | ||||
| -rwxr-xr-x | src/emu/x64primop.c | 9 | ||||
| -rwxr-xr-x | src/emu/x87emu_private.c | 4 | ||||
| -rwxr-xr-x | src/main.c | 2 | ||||
| -rwxr-xr-x | src/tools/bridge.c | 2 | ||||
| -rw-r--r-- | src/tools/rcfile.c | 5 | ||||
| -rw-r--r-- | src/wrapped/wrappedgcrypt.c | 2 | ||||
| -rwxr-xr-x | src/wrapped/wrappedgdk3.c | 2 | ||||
| -rwxr-xr-x | src/wrapped/wrappedlibc.c | 2 |
16 files changed, 53 insertions, 46 deletions
diff --git a/src/custommem.c b/src/custommem.c index ee3d6a22..a88674fd 100644 --- a/src/custommem.c +++ b/src/custommem.c @@ -443,6 +443,7 @@ mmapchunk_t* addChunk(size_t mmapsize) { } else return &head->chunks[i]; } + return NULL; // never reached } uintptr_t FindFreeDynarecMap(dynablock_t* db, size_t size) @@ -481,7 +482,7 @@ uintptr_t FindFreeDynarecMap(dynablock_t* db, size_t size) native_lock_decifnot0(&chunk->lock); return ret; } else { - printf_log(LOG_INFO, "BOX64: Warning, sub not found, corrupted mmaplist[%zu] info?\n", i); + printf_log(LOG_INFO, "BOX64: Warning, sub not found, corrupted mmaplist[%i] info?\n", i); native_lock_decifnot0(&chunk->lock); if(box64_log >= LOG_DEBUG) printBlock(chunk->block, chunk->first); @@ -684,14 +685,14 @@ uintptr_t getSizeJmpDefault(uintptr_t addr, size_t maxsize) uintptr_t idx3, idx2, idx1, idx0; idx3 = (((uintptr_t)addr)>>48)&0xffff; if(box64_jmptbl3[idx3] == box64_jmptbldefault2) - return (addr&~((1LL<<48)-1)|0xffffffffffffLL)-addr + 1; + return ((addr&~((1LL<<48)-1))|0xffffffffffffLL)-addr + 1; idx2 = (((uintptr_t)addr)>>32)&0xffff; if(box64_jmptbl3[idx3][idx2] == box64_jmptbldefault1) - return (addr&~((1LL<<32)-1)|0xffffffffLL)-addr + 1; + return ((addr&~((1LL<<32)-1))|0xffffffffLL)-addr + 1; idx1 = (((uintptr_t)addr)>>16)&0xffff; uintptr_t* block = box64_jmptbl3[idx3][idx2][idx1]; if(block == box64_jmptbldefault0) - return (addr&~((1LL<<16)-1)|0xffffLL)-addr + 1; + return ((addr&~((1LL<<16)-1))|0xffffLL)-addr + 1; idx0 = addr&0xffff; if (maxsize>0x10000) maxsize = 0x10000; @@ -1480,7 +1481,7 @@ void init_custommem_helper(box64context_t* ctx) loadProtectionFromMap(); // check if PageSize is correctly defined if(box64_pagesize != (1<<MEMPROT_SHIFT)) { - printf_log(LOG_NONE, "Error: PageSize configuation is wrong: configured with %d, but got %d\n", 1<<MEMPROT_SHIFT, box64_pagesize); + printf_log(LOG_NONE, "Error: PageSize configuation is wrong: configured with %d, but got %zd\n", 1<<MEMPROT_SHIFT, box64_pagesize); exit(-1); // abort or let it continue? } } diff --git a/src/dynarec/arm64/dynarec_arm64_00.c b/src/dynarec/arm64/dynarec_arm64_00.c index b1641b2f..77f0660e 100755 --- a/src/dynarec/arm64/dynarec_arm64_00.c +++ b/src/dynarec/arm64/dynarec_arm64_00.c @@ -41,7 +41,7 @@ uintptr_t dynarec64_00(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int nin uint8_t wback, wb1, wb2, wb; int64_t fixedaddress; int lock; - int cacheupd; + int cacheupd = 0; opcode = F8; MAYUSE(eb1); diff --git a/src/dynarec/arm64/dynarec_arm64_0f.c b/src/dynarec/arm64/dynarec_arm64_0f.c index bcdf66b4..ed2a120b 100755 --- a/src/dynarec/arm64/dynarec_arm64_0f.c +++ b/src/dynarec/arm64/dynarec_arm64_0f.c @@ -75,7 +75,7 @@ uintptr_t dynarec64_0F(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int nin uint8_t wback, wb2; uint8_t eb1, eb2; int32_t i32, i32_; - int cacheupd; + int cacheupd = 0; int v0, v1; int q0, q1; int d0, d1; @@ -1689,9 +1689,10 @@ uintptr_t dynarec64_0F(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int nin INST_NAME("SHUFPS Gx, Ex, Ib"); nextop = F8; GETGX(v0, 1); - if(!MODREG) + if(!MODREG) { addr = geted(dyn, addr, ninst, nextop, &ed, x1, &fixedaddress, 0, 0, rex, NULL, 0, 1); - else + v1 = 0; // to avoid a warning + } else v1 = sse_get_reg(dyn, ninst, x1, (nextop&7)+(rex.b<<3), 0); u8 = F8; if(MODREG && v0==v1 && (u8&0x3)==((u8>>2)&3) && (u8&0xf)==((u8>>4)&0xf)) { diff --git a/src/dynarec/arm64/dynarec_arm64_660f.c b/src/dynarec/arm64/dynarec_arm64_660f.c index 80002dbe..5ff39e2b 100755 --- a/src/dynarec/arm64/dynarec_arm64_660f.c +++ b/src/dynarec/arm64/dynarec_arm64_660f.c @@ -815,13 +815,13 @@ uintptr_t dynarec64_660F(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int n v1 = fpu_get_scratch(dyn); // check if any input value was NAN VFCMEQQD(v0, q0, q0); // 0 if NAN, 1 if not NAN - } - VFSQRTQD(q1, q0); - if(!box64_dynarec_fastnan) { + VFSQRTQD(q1, q0); VFCMEQQD(v1, q1, q1); // 0 => out is NAN VBICQ(v1, v0, v1); // forget it in any input was a NAN already VSHLQ_64(v1, v1, 63); // only keep the sign bit VORRQ(q1, q1, v1); // NAN -> -NAN + } else { + VFSQRTQD(q1, q0); } break; diff --git a/src/dynarec/arm64/dynarec_arm64_67.c b/src/dynarec/arm64/dynarec_arm64_67.c index 1b35d645..094f68e7 100755 --- a/src/dynarec/arm64/dynarec_arm64_67.c +++ b/src/dynarec/arm64/dynarec_arm64_67.c @@ -44,7 +44,7 @@ uintptr_t dynarec64_67(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int nin uint8_t u8; int32_t i32; int64_t j64, i64; - int cacheupd; + int cacheupd = 0; int lock; int v0, v1, s0; MAYUSE(i32); diff --git a/src/dynarec/arm64/dynarec_arm64_f20f.c b/src/dynarec/arm64/dynarec_arm64_f20f.c index 0a250206..153b634f 100755 --- a/src/dynarec/arm64/dynarec_arm64_f20f.c +++ b/src/dynarec/arm64/dynarec_arm64_f20f.c @@ -188,10 +188,10 @@ uintptr_t dynarec64_F20F(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int n v1 = fpu_get_scratch(dyn); FCMLTD_0(v1, d0); SHL_64(v1, v1, 63); - } - FSQRTD(d1, d0); - if(!box64_dynarec_fastnan) { + FSQRTD(d1, d0); VORR(d1, d1, v1); + } else { + FSQRTD(d1, d0); } VMOVeD(v0, 0, d1, 0); break; @@ -208,13 +208,13 @@ uintptr_t dynarec64_F20F(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int n // check if any input value was NAN FMAXD(v0, d0, d1); // propagate NAN FCMEQD(v0, v0, v0); // 0 if NAN, 1 if not NAN - } - FADDD(v1, d1, d0); // the high part of the vector is erased... - if(!box64_dynarec_fastnan) { + FADDD(v1, d1, d0); // the high part of the vector is erased... FCMEQD(q0, v1, v1); // 0 => out is NAN VBIC(q0, v0, q0); // forget it in any input was a NAN already SHL_64(q0, q0, 63); // only keep the sign bit VORR(v1, v1, q0); // NAN -> -NAN + } else { + FADDD(v1, d1, d0); // the high part of the vector is erased... } VMOVeD(d1, 0, v1, 0); break; @@ -230,13 +230,13 @@ uintptr_t dynarec64_F20F(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int n // check if any input value was NAN FMAXD(v0, d0, d1); // propagate NAN FCMEQD(v0, v0, v0); // 0 if NAN, 1 if not NAN - } - FMULD(v1, d1, d0); - if(!box64_dynarec_fastnan) { + FMULD(v1, d1, d0); FCMEQD(q0, v1, v1); // 0 => out is NAN VBIC(q0, v0, q0); // forget it in any input was a NAN already SHL_64(q0, q0, 63); // only keep the sign bit VORR(v1, v1, q0); // NAN -> -NAN + } else { + FMULD(v1, d1, d0); } VMOVeD(d1, 0, v1, 0); break; @@ -262,13 +262,13 @@ uintptr_t dynarec64_F20F(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int n // check if any input value was NAN FMAXD(v0, d0, d1); // propagate NAN FCMEQD(v0, v0, v0); // 0 if NAN, 1 if not NAN - } - FSUBD(v1, d1, d0); - if(!box64_dynarec_fastnan) { + FSUBD(v1, d1, d0); FCMEQD(q0, v1, v1); // 0 => out is NAN VBIC(q0, v0, q0); // forget it in any input was a NAN already SHL_64(q0, q0, 63); // only keep the sign bit VORR(v1, v1, q0); // NAN -> -NAN + } else { + FSUBD(v1, d1, d0); } VMOVeD(d1, 0, v1, 0); break; @@ -300,13 +300,13 @@ uintptr_t dynarec64_F20F(dynarec_arm_t* dyn, uintptr_t addr, uintptr_t ip, int n // check if any input value was NAN FMAXD(d0, v0, v1); // propagate NAN FCMEQD(d0, d0, d0); // 0 if NAN, 1 if not NAN - } - FDIVD(d1, v0, v1); - if(!box64_dynarec_fastnan) { + FDIVD(d1, v0, v1); FCMEQD(q0, d1, d1); // 0 => out is NAN VBIC(q0, d0, q0); // forget it in any input was a NAN already SHL_64(q0, q0, 63); // only keep the sign bit VORR(d1, d1, q0); // NAN -> -NAN + } else { + FDIVD(d1, v0, v1); } VMOVeD(v0, 0, d1, 0); break; diff --git a/src/elfs/elfloader.c b/src/elfs/elfloader.c index 69c7797d..ec0b344c 100755 --- a/src/elfs/elfloader.c +++ b/src/elfs/elfloader.c @@ -1617,25 +1617,26 @@ void CreateMemorymapFile(box64context_t* context, int fd) uintptr_t start, end; if (sscanf(line, "%zx-%zx", &start, &end)==2) { elfheader_t* h = FindElfAddress(my_context, start); - size_t l = strlen(line); + int l = strlen(line); if(h && l<73) { - sprintf(buff, "%s%*s\n", line, 74-strlen(line), h->name); + sprintf(buff, "%s%*s\n", line, 74-l, h->name); dummy = write(fd, buff, strlen(buff)); } else if(start==(uintptr_t)my_context->stack) { - sprintf(buff, "%s%*s\n", line, 74-strlen(line), "[stack]"); + sprintf(buff, "%s%*s\n", line, 74-l, "[stack]"); dummy = write(fd, buff, strlen(buff)); } else if (strstr(line, "[stack]")) { char* p = strstr(line, "[stack]")-1; while (*p==' ' || *p=='\t') --p; p[1]='\0'; strcat(line, "\n"); - write(fd, line, strlen(line)); + dummy = write(fd, line, strlen(line)); } else { - write(fd, line, strlen(line)); + dummy = write(fd, line, strlen(line)); } } } fclose(f); + (void)dummy; } void ElfAttachLib(elfheader_t* head, library_t* lib) diff --git a/src/emu/modrm.h b/src/emu/modrm.h index d3ccd18c..c01343b0 100644 --- a/src/emu/modrm.h +++ b/src/emu/modrm.h @@ -11,7 +11,7 @@ #ifdef DYNAREC #define STEP if(step) return 0; #define STEP2 if(step) {R_RIP = addr; return 0;} -#define STEP3 if(*step) *(step)++; +#define STEP3 if(*step) (*step)++; #else #define STEP #define STEP2 diff --git a/src/emu/x64primop.c b/src/emu/x64primop.c index c45cb654..b0270491 100755 --- a/src/emu/x64primop.c +++ b/src/emu/x64primop.c @@ -1189,8 +1189,9 @@ uint16_t sbb16(x64emu_t *emu, uint16_t d, uint16_t s) if (ACCESS_FLAG(F_CF)) res = d - s - 1; - else + else { res = d - s; + } CONDITIONAL_SET_FLAG(res & 0x8000, F_SF); CONDITIONAL_SET_FLAG((res & 0xffff) == 0, F_ZF); CONDITIONAL_SET_FLAG(PARITY(res & 0xff), F_PF); @@ -1211,8 +1212,9 @@ uint32_t sbb32(x64emu_t *emu, uint32_t d, uint32_t s) if (ACCESS_FLAG(F_CF)) res = d - s - 1; - else + else { res = d - s; + } CONDITIONAL_SET_FLAG(res & 0x80000000, F_SF); CONDITIONAL_SET_FLAG(!res, F_ZF); CONDITIONAL_SET_FLAG(PARITY(res & 0xff), F_PF); @@ -1233,8 +1235,9 @@ uint64_t sbb64(x64emu_t *emu, uint64_t d, uint64_t s) if (ACCESS_FLAG(F_CF)) res = d - s - 1; - else + else { res = d - s; + } CONDITIONAL_SET_FLAG(res & 0x8000000000000000LL, F_SF); CONDITIONAL_SET_FLAG(!res, F_ZF); CONDITIONAL_SET_FLAG(PARITY(res & 0xff), F_PF); diff --git a/src/emu/x87emu_private.c b/src/emu/x87emu_private.c index 7a16cd97..fc104557 100755 --- a/src/emu/x87emu_private.c +++ b/src/emu/x87emu_private.c @@ -201,7 +201,7 @@ void D2LD(void* d, void* ld) double FromLD(void* ld) { - double ret; + double ret = 0; LD2D(ld, &ret); return ret; } @@ -210,7 +210,7 @@ double FromLD(void* ld) long double LD2localLD(void* ld) { // local implementation may not be try Quad precision, but double-double precision, so simple way to keep the 80bits precision in the conversion - double ret; + double ret = 0; LD2D(ld, &ret); return ret; } diff --git a/src/main.c b/src/main.c index 4691d5fc..2ac564cc 100755 --- a/src/main.c +++ b/src/main.c @@ -1131,7 +1131,7 @@ static void load_rcfiles() char* p = getenv("HOME"); if(p) { char tmp[4096]; - strncpy(tmp, p, 4096); + strncpy(tmp, p, 4095); strncat(tmp, "/.box64rc", 4095); if(FileExist(tmp, IS_FILE)) LoadRCFile(tmp); diff --git a/src/tools/bridge.c b/src/tools/bridge.c index 514ce989..3bc7ca22 100755 --- a/src/tools/bridge.c +++ b/src/tools/bridge.c @@ -60,7 +60,7 @@ brick_t* NewBrick(void* old) if(ptr == MAP_FAILED) { printf_log(LOG_NONE, "Warning, cannot allocate 0x%lx aligned bytes for bridge, will probably crash later\n", NBRICK*sizeof(onebridge_t)); } - dynarec_log(LOG_INFO, "New Bridge brick at %p (size 0x%x)\n", ptr, NBRICK*sizeof(onebridge_t)); + dynarec_log(LOG_INFO, "New Bridge brick at %p (size 0x%zx)\n", ptr, NBRICK*sizeof(onebridge_t)); ret->b = ptr; return ret; } diff --git a/src/tools/rcfile.c b/src/tools/rcfile.c index 65474f80..ec083b5c 100644 --- a/src/tools/rcfile.c +++ b/src/tools/rcfile.c @@ -257,7 +257,8 @@ void LoadRCFile(const char* filename) int tmp = shm_open(TMP_MEMRCFILE, O_RDWR | O_CREAT, S_IRWXU); if(tmp<0) return; // error, bye bye shm_unlink(TMP_MEMRCFILE); // remove the shm file, but it will still exist because it's currently in use - write(tmp, default_rcfile, sizeof(default_rcfile)); + int dummy = write(tmp, default_rcfile, sizeof(default_rcfile)); + (void)dummy; lseek(tmp, 0, SEEK_SET); f = fdopen(tmp, "r"); } @@ -506,7 +507,7 @@ void ApplyParams(const char* name) uintptr_t no_start = 0, no_end = 0; char* p; no_start = strtoul(param->box64_nodynarec, &p, 0); - if(p!=param->box64_nodynarec & p[0]=='-') { + if(p!=param->box64_nodynarec && p[0]=='-') { char* p2; ++p; no_end = strtoul(p, &p2, 0); diff --git a/src/wrapped/wrappedgcrypt.c b/src/wrapped/wrappedgcrypt.c index 1b9f9b36..f04e5232 100644 --- a/src/wrapped/wrappedgcrypt.c +++ b/src/wrapped/wrappedgcrypt.c @@ -33,7 +33,7 @@ typedef uint32_t (*uFpppp_t)(void*, void*, void*, void*); EXPORT uint32_t my_gcry_sexp_build(x64emu_t* emu, void* r_sexp, void* erroff, const char* fmt, uintptr_t* V) { // count the number of elements - int n; + int n = 0; const char* p = fmt; while(p) { if(*p == '%') { diff --git a/src/wrapped/wrappedgdk3.c b/src/wrapped/wrappedgdk3.c index 3e9899e0..671301b9 100755 --- a/src/wrapped/wrappedgdk3.c +++ b/src/wrapped/wrappedgdk3.c @@ -23,7 +23,7 @@ const char* gdk3Name = "libgdk-3.so.0"; static char* libname = NULL; -//#define ADDED_FUNCTIONS() \ +//#define ADDED_FUNCTIONS() #include "generated/wrappedgdk3types.h" diff --git a/src/wrapped/wrappedlibc.c b/src/wrapped/wrappedlibc.c index 8ee59a30..2d444efd 100755 --- a/src/wrapped/wrappedlibc.c +++ b/src/wrapped/wrappedlibc.c @@ -3005,7 +3005,7 @@ EXPORT int my_clone(x64emu_t* emu, void* fn, void* stack, int flags, void* args, arg->fnc = (uintptr_t)fn; arg->tls = tls; arg->emu = newemu; - if(flags|(CLONE_VM|CLONE_VFORK|CLONE_SETTLS)==flags) // that's difficult to setup, so lets ignore all those flags :S + if((flags|(CLONE_VM|CLONE_VFORK|CLONE_SETTLS))==flags) // that's difficult to setup, so lets ignore all those flags :S flags&=~(CLONE_VM|CLONE_VFORK|CLONE_SETTLS); int64_t ret = clone(clone_fn, (void*)((uintptr_t)mystack+1024*1024), flags, arg, parent, NULL, child); return (uintptr_t)ret; |