From 8d286bb9922fda299d997af01a336dfdf47aa305 Mon Sep 17 00:00:00 2001 From: John Baldwin Date: Thu, 11 Jan 2018 19:24:44 +0000 Subject: [PATCH] Allow MIPS lib32 to build with clang. Don't try to set -march as clang doesn't permit use of the O32 ABI with newer CPU microarchitectures like 'mips3'. In addition, clang doesn't permit the O32 ABI with the default N64 target, so use an explicit O32 -target for clang. Sponsored by: DARPA / AFRL --- Makefile.libcompat | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Makefile.libcompat b/Makefile.libcompat index b8fc76c4e15..afc1be1df06 100644 --- a/Makefile.libcompat +++ b/Makefile.libcompat @@ -35,11 +35,20 @@ LIB32WMAKEFLAGS= \ OBJCOPY="${XOBJCOPY}" .elif ${TARGET_ARCH:Mmips64*} != "" +.if ${WANT_COMPILER_TYPE} == clang || \ + (defined(X_COMPILER_TYPE) && ${X_COMPILER_TYPE} == clang) +.if ${TARGET_ARCH:Mmips64el*} != "" +LIB32CPUFLAGS= -target mipsel-unknown-freebsd12.0 +.else +LIB32CPUFLAGS= -target mips-unknown-freebsd12.0 +.endif +.else .if empty(TARGET_CPUTYPE) LIB32CPUFLAGS= -march=mips3 .else LIB32CPUFLAGS= -march=${TARGET_CPUTYPE} .endif +.endif LIB32CPUFLAGS+= -mabi=32 LIB32WMAKEENV= MACHINE=mips MACHINE_ARCH=mips .if ${TARGET_ARCH:Mmips64el*} != ""