diff --git a/cc/config/arm_device.go b/cc/config/arm_device.go index 0f28d1e28..fda4f9d57 100644 --- a/cc/config/arm_device.go +++ b/cc/config/arm_device.go @@ -115,7 +115,9 @@ var ( "-D__ARM_FEATURE_LPAE=1", }, "kryo": []string{ - "-mcpu=cortex-a15", + // Use cortex-a53 because the GNU assembler doesn't recognize -mcpu=kryo + // even though clang does. + "-mcpu=cortex-a53", "-mfpu=neon-fp-armv8", // Fake an ARM compiler flag as these processors support LPAE which GCC/clang // don't advertise. @@ -158,10 +160,9 @@ func init() { android.RegisterArchVariantFeatures(android.Arm, "armv7-a-neon", "neon") android.RegisterArchVariantFeatures(android.Arm, "armv8-a", "neon") - // Krait and Kryo targets are not supported by GCC, but are supported by Clang, - // so override the definitions when building modules with Clang. + // Krait is not supported by GCC, but is supported by Clang, so + // override the definitions when building modules with Clang. replaceFirst(armClangCpuVariantCflags["krait"], "-mcpu=cortex-a15", "-mcpu=krait") - replaceFirst(armClangCpuVariantCflags["kryo"], "-mcpu=cortex-a15", "-mcpu=krait") // The reason we use "-march=armv8-a+crc", instead of "-march=armv8-a", for // gcc is the latter would conflict with any specified/supported -mcpu!