summaryrefslogtreecommitdiffstats
path: root/sys/conf
diff options
context:
space:
mode:
authornwhitehorn <nwhitehorn@FreeBSD.org>2011-08-15 13:33:14 +0000
committernwhitehorn <nwhitehorn@FreeBSD.org>2011-08-15 13:33:14 +0000
commit80a6b3c99881a709156baf30c39dbe4114cbcac3 (patch)
tree3c37183bec729d6b0ed08308746ffe08ec7ed43e /sys/conf
parenteb0477f78d680e21ad26426379519418dbab1708 (diff)
downloadFreeBSD-src-80a6b3c99881a709156baf30c39dbe4114cbcac3.zip
FreeBSD-src-80a6b3c99881a709156baf30c39dbe4114cbcac3.tar.gz
Use a maximum of -O on PowerPC kernels instead of -O2 to prevent a rare
bug that could cause intermittent memory corruption on PowerPC SMP systems using non-debug kernels. This is a temporary change until the real problem is fixed. Approved by: re (kib)
Diffstat (limited to 'sys/conf')
-rw-r--r--sys/conf/kern.pre.mk4
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/conf/kern.pre.mk b/sys/conf/kern.pre.mk
index e9aa6e2..2320b89 100644
--- a/sys/conf/kern.pre.mk
+++ b/sys/conf/kern.pre.mk
@@ -27,8 +27,12 @@ SIZE?= size
_MINUS_O= -O
CTFFLAGS+= -g
.else
+.if ${MACHINE_CPUARCH} == "powerpc"
+_MINUS_O= -O # gcc miscompiles some code at -O2
+.else
_MINUS_O= -O2
.endif
+.endif
.if ${MACHINE_CPUARCH} == "amd64"
COPTFLAGS?=-O2 -frename-registers -pipe
.else
OpenPOWER on IntegriCloud