diff --git a/BasiliskII/src/CrossPlatform/sigsegv.cpp b/BasiliskII/src/CrossPlatform/sigsegv.cpp index 72658a9f..6a7c6aaa 100644 --- a/BasiliskII/src/CrossPlatform/sigsegv.cpp +++ b/BasiliskII/src/CrossPlatform/sigsegv.cpp @@ -340,12 +340,12 @@ static void powerpc_decode_instruction(instruction_t *instruction, unsigned int #define SIGSEGV_REGISTER_FILE (unsigned long *)&SIGSEGV_CONTEXT_REGS->nip, (unsigned long *)(SIGSEGV_CONTEXT_REGS->gpr) #define SIGSEGV_SKIP_INSTRUCTION powerpc_skip_instruction #elif (defined(arm) || defined(__arm__)) -#define SIGSEGV_CONTEXT_REGS (((struct ucontext *)scp)->uc_mcontext) +#define SIGSEGV_CONTEXT_REGS (((ucontext_t *)scp)->uc_mcontext) #define SIGSEGV_FAULT_INSTRUCTION (SIGSEGV_CONTEXT_REGS.arm_pc) #define SIGSEGV_REGISTER_FILE (&SIGSEGV_CONTEXT_REGS.arm_r0) #define SIGSEGV_SKIP_INSTRUCTION arm_skip_instruction #elif (defined(mips) || defined(__mips__)) -#define SIGSEGV_CONTEXT_REGS (((struct ucontext *)scp)->uc_mcontext) +#define SIGSEGV_CONTEXT_REGS (((ucontext_t *)scp)->uc_mcontext) #define SIGSEGV_FAULT_INSTRUCTION (SIGSEGV_CONTEXT_REGS.pc) #define SIGSEGV_REGISTER_FILE &SIGSEGV_CONTEXT_REGS.pc, &SIGSEGV_CONTEXT_REGS.gregs[0] #define SIGSEGV_SKIP_INSTRUCTION mips_skip_instruction diff --git a/BasiliskII/src/Unix/sysdeps.h b/BasiliskII/src/Unix/sysdeps.h index df291939..d74a2eda 100644 --- a/BasiliskII/src/Unix/sysdeps.h +++ b/BasiliskII/src/Unix/sysdeps.h @@ -185,10 +185,10 @@ typedef char * caddr_t; #endif /* Time data type for Time Manager emulation */ -#ifdef HAVE_CLOCK_GETTIME -typedef struct timespec tm_time_t; -#elif defined(__MACH__) +#if defined(__MACH__) typedef mach_timespec_t tm_time_t; +#elif defined(HAVE_CLOCK_GETTIME) +typedef struct timespec tm_time_t; #else typedef struct timeval tm_time_t; #endif @@ -266,7 +266,7 @@ static inline int testandset(volatile int *p) __asm__ __volatile__("0: cs %0,%1,0(%2)\n" " jl 0b" : "=&d" (ret) - : "r" (1), "a" (p), "0" (*p) + : "r" (1), "a" (p), "0" (*p) : "cc", "memory" ); return ret; } @@ -315,7 +315,7 @@ static inline int testandset(volatile int *p) __asm__ __volatile__("swp %0, %1, [%2]" : "=r"(ret) : "0"(1), "r"(p)); - + return ret; } #endif diff --git a/BasiliskII/src/Unix/timer_unix.cpp b/BasiliskII/src/Unix/timer_unix.cpp index ea197e51..6a5dd449 100644 --- a/BasiliskII/src/Unix/timer_unix.cpp +++ b/BasiliskII/src/Unix/timer_unix.cpp @@ -57,14 +57,14 @@ static inline void mach_current_time(tm_time_t &t) { void Microseconds(uint32 &hi, uint32 &lo) { D(bug("Microseconds\n")); -#if defined(HAVE_CLOCK_GETTIME) - struct timespec t; - clock_gettime(CLOCK_REALTIME, &t); - uint64 tl = (uint64)t.tv_sec * 1000000 + t.tv_nsec / 1000; -#elif defined(__MACH__) +#if defined(__MACH__) tm_time_t t; mach_current_time(t); uint64 tl = (uint64)t.tv_sec * 1000000 + t.tv_nsec / 1000; +#elif defined(HAVE_CLOCK_GETTIME) + struct timespec t; + clock_gettime(CLOCK_REALTIME, &t); + uint64 tl = (uint64)t.tv_sec * 1000000 + t.tv_nsec / 1000; #else struct timeval t; gettimeofday(&t, NULL); @@ -91,10 +91,10 @@ uint32 TimerDateTime(void) void timer_current_time(tm_time_t &t) { -#ifdef HAVE_CLOCK_GETTIME - clock_gettime(CLOCK_REALTIME, &t); -#elif defined(__MACH__) +#if defined(__MACH__) mach_current_time(t); +#elif defined(HAVE_CLOCK_GETTIME) + clock_gettime(CLOCK_REALTIME, &t); #else gettimeofday(&t, NULL); #endif @@ -229,14 +229,14 @@ int32 timer_host2mac_time(tm_time_t hosttime) uint64 GetTicks_usec(void) { -#ifdef HAVE_CLOCK_GETTIME - struct timespec t; - clock_gettime(CLOCK_REALTIME, &t); - return (uint64)t.tv_sec * 1000000 + t.tv_nsec / 1000; -#elif defined(__MACH__) +#if defined(__MACH__) tm_time_t t; mach_current_time(t); return (uint64)t.tv_sec * 1000000 + t.tv_nsec / 1000; +#elif defined(HAVE_CLOCK_GETTIME) + struct timespec t; + clock_gettime(CLOCK_REALTIME, &t); + return (uint64)t.tv_sec * 1000000 + t.tv_nsec / 1000; #else struct timeval t; gettimeofday(&t, NULL); diff --git a/BasiliskII/src/pict.c b/BasiliskII/src/pict.c index 715c8feb..76633934 100644 --- a/BasiliskII/src/pict.c +++ b/BasiliskII/src/pict.c @@ -101,7 +101,8 @@ static ssize_t CompressUsingRLE(uint8_t *row, uint16_t uncmpLength, uint8_t *out uint8_t literals = 0; uint8_t i; - while (cursor + literals + 1 < uncmpLength && literals < 127 && nextByte != (nextByte = row[cursor + literals + 1])) { + while (cursor + literals + 1 < uncmpLength && literals < 127 && nextByte != row[cursor + literals + 1]) { + nextByte = row[cursor + literals + 1]; literals++; }