Merge "Make libc genrules and its tool dep bp2build_available"
diff --git a/libc/Android.bp b/libc/Android.bp
index 7182e3f..46312d8 100644
--- a/libc/Android.bp
+++ b/libc/Android.bp
@@ -2094,7 +2094,10 @@
 cc_object {
     name: "crtbrand",
     // crtbrand.c needs <stdint.h> and a #define for the platform SDK version.
-    local_include_dirs: ["include"],
+    local_include_dirs: [
+        "include",
+        "private", // crtbrand.S depends on private/bionic_asm_note.h
+    ],
     product_variables: {
         platform_sdk_version: {
             asflags: ["-DPLATFORM_SDK_VERSION=%d"],
@@ -2103,6 +2106,8 @@
     srcs: ["arch-common/bionic/crtbrand.S"],
 
     defaults: ["crt_so_defaults"],
+
+    bazel_module: { bp2build_available: true },
 }
 
 cc_object {
@@ -2125,6 +2130,8 @@
         "crtbegin_so1",
         "crtbrand",
     ],
+
+    bazel_module: { bp2build_available: true },
 }
 
 cc_object {
@@ -2161,6 +2168,8 @@
     defaults: ["crt_defaults"],
     // When using libc.a, we're using the latest library regardless of target API level.
     min_sdk_version: "current",
+
+    bazel_module: { bp2build_available: true },
 }
 
 cc_object {
@@ -2191,6 +2200,8 @@
         },
     },
     defaults: ["crt_defaults"],
+
+    bazel_module: { bp2build_available: true },
 }
 
 cc_object {
@@ -2385,6 +2396,8 @@
         "kernel/uapi/asm-arm",
         "kernel/uapi",
     ],
+
+    bazel_module: { bp2build_available: true },
 }
 
 cc_object {
@@ -2394,6 +2407,8 @@
         "kernel/uapi/asm-arm64",
         "kernel/uapi",
     ],
+
+    bazel_module: { bp2build_available: true },
 }
 
 cc_object {
@@ -2405,6 +2420,8 @@
         "kernel/uapi/asm-x86",
         "kernel/uapi",
     ],
+
+    bazel_module: { bp2build_available: true },
 }
 
 cc_object {
@@ -2416,6 +2433,8 @@
         "kernel/uapi/asm-x86",
         "kernel/uapi",
     ],
+
+    bazel_module: { bp2build_available: true },
 }
 
 filegroup {
diff --git a/libc/bionic/libc_init_common.cpp b/libc/bionic/libc_init_common.cpp
index 01cd2e5..a710fa8 100644
--- a/libc/bionic/libc_init_common.cpp
+++ b/libc/bionic/libc_init_common.cpp
@@ -86,6 +86,7 @@
   _thread_arc4_lock();
 }
 
+__BIONIC_WEAK_FOR_NATIVE_BRIDGE
 void __libc_init_scudo() {
   // Heap tagging level *must* be set before interacting with Scudo, otherwise
   // the primary will be mapped with PROT_MTE even if MTE is is not enabled in