ENV/std: conditionally apply AES-NI workaround

This commit is contained in:
Bo Anderson 2020-04-12 14:50:49 +01:00
parent 793407a2e0
commit df47668113

View File

@ -112,9 +112,11 @@ module Stdenv
def clang def clang
super super
replace_in_cflags(/-Xarch_#{Hardware::CPU.arch_32_bit} (-march=\S*)/, '\1') replace_in_cflags(/-Xarch_#{Hardware::CPU.arch_32_bit} (-march=\S*)/, '\1')
# Clang mistakenly enables AES-NI on plain Nehalem
map = Hardware::CPU.optimization_flags map = Hardware::CPU.optimization_flags
.merge(nehalem: "-march=nehalem -Xclang -target-feature -Xclang -aes") if DevelopmentTools.clang_build_version < 700
# Clang mistakenly enables AES-NI on plain Nehalem
map[:nehalem] = "-march=nehalem -Xclang -target-feature -Xclang -aes"
end
set_cpu_cflags map set_cpu_cflags map
end end