diff --git libcxxabi-5.0.1.src/src/cxa_thread_atexit.cpp.old libcxxabi-5.0.1.src/src/cxa_thread_atexit.cpp
index 49d15d6..e0e3d1a 100644
--- libcxxabi-5.0.1.src/src/cxa_thread_atexit.cpp.old
+++ libcxxabi-5.0.1.src/src/cxa_thread_atexit.cpp
@@ -17,14 +17,6 @@ namespace __cxxabiv1 {
   using Dtor = void(*)(void*);
 
   extern "C"
-#ifndef HAVE___CXA_THREAD_ATEXIT_IMPL
-  // A weak symbol is used to detect this function's presence in the C library
-  // at runtime, even if libc++ is built against an older libc
-  _LIBCXXABI_WEAK
-#endif
-  int __cxa_thread_atexit_impl(Dtor, void*, void*);
-
-#ifndef HAVE___CXA_THREAD_ATEXIT_IMPL
 
 namespace {
   // This implementation is used if the C library does not provide
@@ -99,17 +91,11 @@ namespace {
   };
 } // namespace
 
-#endif // HAVE___CXA_THREAD_ATEXIT_IMPL
-
 extern "C" {
 
   _LIBCXXABI_FUNC_VIS int __cxa_thread_atexit(Dtor dtor, void* obj, void* dso_symbol) throw() {
-#ifdef HAVE___CXA_THREAD_ATEXIT_IMPL
-    return __cxa_thread_atexit_impl(dtor, obj, dso_symbol);
-#else
-    if (__cxa_thread_atexit_impl) {
-      return __cxa_thread_atexit_impl(dtor, obj, dso_symbol);
-    } else {
+
+    {
       // Initialize the dtors std::__libcpp_tls_key (uses __cxa_guard_*() for
       // one-time initialization and __cxa_atexit() for destruction)
       static DtorsManager manager;
@@ -133,7 +119,6 @@ extern "C" {
 
       return 0;
     }
-#endif // HAVE___CXA_THREAD_ATEXIT_IMPL
   }
 
 } // extern "C"
