Refine fusefs test workaround for mips+llvm

This re-enables building the googletest suite by default on mips and instead
specifically doesn't build fusefs tests for mips+clang builds.  clang will
easily spent >= 1.5 hours compiling a single file due to a bug in
optimization (see LLVM PR 43263), so turn these off for now while that's
hashed out.

GCC builds are unaffected and build the fusefs tests as-is. Clang builds
only happen by early adopters attempting to hash out the remaining issues.

The comment has been updated to reflect its new position and use less strong
wording about imposing on people.

Discussed with:	ngie, asomers
Reviewed by:	ngie
This commit is contained in:
Kyle Evans 2020-01-06 18:25:58 +00:00
parent a33774adb3
commit d679c71970
2 changed files with 6 additions and 9 deletions

View File

@ -108,6 +108,7 @@ __DEFAULT_YES_OPTIONS = \
GDB \
GNU_DIFF \
GNU_GREP \
GOOGLETEST \
GPIO \
HAST \
HTML \
@ -265,15 +266,6 @@ __TT=${TARGET}
__TT=${MACHINE}
.endif
# Default GOOGLETEST to off for MIPS while LLVM PR 43263 is active. Part
# of the fusefs tests trigger excessively long compile times. It does
# eventually succeed, but this shouldn't be forced on those building by default.
.if ${__TT} == "mips"
__DEFAULT_NO_OPTIONS+= GOOGLETEST
.else
__DEFAULT_YES_OPTIONS+= GOOGLETEST
.endif
# All supported backends for LLVM_TARGET_XXX
__LLVM_TARGETS= \
aarch64 \

View File

@ -12,8 +12,13 @@ TESTSRC= ${SRCTOP}/contrib/netbsd-tests/fs
#TESTS_SUBDIRS+= nullfs # XXX: needs rump
# fusefs tests cannot be compiled/used without the googletest infrastructure.
.if ${COMPILER_FEATURES:Mc++14} && ${MK_GOOGLETEST} != "no"
# Don't build fusefs tests for MIPS while LLVM PR 43263 is active, as part
# of the fusefs tests trigger excessively long compile time. The build does
# eventually succeed, but it's perhaps better to not do so by default for now.
.if ${MACHINE_CPUARCH} != "mips" || ${COMPILER_TYPE} != "clang"
TESTS_SUBDIRS+= fusefs
.endif
.endif
TESTS_SUBDIRS+= tmpfs
${PACKAGE}FILES+= h_funcs.subr