Merge "Revert "Turn off stack protector check for noreturn calls""
diff --git a/android/allowlists/allowlists.go b/android/allowlists/allowlists.go
index 71281a6..5b7f117 100644
--- a/android/allowlists/allowlists.go
+++ b/android/allowlists/allowlists.go
@@ -203,23 +203,24 @@
"frameworks/av/media/audioaidlconversion": Bp2BuildDefaultTrueRecursively,
"frameworks/av/media/codec2/components/aom": Bp2BuildDefaultTrueRecursively,
"frameworks/av/media/codecs": Bp2BuildDefaultTrueRecursively,
- "frameworks/av/media/module/codecs": Bp2BuildDefaultTrueRecursively,
- "frameworks/av/media/module/foundation": Bp2BuildDefaultTrueRecursively,
"frameworks/av/media/liberror": Bp2BuildDefaultTrueRecursively,
"frameworks/av/media/libmediahelper": Bp2BuildDefaultTrue,
"frameworks/av/media/libshmem": Bp2BuildDefaultTrueRecursively,
+ "frameworks/av/media/module/codecs": Bp2BuildDefaultTrueRecursively,
+ "frameworks/av/media/module/foundation": Bp2BuildDefaultTrueRecursively,
"frameworks/av/media/module/minijail": Bp2BuildDefaultTrueRecursively,
"frameworks/av/services/minijail": Bp2BuildDefaultTrueRecursively,
"frameworks/base/libs/androidfw": Bp2BuildDefaultTrue,
"frameworks/base/media/tests/MediaDump": Bp2BuildDefaultTrue,
- "frameworks/base/services/tests/servicestests/aidl": Bp2BuildDefaultTrue,
"frameworks/base/proto": Bp2BuildDefaultTrue,
+ "frameworks/base/services/tests/servicestests/aidl": Bp2BuildDefaultTrue,
"frameworks/base/startop/apps/test": Bp2BuildDefaultTrue,
"frameworks/base/tests/appwidgets/AppWidgetHostTest": Bp2BuildDefaultTrueRecursively,
"frameworks/base/tools/aapt2": Bp2BuildDefaultTrue,
"frameworks/base/tools/codegen": Bp2BuildDefaultTrueRecursively,
"frameworks/base/tools/streaming_proto": Bp2BuildDefaultTrueRecursively,
"frameworks/hardware/interfaces/stats/aidl": Bp2BuildDefaultTrue,
+ "frameworks/libs/modules-utils/build": Bp2BuildDefaultTrueRecursively,
"frameworks/native/libs/adbd_auth": Bp2BuildDefaultTrueRecursively,
"frameworks/native/libs/arect": Bp2BuildDefaultTrueRecursively,
"frameworks/native/libs/gui": Bp2BuildDefaultTrue,
@@ -1555,9 +1556,10 @@
// also be built - do not add them to this list.
StagingMixedBuildsEnabledList = []string{
// M13: media.swcodec launch
- "com.android.media.swcodec",
- "test_com.android.media.swcodec",
- "libstagefright_foundation",
+ // TODO(b/282042844): reenable
+ // "com.android.media.swcodec",
+ // "test_com.android.media.swcodec",
+ // "libstagefright_foundation",
}
// These should be the libs that are included by the apexes in the ProdMixedBuildsEnabledList
diff --git a/cmd/soong_build/main.go b/cmd/soong_build/main.go
index 5de2326..10b09d3 100644
--- a/cmd/soong_build/main.go
+++ b/cmd/soong_build/main.go
@@ -540,10 +540,16 @@
}
writeMetrics(configuration, ctx.EventHandler, metricsDir)
}
- writeUsedEnvironmentFile(configuration, finalOutputFile)
+ writeUsedEnvironmentFile(configuration)
+
+ // Touch the output file so that it's the newest file created by soong_build.
+ // This is necessary because, if soong_build generated any files which
+ // are ninja inputs to the main output file, then ninja would superfluously
+ // rebuild this output file on the next build invocation.
+ touch(shared.JoinPath(topDir, finalOutputFile))
}
-func writeUsedEnvironmentFile(configuration android.Config, finalOutputFile string) {
+func writeUsedEnvironmentFile(configuration android.Config) {
if usedEnvFile == "" {
return
}
@@ -562,11 +568,6 @@
}
err = os.WriteFile(path, data, 0666)
maybeQuit(err, "error writing used environment file '%s'", usedEnvFile)
-
- // Touch the output file so that it's not older than the file we just
- // wrote. We can't write the environment file earlier because one an access
- // new environment variables while writing it.
- touch(shared.JoinPath(topDir, finalOutputFile))
}
func touch(path string) {
diff --git a/rust/bindgen.go b/rust/bindgen.go
index 13fa81e..96645b0 100644
--- a/rust/bindgen.go
+++ b/rust/bindgen.go
@@ -29,7 +29,7 @@
defaultBindgenFlags = []string{""}
// bindgen should specify its own Clang revision so updating Clang isn't potentially blocked on bindgen failures.
- bindgenClangVersion = "clang-r487747"
+ bindgenClangVersion = "clang-r487747c"
_ = pctx.VariableFunc("bindgenClangVersion", func(ctx android.PackageVarContext) string {
if override := ctx.Config().Getenv("LLVM_BINDGEN_PREBUILTS_VERSION"); override != "" {
diff --git a/rust/config/global.go b/rust/config/global.go
index 2d1f0c1..748bb3d 100644
--- a/rust/config/global.go
+++ b/rust/config/global.go
@@ -24,7 +24,7 @@
var pctx = android.NewPackageContext("android/soong/rust/config")
var (
- RustDefaultVersion = "1.68.0"
+ RustDefaultVersion = "1.69.0"
RustDefaultBase = "prebuilts/rust/"
DefaultEdition = "2021"
Stdlibs = []string{
diff --git a/tests/bootstrap_test.sh b/tests/bootstrap_test.sh
index fda5ca0..5935247 100755
--- a/tests/bootstrap_test.sh
+++ b/tests/bootstrap_test.sh
@@ -885,4 +885,37 @@
fi
}
+# This test verifies that adding a new glob to a blueprint file only
+# causes build.ninja to be regenerated on the *next* build, and *not*
+# the build after. (This is a regression test for a bug where globs
+# resulted in two successive regenerations.)
+function test_new_glob_incrementality {
+ setup
+
+ run_soong nothing
+ local -r mtime1=$(stat -c "%y" out/soong/build.ninja)
+
+ mkdir -p globdefpkg/
+ cat > globdefpkg/Android.bp <<'EOF'
+filegroup {
+ name: "fg_with_glob",
+ srcs: ["*.txt"],
+}
+EOF
+
+ run_soong nothing
+ local -r mtime2=$(stat -c "%y" out/soong/build.ninja)
+
+ if [[ "$mtime1" == "$mtime2" ]]; then
+ fail "Ninja file was not regenerated, despite a new bp file"
+ fi
+
+ run_soong nothing
+ local -r mtime3=$(stat -c "%y" out/soong/build.ninja)
+
+ if [[ "$mtime2" != "$mtime3" ]]; then
+ fail "Ninja file was regenerated despite no previous bp changes"
+ fi
+}
+
scan_and_run_tests