Index: sys/conf/kern.pre.mk =================================================================== --- sys/conf/kern.pre.mk +++ sys/conf/kern.pre.mk @@ -74,7 +74,7 @@ CFLAGS_PARAM_INLINE_UNIT_GROWTH?=100 CFLAGS_PARAM_LARGE_FUNCTION_GROWTH?=1000 .if ${MACHINE_CPUARCH} == "mips" -CFLAGS_ARCH_PARAMS?=--param max-inline-insns-single=1000 +CFLAGS_ARCH_PARAMS?=--param max-inline-insns-single=1000 -DMACHINE_ARCH='"${MACHINE_ARCH}"' .endif CFLAGS.gcc+= -fno-common -fms-extensions -finline-limit=${INLINE_LIMIT} CFLAGS.gcc+= --param inline-unit-growth=${CFLAGS_PARAM_INLINE_UNIT_GROWTH} Index: sys/mips/include/param.h =================================================================== --- sys/mips/include/param.h +++ sys/mips/include/param.h @@ -57,6 +57,7 @@ #define MACHINE "mips" #endif #ifndef MACHINE_ARCH +#ifndef __mips_hard_float #if _BYTE_ORDER == _BIG_ENDIAN #ifdef __mips_n64 #define MACHINE_ARCH "mips64" @@ -80,6 +81,31 @@ #define MACHINE_ARCH "mipsel" #endif #endif +#else /* __mips_hard_float */ +#if _BYTE_ORDER == _BIG_ENDIAN +#ifdef __mips_n64 +#define MACHINE_ARCH "mips64hf" +#ifndef MACHINE_ARCH32 +#define MACHINE_ARCH32 "mipshf" +#endif +#elif defined(__mips_n32) +#define MACHINE_ARCH "mipsn32hf" +#else +#define MACHINE_ARCH "mipshf" +#endif +#else +#ifdef __mips_n64 +#define MACHINE_ARCH "mips64elhf" +#ifndef MACHINE_ARCH32 +#define MACHINE_ARCH32 "mipselhf" +#endif +#elif defined(__mips_n32) +#define MACHINE_ARCH "mipsn32elhf" +#else +#define MACHINE_ARCH "mipselhf" +#endif +#endif +#endif #endif /*