From fac6dee9eb58b2b558fec2aea749460ca623f6d6 Mon Sep 17 00:00:00 2001 From: Eric van Gyzen Date: Tue, 12 May 2020 15:22:40 +0000 Subject: [PATCH] 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 --- lib/libclang_rt/Makefile.inc | 2 +- lib/libthr/Makefile | 3 -- lib/msun/Makefile | 4 +-- libexec/rtld-elf/Makefile | 4 --- libexec/tftpd/tests/Makefile | 3 -- share/mk/bsd.compiler.mk | 14 ++------- share/mk/bsd.sys.mk | 56 +++++++++-------------------------- stand/arm/uboot/Makefile | 2 +- stand/defs.mk | 4 --- stand/efi/Makefile | 6 ---- stand/efi/boot1/Makefile | 4 --- stand/efi/loader/Makefile | 4 --- stand/i386/boot2/Makefile | 3 -- stand/i386/isoboot/Makefile | 3 -- stand/libsa/Makefile | 4 --- sys/conf/Makefile.arm | 4 --- sys/conf/Makefile.powerpc | 2 +- sys/conf/kern.mk | 36 +++++----------------- sys/conf/kern.post.mk | 3 -- sys/conf/kern.pre.mk | 4 --- sys/conf/kmod.mk | 11 ------- sys/modules/Makefile | 2 -- usr.sbin/acpi/acpidb/Makefile | 2 +- usr.sbin/trpt/Makefile | 6 ---- usr.sbin/zic/zic/Makefile | 2 +- 25 files changed, 32 insertions(+), 156 deletions(-) diff --git a/lib/libclang_rt/Makefile.inc b/lib/libclang_rt/Makefile.inc index 80820469301..8d829c9210a 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 5f3d52661c9..c77b6b565a8 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 -.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 6c9af4c018c..4491bc216a4 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 -.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 b83c8357284..23a0f99af2c 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 9aa420cec1a..390921e31de 100644 --- a/libexec/tftpd/tests/Makefile +++ b/libexec/tftpd/tests/Makefile @@ -2,11 +2,8 @@ .include -# 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 2902e8b01f2..ffea2c9e125 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 b003bb68a2c..d2c73d95b2a 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 @@ -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 0c906c99ee6..f99282aa6e5 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 89ccf2f4bdb..776da61e66c 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 2e0daba6dab..f6cbede52bd 100644 --- a/stand/efi/Makefile +++ b/stand/efi/Makefile @@ -4,16 +4,10 @@ NO_OBJ=t .include -# 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 diff --git a/stand/efi/boot1/Makefile b/stand/efi/boot1/Makefile index 56a3eb02899..b8644ace4d4 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 6ee613e7bfe..73b1975ad3e 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 9bb31275b9c..8758261ad45 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 9fcd1f35723..67936e16176 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 b9b70b93e03..d016a07ff0e 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 23108641ba0..1d0ab347827 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 f8b5bd6b054..a933c6b4209 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 23c98de879b..71abc84247e 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 529a02ac679..883c8d8b52f 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 b1b01e3a2eb..2436269c893 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 d1f98ef51cf..f48ee46f956 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 b7641713c8e..499a3af7a48 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 566794fa6f4..5a6fceb2a4c 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 4756cb1a0d0..33a3d1f81a7 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 -.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 36cc79009b4..17ffb33a57e 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