Date: Tue, 29 Sep 2020 11:48:22 +0000 (UTC) From: Edward Tomasz Napierala <trasz@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r366251 - head/sys/conf Message-ID: <202009291148.08TBmM0d041879@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: trasz Date: Tue Sep 29 11:48:22 2020 New Revision: 366251 URL: https://svnweb.freebsd.org/changeset/base/366251 Log: Build debug kernels with -O2. LLVM 11 changed the meaning of '-O' from '-O2' to '-O1', which resulted in debug kernels (with 'makeoptions DEBUG=-g') being built with inlining disabled, causing severe performance hit. The -O2 was already being used for building amd64, powerpc, and powerpcspe. Discussed with: jrtc27, arichardson, bdragon, jhibbits Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D26471 Modified: head/sys/conf/kern.pre.mk Modified: head/sys/conf/kern.pre.mk ============================================================================== --- head/sys/conf/kern.pre.mk Tue Sep 29 11:18:48 2020 (r366250) +++ head/sys/conf/kern.pre.mk Tue Sep 29 11:48:22 2020 (r366251) @@ -51,25 +51,14 @@ OBJCOPY?= objcopy SIZE?= size .if defined(DEBUG) -.if ${MACHINE_ARCH} == "powerpc" || ${MACHINE_ARCH} == "powerpcspe" -# Work around clang 11 miscompile on 32 bit powerpc. -_MINUS_O= -O2 -.else -_MINUS_O= -O -.endif CTFFLAGS+= -g -.else -_MINUS_O= -O2 .endif -.if ${MACHINE_CPUARCH} == "amd64" -.if ${COMPILER_TYPE} == "clang" -COPTFLAGS?=-O2 -pipe +.if ${MACHINE_CPUARCH} == "amd64" && ${COMPILER_TYPE} != "clang" +_COPTFLAGS_EXTRA=-frename-registers .else -COPTFLAGS?=-O2 -frename-registers -pipe +_COPTFLAGS_EXTRA= .endif -.else -COPTFLAGS?=${_MINUS_O} -pipe -.endif +COPTFLAGS?=-O2 -pipe ${_COPTFLAGS_EXTRA} .if !empty(COPTFLAGS:M-O[23s]) && empty(COPTFLAGS:M-fno-strict-aliasing) COPTFLAGS+= -fno-strict-aliasing .endif
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202009291148.08TBmM0d041879>