Author: Nikolas Klauser
Date: 2025-07-15T08:52:04+02:00
New Revision: b31571f2ae71594a5b3a6e9c7385362de1865a5d

URL: 
https://github.com/llvm/llvm-project/commit/b31571f2ae71594a5b3a6e9c7385362de1865a5d
DIFF: 
https://github.com/llvm/llvm-project/commit/b31571f2ae71594a5b3a6e9c7385362de1865a5d.diff

LOG: Revert "[libc++][hardening] Introduce a dylib function to log hardening 
error…"

This reverts commit 49d2b5f1cd597a0612830819399effcd21d724a7.

Added: 
    

Modified: 
    libcxx/include/CMakeLists.txt
    libcxx/include/__configuration/availability.h
    libcxx/include/module.modulemap.in
    libcxx/lib/abi/CHANGELOG.TXT
    
libcxx/lib/abi/arm64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
    
libcxx/lib/abi/i686-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
    libcxx/lib/abi/powerpc-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
    
libcxx/lib/abi/powerpc64-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
    
libcxx/lib/abi/x86_64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
    
libcxx/lib/abi/x86_64-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
    
libcxx/lib/abi/x86_64-unknown-freebsd.libcxxabi.v1.stable.exceptions.nonew.abilist
    
libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.exceptions.nonew.abilist
    
libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.noexceptions.nonew.abilist
    libcxx/src/CMakeLists.txt
    libcxx/utils/libcxx/test/features.py

Removed: 
    libcxx/include/__log_hardening_failure
    libcxx/src/log_hardening_failure.cpp
    libcxx/test/libcxx/assertions/log_hardening_failure.pass.cpp


