Merge "bundle files related to sdk dev tool with generated docs."
am: a5949691b5

Change-Id: I0795b5a3da0e516f42b7020df789665224e61686
diff --git a/android/api_levels.go b/android/api_levels.go
index 64d3d5d..1b56625 100644
--- a/android/api_levels.go
+++ b/android/api_levels.go
@@ -67,6 +67,8 @@
 			"N":     24,
 			"N-MR1": 25,
 			"O":     26,
+			"O-MR1": 27,
+			"P":     28,
 		}
 		for i, codename := range config.PlatformVersionCombinedCodenames() {
 			apiLevelsMap[codename] = baseApiLevel + i
diff --git a/android/variable.go b/android/variable.go
index d97fc0b..b4ed1b7 100644
--- a/android/variable.go
+++ b/android/variable.go
@@ -104,6 +104,19 @@
 		Uml struct {
 			Cppflags []string
 		}
+
+		Use_lmkd_stats_log struct {
+			Cflags []string
+		}
+
+		Arc struct {
+			Cflags       []string
+			Exclude_srcs []string
+			Include_dirs []string
+			Shared_libs  []string
+			Static_libs  []string
+			Srcs         []string
+		}
 	} `android:"arch_variant"`
 }
 
@@ -174,6 +187,8 @@
 	Enforce_vintf_manifest     *bool `json:",omitempty"`
 	Pdk                        *bool `json:",omitempty"`
 	Uml                        *bool `json:",omitempty"`
+	Use_lmkd_stats_log         *bool `json:",omitempty"`
+	Arc                        *bool `json:",omitempty"`
 	MinimizeJavaDebugInfo      *bool `json:",omitempty"`
 
 	IntegerOverflowExcludePaths *[]string `json:",omitempty"`
diff --git a/cc/config/arm64_device.go b/cc/config/arm64_device.go
index 172784a..f412583 100644
--- a/cc/config/arm64_device.go
+++ b/cc/config/arm64_device.go
@@ -174,7 +174,6 @@
 	toolchain64Bit
 
 	ldflags              string
-	lldflags             string
 	toolchainCflags      string
 	toolchainClangCflags string
 }
@@ -232,7 +231,7 @@
 }
 
 func (t *toolchainArm64) ClangLldflags() string {
-	return t.lldflags
+	return "${config.Arm64Lldflags}"
 }
 
 func (t *toolchainArm64) ToolchainClangCflags() string {
@@ -270,10 +269,6 @@
 			"${config.Arm64Ldflags}",
 			extraLdflags,
 		}, " "),
-		lldflags: strings.Join([]string{
-			"${config.Arm64Lldflags}",
-			extraLdflags,
-		}, " "),
 		toolchainCflags:      variantOrDefault(arm64CpuVariantCflagsVar, arch.CpuVariant),
 		toolchainClangCflags: strings.Join(toolchainClangCflags, " "),
 	}
diff --git a/cc/config/global.go b/cc/config/global.go
index dee7640..a49e509 100644
--- a/cc/config/global.go
+++ b/cc/config/global.go
@@ -192,7 +192,7 @@
 	// This is used by non-NDK modules to get jni.h. export_include_dirs doesn't help
 	// with this, since there is no associated library.
 	pctx.PrefixedExistentPathsForSourcesVariable("CommonNativehelperInclude", "-I",
-		[]string{"libnativehelper/include_deprecated"})
+		[]string{"libnativehelper/include_jni"})
 
 	pctx.SourcePathVariable("ClangDefaultBase", ClangDefaultBase)
 	pctx.VariableFunc("ClangBase", func(ctx android.PackageVarContext) string {
diff --git a/cc/sanitize.go b/cc/sanitize.go
index 4c8a611..1037181 100644
--- a/cc/sanitize.go
+++ b/cc/sanitize.go
@@ -236,8 +236,8 @@
 		}
 	}
 
-	// Enable CFI for all components in the include paths
-	if s.Cfi == nil && ctx.Config().CFIEnabledForPath(ctx.ModuleDir()) {
+	// Enable CFI for all components in the include paths (for Aarch64 only)
+	if s.Cfi == nil && ctx.Config().CFIEnabledForPath(ctx.ModuleDir()) && ctx.Arch().ArchType == android.Arm64 {
 		s.Cfi = boolPtr(true)
 		if inList("cfi", ctx.Config().SanitizeDeviceDiag()) {
 			s.Diag.Cfi = boolPtr(true)
@@ -272,6 +272,12 @@
 		s.Integer_overflow = nil
 	}
 
+	// Also disable CFI for VNDK variants of components
+	if ctx.isVndk() && ctx.useVndk() {
+		s.Cfi = nil
+		s.Diag.Cfi = nil
+	}
+
 	if ctx.staticBinary() {
 		s.Address = nil
 		s.Coverage = nil
diff --git a/java/config/config.go b/java/config/config.go
index ae497a6..4863fec 100644
--- a/java/config/config.go
+++ b/java/config/config.go
@@ -41,6 +41,8 @@
 		"services",
 		"android.car",
 		"android.car7",
+		"core-oj",
+		"core-libart",
 	}
 
 	ManifestMergerClasspath = []string{