aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/libclang_rt/Makefile.inc2
-rw-r--r--lib/libthr/Makefile3
-rw-r--r--lib/msun/Makefile4
-rw-r--r--libexec/rtld-elf/Makefile4
-rw-r--r--libexec/tftpd/tests/Makefile3
-rw-r--r--share/mk/bsd.compiler.mk14
-rw-r--r--share/mk/bsd.sys.mk56
-rw-r--r--stand/arm/uboot/Makefile2
-rw-r--r--stand/defs.mk4
-rw-r--r--stand/efi/Makefile6
-rw-r--r--stand/efi/boot1/Makefile4
-rw-r--r--stand/efi/loader/Makefile4
-rw-r--r--stand/i386/boot2/Makefile3
-rw-r--r--stand/i386/isoboot/Makefile3
-rw-r--r--stand/libsa/Makefile4
-rw-r--r--sys/conf/Makefile.arm4
-rw-r--r--sys/conf/Makefile.powerpc2
-rw-r--r--sys/conf/kern.mk36
-rw-r--r--sys/conf/kern.post.mk3
-rw-r--r--sys/conf/kern.pre.mk4
-rw-r--r--sys/conf/kmod.mk11
-rw-r--r--sys/modules/Makefile2
-rw-r--r--usr.sbin/acpi/acpidb/Makefile2
-rw-r--r--usr.sbin/trpt/Makefile6
-rw-r--r--usr.sbin/zic/zic/Makefile2
25 files changed, 32 insertions, 156 deletions
diff --git a/lib/libclang_rt/Makefile.inc b/lib/libclang_rt/Makefile.inc
index 808204693014..8d829c9210ad 100644
--- a/lib/libclang_rt/Makefile.inc
+++ b/lib/libclang_rt/Makefile.inc
@@ -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
diff --git a/lib/libthr/Makefile b/lib/libthr/Makefile
index 5f3d52661c99..c77b6b565a87 100644
--- a/lib/libthr/Makefile
+++ b/lib/libthr/Makefile
@@ -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
diff --git a/lib/msun/Makefile b/lib/msun/Makefile
index 6c9af4c018c8..4491bc216a4c 100644
--- a/lib/msun/Makefile
+++ b/lib/msun/Makefile
@@ -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
diff --git a/libexec/rtld-elf/Makefile b/libexec/rtld-elf/Makefile
index b83c8357284c..23a0f99af2c2 100644
--- a/libexec/rtld-elf/Makefile
+++ b/libexec/rtld-elf/Makefile
@@ -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
diff --git a/libexec/tftpd/tests/Makefile b/libexec/tftpd/tests/Makefile
index 9aa420cec1a5..390921e31de7 100644
--- a/libexec/tftpd/tests/Makefile
+++ b/libexec/tftpd/tests/Makefile
@@ -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
diff --git a/share/mk/bsd.compiler.mk b/share/mk/bsd.compiler.mk
index 2902e8b01f29..ffea2c9e1254 100644
--- a/share/mk/bsd.compiler.mk
+++ b/share/mk/bsd.compiler.mk
@@ -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
diff --git a/share/mk/bsd.sys.mk b/share/mk/bsd.sys.mk
index b003bb68a2c1..d2c73d95b2a6 100644
--- a/share/mk/bsd.sys.mk
+++ b/share/mk/bsd.sys.mk
@@ -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
diff --git a/stand/arm/uboot/Makefile b/stand/arm/uboot/Makefile
index 0c906c99ee6f..f99282aa6e5a 100644
--- a/stand/arm/uboot/Makefile
+++ b/stand/arm/uboot/Makefile
@@ -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
diff --git a/stand/defs.mk b/stand/defs.mk
index 89ccf2f4bdbf..776da61e66cc 100644
--- a/stand/defs.mk
+++ b/stand/defs.mk
@@ -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
diff --git a/stand/efi/Makefile b/stand/efi/Makefile
index 2e0daba6dab8..f6cbede52bd5 100644
--- a/stand/efi/Makefile
+++ b/stand/efi/Makefile
@@ -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>
diff --git a/stand/efi/boot1/Makefile b/stand/efi/boot1/Makefile
index 56a3eb028993..b8644ace4d44 100644
--- a/stand/efi/boot1/Makefile
+++ b/stand/efi/boot1/Makefile
@@ -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
diff --git a/stand/efi/loader/Makefile b/stand/efi/loader/Makefile
index 6ee613e7bfea..73b1975ad3e3 100644
--- a/stand/efi/loader/Makefile
+++ b/stand/efi/loader/Makefile
@@ -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
diff --git a/stand/i386/boot2/Makefile b/stand/i386/boot2/Makefile
index 9bb31275b9c6..8758261ad45f 100644
--- a/stand/i386/boot2/Makefile
+++ b/stand/i386/boot2/Makefile
@@ -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}
diff --git a/stand/i386/isoboot/Makefile b/stand/i386/isoboot/Makefile
index 9fcd1f357231..67936e16176a 100644
--- a/stand/i386/isoboot/Makefile
+++ b/stand/i386/isoboot/Makefile
@@ -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}
diff --git a/stand/libsa/Makefile b/stand/libsa/Makefile
index b9b70b93e039..d016a07ff0e6 100644
--- a/stand/libsa/Makefile
+++ b/stand/libsa/Makefile
@@ -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/
diff --git a/sys/conf/Makefile.arm b/sys/conf/Makefile.arm
index 23108641ba0c..1d0ab347827b 100644
--- a/sys/conf/Makefile.arm
+++ b/sys/conf/Makefile.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.
diff --git a/sys/conf/Makefile.powerpc b/sys/conf/Makefile.powerpc
index f8b5bd6b0547..a933c6b42090 100644
--- a/sys/conf/Makefile.powerpc
+++ b/sys/conf/Makefile.powerpc
@@ -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
diff --git a/sys/conf/kern.mk b/sys/conf/kern.mk
index 23c98de879b7..71abc84247ec 100644
--- a/sys/conf/kern.mk
+++ b/sys/conf/kern.mk
@@ -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
#
diff --git a/sys/conf/kern.post.mk b/sys/conf/kern.post.mk
index 529a02ac6796..883c8d8b52f8 100644
--- a/sys/conf/kern.post.mk
+++ b/sys/conf/kern.post.mk
@@ -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"
diff --git a/sys/conf/kern.pre.mk b/sys/conf/kern.pre.mk
index b1b01e3a2eb9..2436269c893c 100644
--- a/sys/conf/kern.pre.mk
+++ b/sys/conf/kern.pre.mk
@@ -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.
diff --git a/sys/conf/kmod.mk b/sys/conf/kmod.mk
index d1f98ef51cf8..f48ee46f956d 100644
--- a/sys/conf/kmod.mk
+++ b/sys/conf/kmod.mk
@@ -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"
diff --git a/sys/modules/Makefile b/sys/modules/Makefile
index b7641713c8e7..499a3af7a489 100644
--- a/sys/modules/Makefile
+++ b/sys/modules/Makefile
@@ -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
diff --git a/usr.sbin/acpi/acpidb/Makefile b/usr.sbin/acpi/acpidb/Makefile
index 566794fa6f4b..5a6fceb2a4cb 100644
--- a/usr.sbin/acpi/acpidb/Makefile
+++ b/usr.sbin/acpi/acpidb/Makefile
@@ -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
diff --git a/usr.sbin/trpt/Makefile b/usr.sbin/trpt/Makefile
index 4756cb1a0d03..33a3d1f81a7f 100644
--- a/usr.sbin/trpt/Makefile
+++ b/usr.sbin/trpt/Makefile
@@ -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
diff --git a/usr.sbin/zic/zic/Makefile b/usr.sbin/zic/zic/Makefile
index 36cc79009b45..17ffb33a57e7 100644
--- a/usr.sbin/zic/zic/Makefile
+++ b/usr.sbin/zic/zic/Makefile
@@ -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