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
This commit is contained in:
Justin Hibbits 2017-01-31 01:55:29 +00:00
parent cc59dd9ae0
commit d9dbd70bca
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=313005
2 changed files with 3 additions and 5 deletions

View File

@ -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
#

View File

@ -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