diff --git a/android/arch_list.go b/android/arch_list.go index f1289a3b6..2937092af 100644 --- a/android/arch_list.go +++ b/android/arch_list.go @@ -159,6 +159,9 @@ var androidArchFeatureMap = map[ArchType]map[string][]string{ "armv9-a": { "dotprod", }, + "armv9-2a": { + "dotprod", + }, }, X86: { "amberlake": { diff --git a/cc/config/arm64_device.go b/cc/config/arm64_device.go index beb68e19d..761afcf18 100644 --- a/cc/config/arm64_device.go +++ b/cc/config/arm64_device.go @@ -41,11 +41,18 @@ var ( "armv8-2a-dotprod": []string{ "-march=armv8.2-a+dotprod", }, + // On ARMv9 and later, Pointer Authentication Codes (PAC) are mandatory, + // so -fstack-protector is unnecessary. "armv9-a": []string{ "-march=armv8.2-a+dotprod", "-mbranch-protection=standard", "-fno-stack-protector", }, + "armv9-2a": []string{ + "-march=armv9.2-a", + "-mbranch-protection=standard", + "-fno-stack-protector", + }, } arm64Ldflags = []string{