--- a/VEX/priv/guest_mips_helpers.c +++ b/VEX/priv/guest_mips_helpers.c @@ -1201,6 +1201,7 @@ extern UInt mips_dirtyhelper_calculate_F flt_op inst ) { UInt ret = 0; +#ifndef __mips_soft_float #if defined(__mips__) VexGuestMIPS32State* guest_state = (VexGuestMIPS32State*)gs; UInt loFsVal, hiFsVal, loFtVal, hiFtVal; @@ -1320,6 +1321,7 @@ extern UInt mips_dirtyhelper_calculate_F break; } #endif +#endif return ret; } @@ -1329,6 +1331,7 @@ extern UInt mips_dirtyhelper_calculate_F flt_op inst ) { UInt ret = 0; +#ifndef __mips_soft_float #if defined(__mips__) #if defined(VGA_mips32) VexGuestMIPS32State* guest_state = (VexGuestMIPS32State*)gs; @@ -1439,6 +1442,7 @@ extern UInt mips_dirtyhelper_calculate_F break; } #endif +#endif return ret; } --- a/coregrind/m_machine.c +++ b/coregrind/m_machine.c @@ -1652,6 +1652,7 @@ Bool VG_(machine_get_hwcaps)( void ) } } +#ifndef __mips_soft_float /* Check if CPU has FPU and 32 dbl. prec. FP registers */ int FIR = 0; __asm__ __volatile__( @@ -1661,6 +1662,7 @@ Bool VG_(machine_get_hwcaps)( void ) if (FIR & (1 << FP64)) { vai.hwcaps |= VEX_PRID_CPU_32FPR; } +#endif VG_(convert_sigaction_fromK_to_toK)(&saved_sigill_act, &tmp_sigill_act); VG_(sigaction)(VKI_SIGILL, &tmp_sigill_act, NULL);