PR#7452: tweak GCC options to try to work around the Skylake/Kaby lake bug (#1228)

master
Damien Doligez 2017-07-12 11:39:26 +02:00 committed by GitHub
parent 76ced01062
commit 2d03974c12
4 changed files with 26 additions and 4 deletions

View File

@ -296,6 +296,10 @@ OCaml 4.05.0 (TBD):
- PR#7377: remove -std=gnu99 for newer gcc versions
(Damien Doligez, report by ygrek)
- PR#7452, GPR#1228: tweak GCC options to try to avoid the
Skylake/Kaby lake bug
(Damien Doligez, review by David Allsopp, Xavier Leroy and Mark Shinwell)
- GPR#693: fail on unexpected errors or warnings within caml_example
environment.
(Florian Angeletti)

View File

@ -108,7 +108,9 @@ BYTECC=$(TOOLPREF)gcc -O -mms-bitfields
BYTECODE_C_COMPILER=$(BYTECC)
### Additional compile-time options for $(BYTECC). (For static linking.)
BYTECCCOMPOPTS=-DCAML_NAME_SPACE -Wall -Wno-unused
# -fno-tree-vrp is here to try to work around the Skylake/Kaby lake bug,
# and only works on GCC 4.2 and later.
BYTECCCOMPOPTS=-DCAML_NAME_SPACE -Wall -Wno-unused -fno-tree-vrp
### Additional compile-time options for $(BYTECC). (For debug version.)
BYTECCDBGCOMPOPTS=-g
@ -183,7 +185,9 @@ NATIVECC=$(BYTECC)
NATIVE_C_COMPILER=$(NATIVECC)
### Additional compile-time options for $(NATIVECC).
NATIVECCCOMPOPTS=-DCAML_NAME_SPACE -Wall -Wno-unused
# -fno-tree-vrp is here to try to work around the Skylake/Kaby lake bug,
# and only works on GCC 4.2 and later.
NATIVECCCOMPOPTS=-DCAML_NAME_SPACE -Wall -Wno-unused -fno-tree-vrp
### Additional link-time options for $(NATIVECC)
NATIVECCLINKOPTS=

View File

@ -108,7 +108,9 @@ BYTECC=$(TOOLPREF)gcc -O -mms-bitfields
BYTECODE_C_COMPILER=$(BYTECC)
### Additional compile-time options for $(BYTECC). (For static linking.)
BYTECCCOMPOPTS=-DCAML_NAME_SPACE -Wall -Wno-unused
# -fno-tree-vrp is here to try to work around the Skylake/Kaby lake bug,
# and only works on GCC 4.2 and later.
BYTECCCOMPOPTS=-DCAML_NAME_SPACE -Wall -Wno-unused -fno-tree-vrp
### Additional compile-time options for $(BYTECC). (For debug version.)
BYTECCDBGCOMPOPTS=-g
@ -183,7 +185,9 @@ NATIVECC=$(BYTECC)
NATIVE_C_COMPILER=$(NATIVECC)
### Additional compile-time options for $(NATIVECC).
NATIVECCCOMPOPTS=-DCAML_NAME_SPACE -Wall -Wno-unused
# -fno-tree-vrp is here to try to work around the Skylake/Kaby lake bug,
# and only works on GCC 4.2 and later.
NATIVECCCOMPOPTS=-DCAML_NAME_SPACE -Wall -Wno-unused -fno-tree-vrp
### Additional link-time options for $(NATIVECC)
NATIVECCLINKOPTS=

10
configure vendored
View File

@ -864,6 +864,16 @@ else
fi
# Try to work around the Skylake/Kaby Lake processor bug.
case "$bytecc,$target" in
*gcc*,x86_64-*|*gcc*,i686-*)
if sh ./hasgot -Werror -fno-tree-vrp; then
byteccprivatecompopts="$byteccprivatecompopts -fno-tree-vrp"
inf "Adding -fno-tree-vrp option to work around PR#7452"
fi;;
esac
# Configure the native-code compiler
# The NATIVECC make variable defines which compiler and options to use