Remove tests for obsolete compilers in the build system
Assume gcc is at least 6.4, the oldest xtoolchain in the ports tree. Assume clang is at least 6, which was in 11.2-RELEASE. Drop conditions for older compilers. Reviewed by: imp (earlier version), emaste, jhb MFC after: 2 weeks Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D24802
This commit is contained in:
parent
d7452d89ad
commit
fac6dee9eb
@ -32,7 +32,7 @@ CFLAGS+= ${PICFLAG}
|
||||
CFLAGS+= -fno-builtin
|
||||
CFLAGS+= -fno-exceptions
|
||||
CXXFLAGS+= -fno-rtti
|
||||
.if ${COMPILER_TYPE} == clang && ${COMPILER_VERSION} >= 30700
|
||||
.if ${COMPILER_TYPE} == clang
|
||||
CFLAGS+= -fno-sanitize=safe-stack
|
||||
.endif
|
||||
CFLAGS+= -fno-stack-protector
|
||||
|
@ -29,10 +29,7 @@ CFLAGS+=-Winline
|
||||
|
||||
CFLAGS.thr_stack.c+= -Wno-cast-align
|
||||
CFLAGS.rtld_malloc.c+= -Wno-cast-align
|
||||
.include <bsd.compiler.mk>
|
||||
.if !(${COMPILER_TYPE} == "gcc" && ${COMPILER_VERSION} < 40300)
|
||||
CFLAGS.thr_symbols.c+= -Wno-missing-variable-declarations
|
||||
.endif
|
||||
|
||||
.ifndef NO_THREAD_UNWIND_STACK
|
||||
CFLAGS+=-fexceptions
|
||||
|
@ -108,13 +108,13 @@ COMMON_SRCS+= catrigl.c \
|
||||
s_nextafterl.c s_nexttoward.c s_remquol.c s_rintl.c s_roundl.c \
|
||||
s_scalbnl.c s_sinl.c s_sincosl.c \
|
||||
s_tanhl.c s_tanl.c s_truncl.c w_cabsl.c
|
||||
# Work around this warning from gcc 6:
|
||||
# Work around this warning from gcc:
|
||||
# lib/msun/ld80/e_powl.c:275:1: error: floating constant exceeds range of
|
||||
# 'long double' [-Werror=overflow]
|
||||
# if( y >= LDBL_MAX )
|
||||
# See also: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=130067
|
||||
.include <bsd.compiler.mk>
|
||||
.if ${COMPILER_TYPE} == "gcc" && ${COMPILER_VERSION} >= 60000
|
||||
.if ${COMPILER_TYPE} == "gcc"
|
||||
CFLAGS.e_powl.c+= -Wno-error=overflow
|
||||
.endif
|
||||
.endif
|
||||
|
@ -90,8 +90,4 @@ ${PROG_FULL}: ${VERSION_MAP}
|
||||
# GCC warns about redeclarations even though they have __exported
|
||||
# and are therefore not identical to the ones from the system headers.
|
||||
CFLAGS+= -Wno-redundant-decls
|
||||
.if ${COMPILER_VERSION} < 40300
|
||||
# Silence -Wshadow false positives in ancient GCC
|
||||
CFLAGS+= -Wno-shadow
|
||||
.endif
|
||||
.endif
|
||||
|
@ -2,11 +2,8 @@
|
||||
|
||||
.include <bsd.own.mk>
|
||||
|
||||
# Skip on GCC 4.2, because it lacks __COUNTER__
|
||||
.if ${COMPILER_TYPE} != "gcc" || ${COMPILER_VERSION} >= 40300
|
||||
ATF_TESTS_C= functional
|
||||
TEST_METADATA.functional+= timeout=15
|
||||
.endif
|
||||
|
||||
LIBADD= util
|
||||
WARNS?= 6
|
||||
|
@ -205,20 +205,12 @@ ${X_}COMPILER_FREEBSD_VERSION= unknown
|
||||
${X_}COMPILER_RESOURCE_DIR!= ${${cc}:N${CCACHE_BIN}} -print-resource-dir 2>/dev/null || echo unknown
|
||||
.endif
|
||||
|
||||
${X_}COMPILER_FEATURES=
|
||||
.if (${${X_}COMPILER_TYPE} == "clang" && ${${X_}COMPILER_VERSION} >= 30300) || \
|
||||
(${${X_}COMPILER_TYPE} == "gcc" && ${${X_}COMPILER_VERSION} >= 40800)
|
||||
${X_}COMPILER_FEATURES+= c++11
|
||||
.endif
|
||||
.if (${${X_}COMPILER_TYPE} == "clang" && ${${X_}COMPILER_VERSION} >= 30400) || \
|
||||
(${${X_}COMPILER_TYPE} == "gcc" && ${${X_}COMPILER_VERSION} >= 50000)
|
||||
${X_}COMPILER_FEATURES+= c++14
|
||||
.endif
|
||||
.if (${${X_}COMPILER_TYPE} == "clang" && ${${X_}COMPILER_VERSION} >= 50000) || \
|
||||
${X_}COMPILER_FEATURES= c++11 c++14
|
||||
.if ${${X_}COMPILER_TYPE} == "clang" || \
|
||||
(${${X_}COMPILER_TYPE} == "gcc" && ${${X_}COMPILER_VERSION} >= 70000)
|
||||
${X_}COMPILER_FEATURES+= c++17
|
||||
.endif
|
||||
.if ${${X_}COMPILER_TYPE} == "clang" && ${${X_}COMPILER_VERSION} >= 60000
|
||||
.if ${${X_}COMPILER_TYPE} == "clang"
|
||||
${X_}COMPILER_FEATURES+= retpoline
|
||||
.endif
|
||||
|
||||
|
@ -6,8 +6,7 @@
|
||||
# Enable various levels of compiler warning checks. These may be
|
||||
# overridden (e.g. if using a non-gcc compiler) by defining MK_WARNS=no.
|
||||
|
||||
# for 4.2.1 GCC: http://gcc.gnu.org/onlinedocs/gcc-4.2.1/gcc/Warning-Options.html
|
||||
# for current GCC: https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html
|
||||
# for GCC: https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html
|
||||
# for clang: https://clang.llvm.org/docs/DiagnosticsReference.html
|
||||
|
||||
.include <bsd.compiler.mk>
|
||||
@ -29,15 +28,6 @@ CFLAGS+= -std=${CSTD}
|
||||
CXXFLAGS+= -std=${CXXSTD}
|
||||
.endif
|
||||
|
||||
#
|
||||
# Turn off -Werror for gcc 4.2.1. The compiler is on the glide path out of the
|
||||
# system, and any warnings specific to it are no longer relevant as there are
|
||||
# too many false positives.
|
||||
#
|
||||
.if ${COMPILER_VERSION} < 50000
|
||||
NO_WERROR.gcc= yes
|
||||
.endif
|
||||
|
||||
# -pedantic is problematic because it also imposes namespace restrictions
|
||||
#CFLAGS+= -pedantic
|
||||
.if defined(WARNS)
|
||||
@ -81,19 +71,13 @@ CWARNFLAGS+= -Wno-pointer-sign
|
||||
# is set to low values, these have to be disabled explicitly.
|
||||
.if ${WARNS} <= 6
|
||||
CWARNFLAGS.clang+= -Wno-empty-body -Wno-string-plus-int
|
||||
.if ${COMPILER_TYPE} == "clang" && ${COMPILER_VERSION} >= 30400
|
||||
CWARNFLAGS.clang+= -Wno-unused-const-variable
|
||||
.endif
|
||||
.endif # WARNS <= 6
|
||||
.if ${WARNS} <= 3
|
||||
CWARNFLAGS.clang+= -Wno-tautological-compare -Wno-unused-value\
|
||||
-Wno-parentheses-equality -Wno-unused-function -Wno-enum-conversion
|
||||
.if ${COMPILER_TYPE} == "clang" && ${COMPILER_VERSION} >= 30600
|
||||
CWARNFLAGS.clang+= -Wno-unused-local-typedef
|
||||
.endif
|
||||
.if ${COMPILER_TYPE} == "clang" && ${COMPILER_VERSION} >= 40000
|
||||
CWARNFLAGS.clang+= -Wno-address-of-packed-member
|
||||
.endif
|
||||
.if ${COMPILER_TYPE} == "gcc" && ${COMPILER_VERSION} >= 90100
|
||||
CWARNFLAGS.gcc+= -Wno-address-of-packed-member
|
||||
.endif
|
||||
@ -113,7 +97,7 @@ CWARNFLAGS.clang+= -Wno-array-bounds
|
||||
.endif # NO_WARRAY_BOUNDS
|
||||
.if defined(NO_WMISLEADING_INDENTATION) && \
|
||||
((${COMPILER_TYPE} == "clang" && ${COMPILER_VERSION} >= 100000) || \
|
||||
(${COMPILER_TYPE} == "gcc" && ${COMPILER_VERSION} >= 60100))
|
||||
${COMPILER_TYPE} == "gcc")
|
||||
CWARNFLAGS+= -Wno-misleading-indentation
|
||||
.endif # NO_WMISLEADING_INDENTATION
|
||||
.endif # WARNS
|
||||
@ -137,8 +121,10 @@ CWARNFLAGS+= -Werror
|
||||
CWARNFLAGS+= -Wno-format
|
||||
.endif # NO_WFORMAT || NO_WFORMAT.${COMPILER_TYPE}
|
||||
|
||||
# GCC 5.2.0
|
||||
.if ${COMPILER_TYPE} == "gcc" && ${COMPILER_VERSION} >= 50200
|
||||
# GCC
|
||||
# We should clean up warnings produced with these flags.
|
||||
# They were originally added as a quick hack to enable gcc5/6.
|
||||
.if ${COMPILER_TYPE} == "gcc"
|
||||
CWARNFLAGS+= -Wno-error=address \
|
||||
-Wno-error=array-bounds \
|
||||
-Wno-error=attributes \
|
||||
@ -150,23 +136,18 @@ CWARNFLAGS+= -Wno-error=address \
|
||||
-Wno-error=extra \
|
||||
-Wno-error=inline \
|
||||
-Wno-error=logical-not-parentheses \
|
||||
-Wno-error=nonnull-compare \
|
||||
-Wno-error=shift-negative-value \
|
||||
-Wno-error=strict-aliasing \
|
||||
-Wno-error=tautological-compare \
|
||||
-Wno-error=uninitialized \
|
||||
-Wno-error=unused-but-set-variable \
|
||||
-Wno-error=unused-const-variable \
|
||||
-Wno-error=unused-function \
|
||||
-Wno-error=unused-value
|
||||
.endif
|
||||
|
||||
# GCC 6.1.0
|
||||
.if ${COMPILER_TYPE} == "gcc" && ${COMPILER_VERSION} >= 60100
|
||||
CWARNFLAGS+= -Wno-error=nonnull-compare \
|
||||
-Wno-error=shift-negative-value \
|
||||
-Wno-error=tautological-compare \
|
||||
-Wno-error=unused-const-variable
|
||||
.endif
|
||||
|
||||
# GCC 7.1.0
|
||||
.if ${COMPILER_TYPE} == "gcc" && ${COMPILER_VERSION} >= 70100
|
||||
.if ${COMPILER_VERSION} >= 70100
|
||||
CWARNFLAGS+= -Wno-error=bool-operation \
|
||||
-Wno-error=deprecated \
|
||||
-Wno-error=expansion-to-defined \
|
||||
@ -182,7 +163,7 @@ CWARNFLAGS+= -Wno-error=bool-operation \
|
||||
.endif
|
||||
|
||||
# GCC 8.1.0
|
||||
.if ${COMPILER_TYPE} == "gcc" && ${COMPILER_VERSION} >= 80100
|
||||
.if ${COMPILER_VERSION} >= 80100
|
||||
CWARNFLAGS+= -Wno-error=aggressive-loop-optimizations \
|
||||
-Wno-error=cast-function-type \
|
||||
-Wno-error=catch-value \
|
||||
@ -191,9 +172,10 @@ CWARNFLAGS+= -Wno-error=aggressive-loop-optimizations \
|
||||
-Wno-error=sizeof-pointer-memaccess \
|
||||
-Wno-error=stringop-truncation
|
||||
.endif
|
||||
.endif # gcc
|
||||
|
||||
# How to handle FreeBSD custom printf format specifiers.
|
||||
.if ${COMPILER_TYPE} == "clang" && ${COMPILER_VERSION} >= 30600
|
||||
.if ${COMPILER_TYPE} == "clang"
|
||||
FORMAT_EXTENSIONS= -D__printf__=__freebsd_kprintf__
|
||||
.else
|
||||
FORMAT_EXTENSIONS= -fformat-extensions
|
||||
@ -223,11 +205,7 @@ CFLAGS+=-nobuiltininc -idirafter ${COMPILER_RESOURCE_DIR}/include
|
||||
|
||||
CLANG_OPT_SMALL= -mstack-alignment=8 -mllvm -inline-threshold=3\
|
||||
-mllvm -simplifycfg-dup-ret
|
||||
.if ${COMPILER_VERSION} >= 30500 && ${COMPILER_VERSION} < 30700
|
||||
CLANG_OPT_SMALL+= -mllvm -enable-gvn=false
|
||||
.else
|
||||
CLANG_OPT_SMALL+= -mllvm -enable-load-pre=false
|
||||
.endif
|
||||
CFLAGS.clang+= -Qunused-arguments
|
||||
# The libc++ headers use c++11 extensions. These are normally silenced because
|
||||
# they are treated as system headers, but we explicitly disable that warning
|
||||
@ -238,14 +216,8 @@ CXXFLAGS.clang+= -Wno-c++11-extensions
|
||||
|
||||
.if ${MK_SSP} != "no" && \
|
||||
${MACHINE_CPUARCH} != "arm" && ${MACHINE_CPUARCH} != "mips"
|
||||
.if (${COMPILER_TYPE} == "clang" && ${COMPILER_VERSION} >= 30500) || \
|
||||
(${COMPILER_TYPE} == "gcc" && \
|
||||
(${COMPILER_VERSION} == 40201 || ${COMPILER_VERSION} >= 40900))
|
||||
# Don't use -Wstack-protector as it breaks world with -Werror.
|
||||
SSP_CFLAGS?= -fstack-protector-strong
|
||||
.else
|
||||
SSP_CFLAGS?= -fstack-protector
|
||||
.endif
|
||||
CFLAGS+= ${SSP_CFLAGS}
|
||||
.endif # SSP && !ARM && !MIPS
|
||||
|
||||
|
@ -24,7 +24,7 @@ UBLDR_LOADADDR?= 0x1000000
|
||||
# Architecture-specific loader code
|
||||
SRCS= start.S conf.c self_reloc.c vers.c
|
||||
|
||||
.if ${COMPILER_TYPE} == "gcc" && ${COMPILER_VERSION} > 40201
|
||||
.if ${COMPILER_TYPE} == "gcc"
|
||||
CWARNFLAGS.self_reloc.c+= -Wno-error=maybe-uninitialized
|
||||
.endif
|
||||
|
||||
|
@ -143,11 +143,7 @@ CFLAGS+= -fPIC -mno-red-zone
|
||||
# Do not generate movt/movw, because the relocation fixup for them does not
|
||||
# translate to the -Bsymbolic -pie format required by self_reloc() in loader(8).
|
||||
# Also, the fpu is not available in a standalone environment.
|
||||
.if ${COMPILER_VERSION} < 30800
|
||||
CFLAGS.clang+= -mllvm -arm-use-movt=0
|
||||
.else
|
||||
CFLAGS.clang+= -mno-movt
|
||||
.endif
|
||||
CFLAGS.clang+= -mfpu=none
|
||||
CFLAGS+= -fPIC
|
||||
.endif
|
||||
|
@ -4,16 +4,10 @@ NO_OBJ=t
|
||||
|
||||
.include <bsd.init.mk>
|
||||
|
||||
# In-tree GCC does not support __attribute__((ms_abi)), but gcc newer
|
||||
# than 4.5 supports it.
|
||||
.if ${COMPILER_TYPE} != "gcc" || ${COMPILER_VERSION} >= 40500
|
||||
|
||||
SUBDIR.${MK_FDT}+= fdt
|
||||
SUBDIR.yes+= libefi boot1 gptboot
|
||||
SUBDIR.${MK_FORTH}+= loader_4th
|
||||
SUBDIR.${MK_LOADER_LUA}+= loader_lua
|
||||
SUBDIR.yes+= loader_simp
|
||||
|
||||
.endif # ${COMPILER_TYPE} != "gcc" || ${COMPILER_VERSION} >= 40500
|
||||
|
||||
.include <bsd.subdir.mk>
|
||||
|
@ -42,10 +42,6 @@ CFLAGS.zfs_module.c+= -I${SYSDIR}/cddl/contrib/opensolaris/common/lz4
|
||||
CFLAGS+= -DEFI_ZFS_BOOT
|
||||
.endif
|
||||
|
||||
.if ${COMPILER_TYPE} == "gcc" && ${COMPILER_VERSION} > 40201
|
||||
CWARNFLAGS.self_reloc.c+= -Wno-error=maybe-uninitialized
|
||||
.endif
|
||||
|
||||
CFLAGS+= -I${EFIINC}
|
||||
CFLAGS+= -I${EFIINCMD}
|
||||
CFLAGS+= -I${SYSDIR}/contrib/dev/acpica/include
|
||||
|
@ -31,10 +31,6 @@ CFLAGS+= -DEFI_ZFS_BOOT
|
||||
HAVE_ZFS= yes
|
||||
.endif
|
||||
|
||||
.if ${COMPILER_TYPE} == "gcc" && ${COMPILER_VERSION} > 40201
|
||||
CWARNFLAGS.self_reloc.c+= -Wno-error=maybe-uninitialized
|
||||
.endif
|
||||
|
||||
# We implement a slightly non-standard %S in that it always takes a
|
||||
# CHAR16 that's common in UEFI-land instead of a wchar_t. This only
|
||||
# seems to matter on arm64 where wchar_t defaults to an int instead
|
||||
|
@ -37,9 +37,6 @@ CFLAGS+=-fomit-frame-pointer \
|
||||
CFLAGS.gcc+= -Os \
|
||||
-fno-asynchronous-unwind-tables \
|
||||
--param max-inline-insns-single=100
|
||||
.if ${COMPILER_TYPE} == "gcc" && ${COMPILER_VERSION} <= 40201
|
||||
CFLAGS.gcc+= -mno-align-long-strings
|
||||
.endif
|
||||
|
||||
CFLAGS.clang+= -Oz ${CLANG_OPT_SMALL}
|
||||
|
||||
|
@ -32,9 +32,6 @@ CFLAGS+=-DBOOTPROG=\"isoboot\" \
|
||||
-Winline -Wno-pointer-sign
|
||||
|
||||
CFLAGS.gcc+= --param max-inline-insns-single=100
|
||||
.if ${COMPILER_TYPE} == "gcc" && ${COMPILER_VERSION} <= 40201
|
||||
CFLAGS.gcc+= -Wno-uninitialized
|
||||
.endif
|
||||
CFLAGS.clang+= -Oz ${CLANG_OPT_SMALL}
|
||||
|
||||
LD_FLAGS+=${LD_FLAGS_BIN}
|
||||
|
@ -46,11 +46,7 @@ SRCS+= subr_boot.c
|
||||
# Do not generate movt/movw, because the relocation fixup for them does not
|
||||
# translate to the -Bsymbolic -pie format required by self_reloc() in loader(8).
|
||||
# Also, the fpu is not available in a standalone environment.
|
||||
.if ${COMPILER_VERSION} < 30800
|
||||
CFLAGS.clang+= -mllvm -arm-use-movt=0
|
||||
.else
|
||||
CFLAGS.clang+= -mno-movt
|
||||
.endif
|
||||
CFLAGS.clang+= -mfpu=none
|
||||
|
||||
.PATH: ${SRCTOP}/contrib/llvm-project/compiler-rt/lib/builtins/arm/
|
||||
|
@ -44,10 +44,6 @@ CFLAGS.clang += -mfpu=none
|
||||
|
||||
.if !empty(DDB_ENABLED)
|
||||
CFLAGS += -funwind-tables
|
||||
.if ${COMPILER_TYPE} == "clang" && ${COMPILER_VERSION} < 30500
|
||||
# clang < 3.5.0 requires us to tell it to emit assembly with unwind information
|
||||
CFLAGS += -mllvm -arm-enable-ehabi
|
||||
.endif
|
||||
.endif
|
||||
|
||||
# "makeoptions KERNVIRTADDR=" is now optional, supply the default value.
|
||||
|
@ -51,7 +51,7 @@ DPAAWARNFLAGS += \
|
||||
-Wno-error=incompatible-pointer-types-discards-qualifiers \
|
||||
-Wno-error=non-literal-null-conversion \
|
||||
-Wno-error=enum-conversion
|
||||
.elif "${COMPILER_TYPE}" == "gcc" && ${COMPILER_VERSION} >= 50200
|
||||
.elif "${COMPILER_TYPE}" == "gcc"
|
||||
DPAAWARNFLAGS += \
|
||||
-Wno-error=redundant-decls \
|
||||
-Wno-error=int-in-bool-context
|
||||
|
@ -31,19 +31,14 @@ NO_WTAUTOLOGICAL_POINTER_COMPARE= -Wno-tautological-pointer-compare
|
||||
CWARNEXTRA?= -Wno-error-tautological-compare -Wno-error-empty-body \
|
||||
-Wno-error-parentheses-equality -Wno-error-unused-function \
|
||||
-Wno-error-pointer-sign
|
||||
.if ${COMPILER_VERSION} >= 30700
|
||||
CWARNEXTRA+= -Wno-error-shift-negative-value
|
||||
.endif
|
||||
.if ${COMPILER_VERSION} >= 40000
|
||||
CWARNEXTRA+= -Wno-address-of-packed-member
|
||||
.endif
|
||||
.if ${COMPILER_VERSION} >= 100000
|
||||
NO_WMISLEADING_INDENTATION= -Wno-misleading-indentation
|
||||
.endif
|
||||
.endif
|
||||
.endif # clang
|
||||
|
||||
.if ${COMPILER_TYPE} == "gcc"
|
||||
.if ${COMPILER_VERSION} >= 40800
|
||||
# Catch-all for all the things that are in our tree, but for which we're
|
||||
# not yet ready for this compiler.
|
||||
NO_WUNUSED_BUT_SET_VARIABLE = -Wno-unused-but-set-variable
|
||||
@ -55,15 +50,13 @@ CWARNEXTRA?= -Wno-error=address \
|
||||
-Wno-error=enum-compare \
|
||||
-Wno-error=inline \
|
||||
-Wno-error=maybe-uninitialized \
|
||||
-Wno-error=misleading-indentation \
|
||||
-Wno-error=nonnull-compare \
|
||||
-Wno-error=overflow \
|
||||
-Wno-error=sequence-point \
|
||||
-Wno-unused-but-set-variable
|
||||
.if ${COMPILER_VERSION} >= 60100
|
||||
CWARNEXTRA+= -Wno-error=misleading-indentation \
|
||||
-Wno-error=nonnull-compare \
|
||||
-Wno-error=shift-overflow \
|
||||
-Wno-error=tautological-compare
|
||||
.endif
|
||||
-Wno-error=tautological-compare \
|
||||
-Wno-unused-but-set-variable
|
||||
.if ${COMPILER_VERSION} >= 70100
|
||||
CWARNEXTRA+= -Wno-error=stringop-overflow
|
||||
.endif
|
||||
@ -76,15 +69,7 @@ CWARNEXTRA+= -Wno-error=packed-not-aligned
|
||||
.if ${COMPILER_VERSION} >= 90100
|
||||
CWARNEXTRA+= -Wno-address-of-packed-member
|
||||
.endif
|
||||
.else
|
||||
# For gcc 4.2, eliminate the too-often-wrong warnings about uninitialized vars.
|
||||
CWARNEXTRA?= -Wno-uninitialized
|
||||
# GCC 4.2 doesn't have -Wno-error=cast-qual, so just disable the warning for
|
||||
# the few files that are already known to generate cast-qual warnings.
|
||||
NO_WCAST_QUAL= -Wno-cast-qual
|
||||
NO_WNONNULL= -Wno-nonnull
|
||||
.endif
|
||||
.endif
|
||||
.endif # gcc
|
||||
|
||||
# This warning is utter nonsense
|
||||
CWARNFLAGS+= -Wno-format-zero-length
|
||||
@ -93,7 +78,7 @@ CWARNFLAGS+= -Wno-format-zero-length
|
||||
# to be disabled. WARNING: format checking is disabled in this case.
|
||||
.if ${MK_FORMAT_EXTENSIONS} == "no"
|
||||
FORMAT_EXTENSIONS= -Wno-format
|
||||
.elif ${COMPILER_TYPE} == "clang" && ${COMPILER_VERSION} >= 30600
|
||||
.elif ${COMPILER_TYPE} == "clang"
|
||||
FORMAT_EXTENSIONS= -D__printf__=__freebsd_kprintf__
|
||||
.else
|
||||
FORMAT_EXTENSIONS= -fformat-extensions
|
||||
@ -201,12 +186,7 @@ CFLAGS.gcc+= -mno-spe
|
||||
# DDB happy. ELFv2, if available, has some other efficiency benefits.
|
||||
#
|
||||
.if ${MACHINE_ARCH} == "powerpc64"
|
||||
.if ${COMPILER_VERSION} >= 40900
|
||||
CFLAGS.gcc+= -mabi=elfv2
|
||||
.else
|
||||
CFLAGS.gcc+= -mcall-aixdesc
|
||||
.endif
|
||||
CFLAGS.clang+= -mabi=elfv2
|
||||
CFLAGS+= -mabi=elfv2
|
||||
.endif
|
||||
|
||||
#
|
||||
|
@ -345,10 +345,7 @@ ${__obj}: ${OBJS_DEPEND_GUESS.${__obj}}
|
||||
|
||||
.depend: .PRECIOUS ${SRCS}
|
||||
|
||||
.if ${COMPILER_TYPE} == "clang" || \
|
||||
(${COMPILER_TYPE} == "gcc" && ${COMPILER_VERSION} >= 60000)
|
||||
_MAP_DEBUG_PREFIX= yes
|
||||
.endif
|
||||
|
||||
_ILINKS= machine
|
||||
.if ${MACHINE} != ${MACHINE_CPUARCH} && ${MACHINE} != "arm64"
|
||||
|
@ -93,11 +93,7 @@ CFLAGS.gcc+= -fms-extensions
|
||||
.if defined(CFLAGS_ARCH_PARAMS)
|
||||
CFLAGS.gcc+=${CFLAGS_ARCH_PARAMS}
|
||||
.endif
|
||||
.if ${COMPILER_TYPE} == "gcc" && ${COMPILER_VERSION} < 50000
|
||||
WERROR?= -Wno-error
|
||||
.else
|
||||
WERROR?= -Werror
|
||||
.endif
|
||||
# The following should be removed no earlier than LLVM11 being imported into the
|
||||
# tree, to ensure we don't regress the build. LLVM11 and GCC10 will switch the
|
||||
# default over to -fno-common, making this redundant.
|
||||
|
@ -88,11 +88,7 @@ __KLD_SHARED=no
|
||||
.if !empty(CFLAGS:M-O[23s]) && empty(CFLAGS:M-fno-strict-aliasing)
|
||||
CFLAGS+= -fno-strict-aliasing
|
||||
.endif
|
||||
.if ${COMPILER_TYPE} == "gcc" && ${COMPILER_VERSION} < 50000
|
||||
WERROR?= -Wno-error
|
||||
.else
|
||||
WERROR?= -Werror
|
||||
.endif
|
||||
|
||||
LINUXKPI_GENSRCS+= \
|
||||
bus_if.h \
|
||||
@ -160,11 +156,7 @@ CFLAGS+= -fPIC
|
||||
# Temporary workaround for PR 196407, which contains the fascinating details.
|
||||
# Don't allow clang to use fpu instructions or registers in kernel modules.
|
||||
.if ${MACHINE_CPUARCH} == arm
|
||||
.if ${COMPILER_VERSION} < 30800
|
||||
CFLAGS.clang+= -mllvm -arm-use-movt=0
|
||||
.else
|
||||
CFLAGS.clang+= -mno-movt
|
||||
.endif
|
||||
CFLAGS.clang+= -mfpu=none
|
||||
CFLAGS+= -funwind-tables
|
||||
.endif
|
||||
@ -283,10 +275,7 @@ ${FULLPROG}: ${OBJS}
|
||||
${OBJCOPY} --strip-debug ${.TARGET}
|
||||
.endif
|
||||
|
||||
.if ${COMPILER_TYPE} == "clang" || \
|
||||
(${COMPILER_TYPE} == "gcc" && ${COMPILER_VERSION} >= 60000)
|
||||
_MAP_DEBUG_PREFIX= yes
|
||||
.endif
|
||||
|
||||
_ILINKS=machine
|
||||
.if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64"
|
||||
|
@ -620,10 +620,8 @@ _aac= aac
|
||||
_aacraid= aacraid
|
||||
_acpi= acpi
|
||||
.if ${MK_CRYPT} != "no" || defined(ALL_MODULES)
|
||||
.if ${COMPILER_TYPE} != "gcc" || ${COMPILER_VERSION} > 40201
|
||||
_aesni= aesni
|
||||
.endif
|
||||
.endif
|
||||
_amd_ecc_inject=amd_ecc_inject
|
||||
_amdsbwd= amdsbwd
|
||||
_amdsmn= amdsmn
|
||||
|
@ -87,6 +87,6 @@ LIBADD= pthread
|
||||
# integer to pointer, which is a GNU extension.
|
||||
#
|
||||
# Turn off the warning, because this is in contributed code.
|
||||
.if ${COMPILER_TYPE} == "clang" && ${COMPILER_VERSION} >= 60000
|
||||
.if ${COMPILER_TYPE} == "clang"
|
||||
CWARNFLAGS+= -Wno-null-pointer-arithmetic
|
||||
.endif
|
||||
|
@ -8,18 +8,12 @@ MAN= trpt.8
|
||||
BINGRP= kmem
|
||||
BINMODE= 2555
|
||||
|
||||
.if ${COMPILER_TYPE} == "gcc" && ${COMPILER_VERSION} < 50000
|
||||
WARNS?= 4
|
||||
.endif
|
||||
|
||||
.if ${MK_INET6_SUPPORT} != "no"
|
||||
CFLAGS+= -DINET6
|
||||
.endif
|
||||
|
||||
.include <bsd.prog.mk>
|
||||
|
||||
.if ${COMPILER_TYPE} != "gcc" || ${COMPILER_VERSION} >= 50000
|
||||
# Several included system headers tickle this warning in ways that are
|
||||
# difficult to work around in this program.
|
||||
CFLAGS+= -Wno-missing-variable-declarations
|
||||
.endif
|
||||
|
@ -15,7 +15,7 @@ CFLAGS+= -I${.CURDIR:H} -I${SRCTOP}/contrib/tzcode/stdtime
|
||||
|
||||
WARNS?= 2
|
||||
|
||||
.if ${COMPILER_TYPE} == "gcc" && ${COMPILER_VERSION} >= 50300
|
||||
.if ${COMPILER_TYPE} == "gcc"
|
||||
CWARNFLAGS+= -Wno-error=strict-overflow
|
||||
.endif
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user