Merge changes I13f94cdc,I2107ae65,I7dc10b56,I2037548c

* changes:
  libc: remove now-unused FORTIFY functions
  fortify: remove last uses of __bos_trivially_not*
  fortify(string): emit diagnostics regardless of API level
  fortify(fcntl): emit diagnostics regardless of API level
diff --git a/libc/Android.bp b/libc/Android.bp
index 5f82b13..3653f45 100644
--- a/libc/Android.bp
+++ b/libc/Android.bp
@@ -1713,6 +1713,11 @@
         versions: ["10000"],
     },
 
+    apex_available: [
+        "//apex_available:platform",
+        "com.android.runtime",
+    ],
+
     // Sorting bss symbols by size usually results in less dirty pages at run
     // time, because small symbols are grouped together.
     sort_bss_symbols_by_size: true,
diff --git a/libc/bionic/pthread_create.cpp b/libc/bionic/pthread_create.cpp
index 0dbf539..1dc1066 100644
--- a/libc/bionic/pthread_create.cpp
+++ b/libc/bionic/pthread_create.cpp
@@ -344,6 +344,8 @@
         name);
 }
 
+extern "C" int __rt_sigprocmask(int, const sigset64_t*, sigset64_t*, size_t);
+
 __attribute__((no_sanitize("hwaddress")))
 static int __pthread_start(void* arg) {
   pthread_internal_t* thread = reinterpret_cast<pthread_internal_t*>(arg);
@@ -358,6 +360,7 @@
 
   __set_stack_and_tls_vma_name(false);
   __init_additional_stacks(thread);
+  __rt_sigprocmask(SIG_SETMASK, &thread->start_mask, nullptr, sizeof(thread->start_mask));
 
   void* result = thread->start_routine(thread->start_routine_arg);
   pthread_exit(result);
@@ -420,7 +423,12 @@
   __init_user_desc(&tls_descriptor, false, tls);
   tls = &tls_descriptor;
 #endif
+
+  sigset64_t block_all_mask;
+  sigfillset64(&block_all_mask);
+  __rt_sigprocmask(SIG_SETMASK, &block_all_mask, &thread->start_mask, sizeof(thread->start_mask));
   int rc = clone(__pthread_start, child_stack, flags, thread, &(thread->tid), tls, &(thread->tid));
+  __rt_sigprocmask(SIG_SETMASK, &thread->start_mask, nullptr, sizeof(thread->start_mask));
   if (rc == -1) {
     int clone_errno = errno;
     // We don't have to unlock the mutex at all because clone(2) failed so there's no child waiting to
diff --git a/libc/bionic/pthread_internal.h b/libc/bionic/pthread_internal.h
index 22cc400..22b0558 100644
--- a/libc/bionic/pthread_internal.h
+++ b/libc/bionic/pthread_internal.h
@@ -98,6 +98,7 @@
   void* (*start_routine)(void*);
   void* start_routine_arg;
   void* return_value;
+  sigset64_t start_mask;
 
   void* alternate_signal_stack;
 
diff --git a/libc/malloc_debug/Android.bp b/libc/malloc_debug/Android.bp
index 41c4f9d..ce80a97 100644
--- a/libc/malloc_debug/Android.bp
+++ b/libc/malloc_debug/Android.bp
@@ -39,6 +39,11 @@
         "-Werror",
         "-Wno-error=format-zero-length",
     ],
+
+    apex_available: [
+        "//apex_available:platform",
+        "com.android.runtime",
+    ],
 }
 
 // ==============================================================
@@ -102,6 +107,11 @@
         "-Wno-error=format-zero-length",
         "-Wthread-safety",
     ],
+
+    apex_available: [
+        "//apex_available:platform",
+        "com.android.runtime",
+    ],
 }
 
 // ==============================================================
diff --git a/libdl/Android.bp b/libdl/Android.bp
index e36ddc5..15263e9 100644
--- a/libdl/Android.bp
+++ b/libdl/Android.bp
@@ -111,6 +111,11 @@
         symbol_file: "libdl.map.txt",
         versions: ["10000"],
     },
+
+    apex_available: [
+        "//apex_available:platform",
+        "com.android.runtime",
+    ],
 }
 
 cc_library {
diff --git a/libm/Android.bp b/libm/Android.bp
index 59466e4..b7bae54 100644
--- a/libm/Android.bp
+++ b/libm/Android.bp
@@ -501,6 +501,11 @@
         symbol_file: "libm.map.txt",
         versions: ["10000"],
     },
+
+    apex_available: [
+        "//apex_available:platform",
+        "com.android.runtime",
+    ],
 }
 
 ndk_library {
diff --git a/linker/Android.bp b/linker/Android.bp
index e2cdd14..18f2527 100644
--- a/linker/Android.bp
+++ b/linker/Android.bp
@@ -303,6 +303,11 @@
     },
     compile_multilib: "both",
     xom: false,
+
+    apex_available: [
+        "//apex_available:platform",
+        "com.android.runtime",
+    ],
 }
 
 sh_binary {
@@ -376,6 +381,11 @@
     sanitize: {
         never: true,
     },
+
+    apex_available: [
+        "//apex_available:platform",
+        "com.android.runtime",
+    ],
 }
 
 cc_test {