Add support for Exynos-M2.

Change-Id: I646f303b460556a9b36a44574f25dd992d42906c
Signed-off-by: Junmo Park <junmoz.park@samsung.com>
diff --git a/android/arch.go b/android/arch.go
index 67ce30e..08421a1 100644
--- a/android/arch.go
+++ b/android/arch.go
@@ -879,10 +879,12 @@
 		{"arm", "armv7-a-neon", "denver", []string{"armeabi-v7a"}},
 		{"arm", "armv7-a-neon", "krait", []string{"armeabi-v7a"}},
 		{"arm", "armv7-a-neon", "kryo", []string{"armeabi-v7a"}},
+		{"arm", "armv7-a-neon", "exynos-m2", []string{"armeabi-v7a"}},
 		{"arm64", "armv8-a", "cortex-a53", []string{"arm64-v8a"}},
 		{"arm64", "armv8-a", "cortex-a73", []string{"arm64-v8a"}},
 		{"arm64", "armv8-a", "denver64", []string{"arm64-v8a"}},
 		{"arm64", "armv8-a", "kryo", []string{"arm64-v8a"}},
+		{"arm64", "armv8-a", "exynos-m2", []string{"arm64-v8a"}},
 		{"mips", "mips32-fp", "", []string{"mips"}},
 		{"mips", "mips32r2-fp", "", []string{"mips"}},
 		{"mips", "mips32r2-fp-xburst", "", []string{"mips"}},
diff --git a/cc/config/arm64_device.go b/cc/config/arm64_device.go
index a371cf6..139c901 100644
--- a/cc/config/arm64_device.go
+++ b/cc/config/arm64_device.go
@@ -81,6 +81,9 @@
 			// don't support a Kryo specific target yet.
 			"-mcpu=cortex-a57",
 		},
+		"exynos-m2": []string{
+			"-mcpu=exynos-m2",
+		},
 	}
 
 	arm64ClangCpuVariantCflags = copyVariantFlags(arm64CpuVariantCflags)
@@ -96,6 +99,7 @@
 		"cortex-a53",
 		"cortex-a73",
 		"kryo",
+		"exynos-m2",
 		"denver64")
 
 	// Clang supports specific Kryo targeting
@@ -124,6 +128,11 @@
 		strings.Join(arm64CpuVariantCflags["kryo"], " "))
 	pctx.StaticVariable("Arm64ClangKryoCflags",
 		strings.Join(arm64ClangCpuVariantCflags["kryo"], " "))
+
+	pctx.StaticVariable("Arm64ExynosM2Cflags",
+		strings.Join(arm64CpuVariantCflags["cortex-a53"], " "))
+	pctx.StaticVariable("Arm64ClangExynosM2Cflags",
+		strings.Join(arm64ClangCpuVariantCflags["exynos-m2"], " "))
 }
 
 var (
@@ -132,6 +141,7 @@
 		"cortex-a53": "${config.Arm64CortexA53Cflags}",
 		"cortex-a73": "${config.Arm64CortexA53Cflags}",
 		"kryo":       "${config.Arm64KryoCflags}",
+		"exynos-m2":  "${config.Arm64ExynosM2Cflags}",
 	}
 
 	arm64ClangCpuVariantCflagsVar = map[string]string{
@@ -139,6 +149,7 @@
 		"cortex-a53": "${config.Arm64ClangCortexA53Cflags}",
 		"cortex-a73": "${config.Arm64ClangCortexA53Cflags}",
 		"kryo":       "${config.Arm64ClangKryoCflags}",
+		"exynos-m2":  "${config.Arm64ClangExynosM2Cflags}",
 	}
 )
 
diff --git a/cc/config/arm_device.go b/cc/config/arm_device.go
index 6606100..e97e723 100644
--- a/cc/config/arm_device.go
+++ b/cc/config/arm_device.go
@@ -182,6 +182,7 @@
 		"cortex-a73",
 		"krait",
 		"kryo",
+		"exynos-m2",
 		"denver")
 
 	android.RegisterArchVariantFeatures(android.Arm, "armv7-a-neon", "neon")
@@ -274,6 +275,7 @@
 		"cortex-a73":     "${config.ArmCortexA53Cflags}",
 		"krait":          "${config.ArmKraitCflags}",
 		"kryo":           "${config.ArmKryoCflags}",
+		"exynos-m2":      "${config.ArmCortexA53Cflags}",
 		"denver":         "${config.ArmCortexA15Cflags}",
 	}
 
@@ -293,6 +295,7 @@
 		"cortex-a73":     "${config.ArmClangCortexA53Cflags}",
 		"krait":          "${config.ArmClangKraitCflags}",
 		"kryo":           "${config.ArmClangKryoCflags}",
+		"exynos-m2":      "${config.ArmClangCortexA53Cflags}",
 		"denver":         "${config.ArmClangCortexA15Cflags}",
 	}
 )