################################################################################
diff  --git a/libcxx/include/CMakeLists.txt b/libcxx/include/CMakeLists.txt
index 85758c671e1e0..4f2a8dddad92c 100644
--- a/libcxx/include/CMakeLists.txt
+++ b/libcxx/include/CMakeLists.txt
@@ -535,7 +535,6 @@ set(files
   __locale_dir/time.h
   __locale_dir/wbuffer_convert.h
   __locale_dir/wstring_convert.h
-  __log_hardening_failure
   __math/abs.h
   __math/copysign.h
   __math/error_functions.h

diff  --git a/libcxx/include/__configuration/availability.h 
b/libcxx/include/__configuration/availability.h
index 2782ddb509eab..ae58e36b508b4 100644
--- a/libcxx/include/__configuration/availability.h
+++ b/libcxx/include/__configuration/availability.h
@@ -304,11 +304,6 @@
 #define _LIBCPP_AVAILABILITY_HAS_VERBOSE_ABORT _LIBCPP_INTRODUCED_IN_LLVM_15
 #define _LIBCPP_AVAILABILITY_VERBOSE_ABORT 
_LIBCPP_INTRODUCED_IN_LLVM_15_ATTRIBUTE
 
-// This controls whether the library provides a function to log errors without 
terminating the program (used in
-// particular by the `observe` assertion semantic).
-#define _LIBCPP_AVAILABILITY_HAS_LOG_HARDENING_FAILURE 
_LIBCPP_INTRODUCED_IN_LLVM_21
-#define _LIBCPP_AVAILABILITY_LOG_HARDENING_FAILURE 
_LIBCPP_INTRODUCED_IN_LLVM_21_ATTRIBUTE
-
 // This controls the availability of the C++17 std::pmr library,
 // which is implemented in large part in the built library.
 //

diff  --git a/libcxx/include/__log_hardening_failure 
b/libcxx/include/__log_hardening_failure
deleted file mode 100644
index a1c11252131c4..0000000000000
--- a/libcxx/include/__log_hardening_failure
+++ /dev/null
@@ -1,45 +0,0 @@
-// -*- C++ -*-
-//===----------------------------------------------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM 
Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _LIBCPP___LOG_HARDENING_FAILURE
-#define _LIBCPP___LOG_HARDENING_FAILURE
-
-#include <__config>
-
-#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
-#  pragma GCC system_header
-#endif
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-// This function should never be called directly from the code -- it should 
only be called through the
-// `_LIBCPP_LOG_HARDENING_FAILURE` macro.
-_LIBCPP_AVAILABILITY_LOG_HARDENING_FAILURE _LIBCPP_EXPORTED_FROM_ABI void
-__log_hardening_failure(const char* __message) _NOEXCEPT;
-
-// _LIBCPP_LOG_HARDENING_FAILURE(message)
-//
-// This macro is used to log an error without terminating the program (as is 
the case for hardening failures if the
-// `observe` assertion semantic is used, for example).
-
-#if !defined(_LIBCPP_LOG_HARDENING_FAILURE)
-
-#  if !_LIBCPP_AVAILABILITY_HAS_LOG_HARDENING_FAILURE
-// The decltype is there to suppress -Wunused warnings in this configuration.
-void __use(const char*);
-#    define _LIBCPP_LOG_HARDENING_FAILURE(__message) 
(decltype(::std::__use(__message))())
-#  else
-#    define _LIBCPP_LOG_HARDENING_FAILURE(__message) 
::std::__log_hardening_failure(__message)
-#  endif
-
-#endif // !defined(_LIBCPP_LOG_HARDENING_FAILURE)
-
-_LIBCPP_END_NAMESPACE_STD
-
-#endif // _LIBCPP___LOG_HARDENING_FAILURE

diff  --git a/libcxx/include/module.modulemap.in 
b/libcxx/include/module.modulemap.in
index 53f10ab8a92a5..61ba1c381b2b3 100644
--- a/libcxx/include/module.modulemap.in
+++ b/libcxx/include/module.modulemap.in
@@ -2353,9 +2353,6 @@ module std [system] {
     header "__std_mbstate_t.h"
     export *
   }
-  module log_hardening_failure {
-    header "__log_hardening_failure"
-  }
   module verbose_abort {
     header "__verbose_abort"
   }

diff  --git a/libcxx/lib/abi/CHANGELOG.TXT b/libcxx/lib/abi/CHANGELOG.TXT
index c8a5cd2505394..8c1841648f821 100644
--- a/libcxx/lib/abi/CHANGELOG.TXT
+++ b/libcxx/lib/abi/CHANGELOG.TXT
@@ -36,14 +36,6 @@ Version 21.0
   -------------
   Symbol added: _ZNSt3__113__hash_memoryEPKvm
 
-* [libc++][hardening] Introduce a dylib function to log hardening errors.
-
-  This patch added a function to log hardening failures to the dylib.
-
-  All platforms
-  -------------
-  Symbol added: _ZNSt3__123__log_hardening_failureEPKc
-
 ------------
 Version 20.0
 ------------

diff  --git 
a/libcxx/lib/abi/arm64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
 
b/libcxx/lib/abi/arm64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
index 7fbde1567e835..162757c7e37ec 100644
--- 
a/libcxx/lib/abi/arm64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
+++ 
b/libcxx/lib/abi/arm64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
@@ -1581,7 +1581,6 @@
 {'is_defined': True, 'name': '__ZNSt3__123__cxx_atomic_notify_oneEPVKv', 
'type': 'FUNC'}
 {'is_defined': True, 'name': 
'__ZNSt3__123__libcpp_atomic_monitorEPVKNS_17__cxx_atomic_implIxNS_22__cxx_atomic_base_implIxEEEE',
 'type': 'FUNC'}
 {'is_defined': True, 'name': '__ZNSt3__123__libcpp_atomic_monitorEPVKv', 
'type': 'FUNC'}
-{'is_defined': True, 'name': '__ZNSt3__123__log_hardening_failureEPKc', 
'type': 'FUNC'}
 {'is_defined': True, 'name': 
'__ZNSt3__125notify_all_at_thread_exitERNS_18condition_variableENS_11unique_lockINS_5mutexEEE',
 'type': 'FUNC'}
 {'is_defined': True, 'name': 
'__ZNSt3__127__from_chars_floating_pointIdEENS_19__from_chars_resultIT_EEPKcS5_NS_12chars_formatE',
 'type': 'FUNC'}
 {'is_defined': True, 'name': 
'__ZNSt3__127__from_chars_floating_pointIfEENS_19__from_chars_resultIT_EEPKcS5_NS_12chars_formatE',
 'type': 'FUNC'}

diff  --git 
a/libcxx/lib/abi/i686-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
 
b/libcxx/lib/abi/i686-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
index a911ae83e3cdb..4b6f3548ce495 100644
--- 
a/libcxx/lib/abi/i686-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
+++ 
b/libcxx/lib/abi/i686-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
@@ -1217,7 +1217,6 @@
 {'is_defined': True, 'name': '_ZNSt6__ndk123__cxx_atomic_notify_oneEPVKv', 
'type': 'FUNC'}
 {'is_defined': True, 'name': 
'_ZNSt6__ndk123__libcpp_atomic_monitorEPVKNS_17__cxx_atomic_implIiNS_22__cxx_atomic_base_implIiEEEE',
 'type': 'FUNC'}
 {'is_defined': True, 'name': '_ZNSt6__ndk123__libcpp_atomic_monitorEPVKv', 
'type': 'FUNC'}
-{'is_defined': True, 'name': '_ZNSt6__ndk123__log_hardening_failureEPKc', 
'type': 'FUNC'}
 {'is_defined': True, 'name': 
'_ZNSt6__ndk125notify_all_at_thread_exitERNS_18condition_variableENS_11unique_lockINS_5mutexEEE',
 'type': 'FUNC'}
 {'is_defined': True, 'name': 
'_ZNSt6__ndk127__from_chars_floating_pointIdEENS_19__from_chars_resultIT_EEPKcS5_NS_12chars_formatE',
 'type': 'FUNC'}
 {'is_defined': True, 'name': 
'_ZNSt6__ndk127__from_chars_floating_pointIfEENS_19__from_chars_resultIT_EEPKcS5_NS_12chars_formatE',
 'type': 'FUNC'}

diff  --git 
a/libcxx/lib/abi/powerpc-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist 
b/libcxx/lib/abi/powerpc-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
index feda9979c56ae..2b85596bd87f6 100644
--- 
a/libcxx/lib/abi/powerpc-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
+++ 
b/libcxx/lib/abi/powerpc-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
@@ -569,7 +569,6 @@
 {'import_export': 'EXP', 'is_defined': True, 'name': 
'_ZNSt3__123__cxx_atomic_notify_oneEPVKv', 'storage_mapping_class': 'DS', 
'type': 'FUNC'}
 {'import_export': 'EXP', 'is_defined': True, 'name': 
'_ZNSt3__123__libcpp_atomic_monitorEPVKNS_17__cxx_atomic_implIiNS_22__cxx_atomic_base_implIiEEEE',
 'storage_mapping_class': 'DS', 'type': 'FUNC'}
 {'import_export': 'EXP', 'is_defined': True, 'name': 
'_ZNSt3__123__libcpp_atomic_monitorEPVKv', 'storage_mapping_class': 'DS', 
'type': 'FUNC'}
-{'import_export': 'EXP', 'is_defined': True, 'name': 
'_ZNSt3__123__log_hardening_failureEPKc', 'storage_mapping_class': 'DS', 
'type': 'FUNC'}
 {'import_export': 'EXP', 'is_defined': True, 'name': 
'_ZNSt3__125notify_all_at_thread_exitERNS_18condition_variableENS_11unique_lockINS_5mutexEEE',
 'storage_mapping_class': 'DS', 'type': 'FUNC'}
 {'import_export': 'EXP', 'is_defined': True, 'name': 
'_ZNSt3__131__arrive_barrier_algorithm_baseEPNS_24__barrier_algorithm_baseEh', 
'storage_mapping_class': 'DS', 'type': 'FUNC'}
 {'import_export': 'EXP', 'is_defined': True, 'name': 
'_ZNSt3__132__destroy_barrier_algorithm_baseEPNS_24__barrier_algorithm_baseE', 
'storage_mapping_class': 'DS', 'type': 'FUNC'}

diff  --git 
a/libcxx/lib/abi/powerpc64-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist 
b/libcxx/lib/abi/powerpc64-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
index 4f67a367f682a..6ebdab96ed455 100644
--- 
a/libcxx/lib/abi/powerpc64-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
+++ 
b/libcxx/lib/abi/powerpc64-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
@@ -569,7 +569,6 @@
 {'import_export': 'EXP', 'is_defined': True, 'name': 
'_ZNSt3__123__cxx_atomic_notify_oneEPVKv', 'storage_mapping_class': 'DS', 
'type': 'FUNC'}
 {'import_export': 'EXP', 'is_defined': True, 'name': 
'_ZNSt3__123__libcpp_atomic_monitorEPVKNS_17__cxx_atomic_implIlNS_22__cxx_atomic_base_implIlEEEE',
 'storage_mapping_class': 'DS', 'type': 'FUNC'}
 {'import_export': 'EXP', 'is_defined': True, 'name': 
'_ZNSt3__123__libcpp_atomic_monitorEPVKv', 'storage_mapping_class': 'DS', 
'type': 'FUNC'}
-{'import_export': 'EXP', 'is_defined': True, 'name': 
'_ZNSt3__123__log_hardening_failureEPKc', 'storage_mapping_class': 'DS', 
'type': 'FUNC'}
 {'import_export': 'EXP', 'is_defined': True, 'name': 
'_ZNSt3__125notify_all_at_thread_exitERNS_18condition_variableENS_11unique_lockINS_5mutexEEE',
 'storage_mapping_class': 'DS', 'type': 'FUNC'}
 {'import_export': 'EXP', 'is_defined': True, 'name': 
'_ZNSt3__131__arrive_barrier_algorithm_baseEPNS_24__barrier_algorithm_baseEh', 
'storage_mapping_class': 'DS', 'type': 'FUNC'}
 {'import_export': 'EXP', 'is_defined': True, 'name': 
'_ZNSt3__132__destroy_barrier_algorithm_baseEPNS_24__barrier_algorithm_baseE', 
'storage_mapping_class': 'DS', 'type': 'FUNC'}

diff  --git 
a/libcxx/lib/abi/x86_64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
 
b/libcxx/lib/abi/x86_64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
index 22e74ef3803b3..f6f7d7fd8265a 100644
--- 
a/libcxx/lib/abi/x86_64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
+++ 
b/libcxx/lib/abi/x86_64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
@@ -1580,7 +1580,6 @@
 {'is_defined': True, 'name': '__ZNSt3__123__cxx_atomic_notify_oneEPVKv', 
'type': 'FUNC'}
 {'is_defined': True, 'name': 
'__ZNSt3__123__libcpp_atomic_monitorEPVKNS_17__cxx_atomic_implIxNS_22__cxx_atomic_base_implIxEEEE',
 'type': 'FUNC'}
 {'is_defined': True, 'name': '__ZNSt3__123__libcpp_atomic_monitorEPVKv', 
'type': 'FUNC'}
-{'is_defined': True, 'name': '__ZNSt3__123__log_hardening_failureEPKc', 
'type': 'FUNC'}
 {'is_defined': True, 'name': 
'__ZNSt3__125notify_all_at_thread_exitERNS_18condition_variableENS_11unique_lockINS_5mutexEEE',
 'type': 'FUNC'}
 {'is_defined': True, 'name': 
'__ZNSt3__127__from_chars_floating_pointEPKcS1_RdNS_12chars_formatE', 'type': 
'FUNC'}
 {'is_defined': True, 'name': 
'__ZNSt3__127__from_chars_floating_pointEPKcS1_RfNS_12chars_formatE', 'type': 
'FUNC'}

diff  --git 
a/libcxx/lib/abi/x86_64-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
 
b/libcxx/lib/abi/x86_64-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
index 15c419d1933d4..45f3d7c5904e8 100644
--- 
a/libcxx/lib/abi/x86_64-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
+++ 
b/libcxx/lib/abi/x86_64-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
@@ -1217,7 +1217,6 @@
 {'is_defined': True, 'name': '_ZNSt6__ndk123__cxx_atomic_notify_oneEPVKv', 
'type': 'FUNC'}
 {'is_defined': True, 'name': 
'_ZNSt6__ndk123__libcpp_atomic_monitorEPVKNS_17__cxx_atomic_implIiNS_22__cxx_atomic_base_implIiEEEE',
 'type': 'FUNC'}
 {'is_defined': True, 'name': '_ZNSt6__ndk123__libcpp_atomic_monitorEPVKv', 
'type': 'FUNC'}
-{'is_defined': True, 'name': '_ZNSt6__ndk123__log_hardening_failureEPKc', 
'type': 'FUNC'}
 {'is_defined': True, 'name': 
'_ZNSt6__ndk125notify_all_at_thread_exitERNS_18condition_variableENS_11unique_lockINS_5mutexEEE',
 'type': 'FUNC'}
 {'is_defined': True, 'name': 
'_ZNSt6__ndk127__from_chars_floating_pointIdEENS_19__from_chars_resultIT_EEPKcS5_NS_12chars_formatE',
 'type': 'FUNC'}
 {'is_defined': True, 'name': 
'_ZNSt6__ndk127__from_chars_floating_pointIfEENS_19__from_chars_resultIT_EEPKcS5_NS_12chars_formatE',
 'type': 'FUNC'}

diff  --git 
a/libcxx/lib/abi/x86_64-unknown-freebsd.libcxxabi.v1.stable.exceptions.nonew.abilist
 
b/libcxx/lib/abi/x86_64-unknown-freebsd.libcxxabi.v1.stable.exceptions.nonew.abilist
index fe530d7ff06ee..de8cf6deef1df 100644
--- 
a/libcxx/lib/abi/x86_64-unknown-freebsd.libcxxabi.v1.stable.exceptions.nonew.abilist
+++ 
b/libcxx/lib/abi/x86_64-unknown-freebsd.libcxxabi.v1.stable.exceptions.nonew.abilist
@@ -1231,7 +1231,6 @@
 {'is_defined': True, 'name': '_ZNSt3__123__cxx_atomic_notify_oneEPVKv', 
'type': 'FUNC'}
 {'is_defined': True, 'name': 
'_ZNSt3__123__libcpp_atomic_monitorEPVKNS_17__cxx_atomic_implIlNS_22__cxx_atomic_base_implIlEEEE',
 'type': 'FUNC'}
 {'is_defined': True, 'name': '_ZNSt3__123__libcpp_atomic_monitorEPVKv', 
'type': 'FUNC'}
-{'is_defined': True, 'name': '_ZNSt3__123__log_hardening_failureEPKc', 'type': 
'FUNC'}
 {'is_defined': True, 'name': 
'_ZNSt3__125notify_all_at_thread_exitERNS_18condition_variableENS_11unique_lockINS_5mutexEEE',
 'type': 'FUNC'}
 {'is_defined': True, 'name': 
'_ZNSt3__127__from_chars_floating_pointIdEENS_19__from_chars_resultIT_EEPKcS5_NS_12chars_formatE',
 'type': 'FUNC'}
 {'is_defined': True, 'name': 
'_ZNSt3__127__from_chars_floating_pointIfEENS_19__from_chars_resultIT_EEPKcS5_NS_12chars_formatE',
 'type': 'FUNC'}

diff  --git 
a/libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.exceptions.nonew.abilist
 
b/libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.exceptions.nonew.abilist
index d1627998bbd47..8c55c4385f6f6 100644
--- 
a/libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.exceptions.nonew.abilist
+++ 
b/libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.exceptions.nonew.abilist
@@ -1229,7 +1229,6 @@
 {'is_defined': True, 'name': '_ZNSt3__123__cxx_atomic_notify_oneEPVKv', 
'type': 'FUNC'}
 {'is_defined': True, 'name': 
'_ZNSt3__123__libcpp_atomic_monitorEPVKNS_17__cxx_atomic_implIiNS_22__cxx_atomic_base_implIiEEEE',
 'type': 'FUNC'}
 {'is_defined': True, 'name': '_ZNSt3__123__libcpp_atomic_monitorEPVKv', 
'type': 'FUNC'}
-{'is_defined': True, 'name': '_ZNSt3__123__log_hardening_failureEPKc', 'type': 
'FUNC'}
 {'is_defined': True, 'name': 
'_ZNSt3__125notify_all_at_thread_exitERNS_18condition_variableENS_11unique_lockINS_5mutexEEE',
 'type': 'FUNC'}
 {'is_defined': True, 'name': 
'_ZNSt3__127__from_chars_floating_pointIdEENS_19__from_chars_resultIT_EEPKcS5_NS_12chars_formatE',
 'type': 'FUNC'}
 {'is_defined': True, 'name': 
'_ZNSt3__127__from_chars_floating_pointIfEENS_19__from_chars_resultIT_EEPKcS5_NS_12chars_formatE',
 'type': 'FUNC'}

diff  --git 
a/libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.noexceptions.nonew.abilist
 
b/libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.noexceptions.nonew.abilist
index ba4756ac4a49b..51caa07a74330 100644
--- 
a/libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.noexceptions.nonew.abilist
+++ 
b/libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.noexceptions.nonew.abilist
@@ -1200,7 +1200,6 @@
 {'is_defined': True, 'name': '_ZNSt3__123__cxx_atomic_notify_oneEPVKv', 
'type': 'FUNC'}
 {'is_defined': True, 'name': 
'_ZNSt3__123__libcpp_atomic_monitorEPVKNS_17__cxx_atomic_implIiNS_22__cxx_atomic_base_implIiEEEE',
 'type': 'FUNC'}
 {'is_defined': True, 'name': '_ZNSt3__123__libcpp_atomic_monitorEPVKv', 
'type': 'FUNC'}
-{'is_defined': True, 'name': '_ZNSt3__123__log_hardening_failureEPKc', 'type': 
'FUNC'}
 {'is_defined': True, 'name': 
'_ZNSt3__125notify_all_at_thread_exitERNS_18condition_variableENS_11unique_lockINS_5mutexEEE',
 'type': 'FUNC'}
 {'is_defined': True, 'name': 
'_ZNSt3__127__from_chars_floating_pointIdEENS_19__from_chars_resultIT_EEPKcS5_NS_12chars_formatE',
 'type': 'FUNC'}
 {'is_defined': True, 'name': 
'_ZNSt3__127__from_chars_floating_pointIfEENS_19__from_chars_resultIT_EEPKcS5_NS_12chars_formatE',
 'type': 'FUNC'}

diff  --git a/libcxx/src/CMakeLists.txt b/libcxx/src/CMakeLists.txt
index d22580ff2f3ff..97fe57a5f24f8 100644
--- a/libcxx/src/CMakeLists.txt
+++ b/libcxx/src/CMakeLists.txt
@@ -31,7 +31,6 @@ set(LIBCXX_SOURCES
   include/to_chars_floating_point.h
   include/from_chars_floating_point.h
   memory.cpp
-  log_hardening_failure.cpp
   memory_resource.cpp
   new_handler.cpp
   new_helpers.cpp

diff  --git a/libcxx/src/log_hardening_failure.cpp 
b/libcxx/src/log_hardening_failure.cpp
deleted file mode 100644
index 2759fe68486ec..0000000000000
--- a/libcxx/src/log_hardening_failure.cpp
+++ /dev/null
@@ -1,50 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM 
Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#include <__config>
-#include <__log_hardening_failure>
-#include <cstdio>
-
-#ifdef __BIONIC__
-#  include <syslog.h>
-extern "C" void android_set_abort_message(const char* msg);
-#endif // __BIONIC__
-
-#if defined(__APPLE__) && __has_include(<os/reason_private.h>)
-#  include <TargetConditionals.h>
-#  include <os/reason_private.h>
-#endif
-
-_LIBCPP_BEGIN_NAMESPACE_STD
-
-void __log_hardening_failure(const char* message) noexcept {
-  // Always log the message to `stderr` in case the platform-specific system 
calls fail.
-  fputs(message, stderr);
-
-  // On Apple platforms, use the `os_fault_with_payload` OS function that 
simulates a crash.
-#if defined(__APPLE__) && __has_include(<os/reason_private.h>) && 
!TARGET_OS_SIMULATOR
-  os_fault_with_payload(
-      /*reason_namespace=*/OS_REASON_SECURITY,
-      /*reason_code=*/0,
-      /*payload=*/nullptr,
-      /*payload_size=*/0,
-      /*reason_string=*/message,
-      /*reason_flags=*/0);
-
-#elif defined(__BIONIC__)
-  // Show error in tombstone.
-  android_set_abort_message(message);
-
-  // Show error in logcat.
-  openlog("libc++", 0, 0);
-  syslog(LOG_CRIT, "%s", message);
-  closelog();
-#endif
-}
-
-_LIBCPP_END_NAMESPACE_STD

diff  --git a/libcxx/test/libcxx/assertions/log_hardening_failure.pass.cpp 
b/libcxx/test/libcxx/assertions/log_hardening_failure.pass.cpp
deleted file mode 100644
index d189a56d61d08..0000000000000
--- a/libcxx/test/libcxx/assertions/log_hardening_failure.pass.cpp
+++ /dev/null
@@ -1,26 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM 
Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-// Basic smoke test for `__log_hardening_failure`.
-// XFAIL: availability-log_hardening_failure-missing
-
-// UNSUPPORTED: FROZEN-CXX03-HEADERS-FIXME
-
-#include <__log_hardening_failure>
-
-#include "test_macros.h"
-
-ASSERT_NOEXCEPT(std::__log_hardening_failure(""));
-
-int main(int, char**) {
-  std::__log_hardening_failure("Some message");
-  // It's 
diff icult to properly test platform-specific logging behavior of the function; 
just make sure it exists and
-  // can be called at runtime.
-
-  return 0;
-}

diff  --git a/libcxx/utils/libcxx/test/features.py 
b/libcxx/utils/libcxx/test/features.py
index 473e0dec413e4..0cb81546665d4 100644
--- a/libcxx/utils/libcxx/test/features.py
+++ b/libcxx/utils/libcxx/test/features.py
@@ -926,12 +926,4 @@ def check_gdb(cfg):
             cfg.available_features,
         ),
     ),
-    # Tests that require __log_hardening_failure support in the built library
-    Feature(
-        name="availability-log_hardening_failure-missing",
-        when=lambda cfg: BooleanExpression.evaluate(
-            "!libcpp-has-no-availability-markup && (stdlib=apple-libc++ && 
!_target-has-llvm-21)",
-            cfg.available_features,
-        ),
-    ),
 ]


        
_______________________________________________
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

Reply via email to