Merge "Sync upstream fts.c."
diff --git a/libc/bionic/recvmsg.cpp b/libc/bionic/recvmsg.cpp
index 003f43d..4d3f989 100644
--- a/libc/bionic/recvmsg.cpp
+++ b/libc/bionic/recvmsg.cpp
@@ -39,7 +39,7 @@
 
 static inline __attribute__((artificial)) __attribute__((always_inline)) void track_fds(
     struct msghdr* msg, const char* function_name) {
-  if (!__android_fdtrack_hook) {
+  if (!atomic_load(&__android_fdtrack_hook)) {
     return;
   }
 
diff --git a/libc/private/bionic_fdtrack.h b/libc/private/bionic_fdtrack.h
index 752dd8d..259897c 100644
--- a/libc/private/bionic_fdtrack.h
+++ b/libc/private/bionic_fdtrack.h
@@ -58,7 +58,7 @@
         event.fd = __fd;                                          \
         event.type = ANDROID_FDTRACK_EVENT_TYPE_CREATE;           \
         event.data.create.function_name = name;                   \
-        __android_fdtrack_hook(&event);                           \
+        atomic_load(&__android_fdtrack_hook)(&event);             \
         tls.fdtrack_disabled = false;                             \
       }                                                           \
     }                                                             \
@@ -86,7 +86,7 @@
         android_fdtrack_event event;                             \
         event.fd = __fd;                                         \
         event.type = ANDROID_FDTRACK_EVENT_TYPE_CLOSE;           \
-        __android_fdtrack_hook(&event);                          \
+        atomic_load(&__android_fdtrack_hook)(&event);            \
         tls.fdtrack_disabled = false;                            \
         errno = saved_errno;                                     \
       }                                                          \
diff --git a/tools/versioner/src/Driver.cpp b/tools/versioner/src/Driver.cpp
index adf93c3..24dc5ec 100644
--- a/tools/versioner/src/Driver.cpp
+++ b/tools/versioner/src/Driver.cpp
@@ -149,7 +149,7 @@
   cmd.push_back("-");
 
   auto diags = constructDiags();
-  driver::Driver driver("versioner", llvm::sys::getDefaultTargetTriple(), *diags, vfs);
+  driver::Driver driver("versioner", llvm::sys::getDefaultTargetTriple(), *diags, "versioner", vfs);
   driver.setCheckInputsExist(false);
 
   llvm::SmallVector<const char*, 32> driver_args;