From d9dbd70bca767f5f8604840f72d5904408e62064 Mon Sep 17 00:00:00 2001 From: Justin Hibbits Date: Tue, 31 Jan 2017 01:55:29 +0000 Subject: [PATCH] Update CFLAGS for clang compatibility * Clang/llvm does not (yet) support -m(no-)spe, so make it gcc-only * Clang now supports -msoft-float, and does not appear to recognize "-disable-ppc-float-in-variadic", which appears to have been a crutch until soft-float was implemented. It's now implemented for both 32- and 64-bit. * Clang/llvm use a 'medium' code model by default for powerpc64, supporting up to 4GB TOC, and does not support the '-mminimal-toc' option. Given both of these, make -mminimal-toc gcc-only. MFC after: 2 weeks --- sys/conf/kern.mk | 6 ++---- sys/modules/zfs/Makefile | 2 +- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/sys/conf/kern.mk b/sys/conf/kern.mk index 55c7878b66e1..f5b7801c83f1 100644 --- a/sys/conf/kern.mk +++ b/sys/conf/kern.mk @@ -161,14 +161,12 @@ INLINE_LIMIT?= 8000 # Also explicitly disable Altivec instructions inside the kernel. # .if ${MACHINE_CPUARCH} == "powerpc" -CFLAGS+= -mno-altivec -CFLAGS.clang+= -mllvm -disable-ppc-float-in-variadic=true -CFLAGS.gcc+= -msoft-float +CFLAGS+= -mno-altivec -msoft-float INLINE_LIMIT?= 15000 .endif .if ${MACHINE_ARCH} == "powerpcspe" -CFLAGS+= -mno-spe +CFLAGS.gcc+= -mno-spe .endif # diff --git a/sys/modules/zfs/Makefile b/sys/modules/zfs/Makefile index eb33a5cc54f9..9c503f96420c 100644 --- a/sys/modules/zfs/Makefile +++ b/sys/modules/zfs/Makefile @@ -94,7 +94,7 @@ CFLAGS+=-I${SUNW}/common CFLAGS+=-DBUILDING_ZFS .if ${MACHINE_ARCH} == "powerpc64" -CFLAGS+=-mminimal-toc +CFLAGS.gcc+=-mminimal-toc .endif .ifdef ZFS_DEBUG