Revert "Roll libc++ from be1c391acca0 to 5abc7f839700 (17 revisions)"

This reverts commit 99ebc432efc6f3a350332b01180e3b3d88e9ec6c.

Reason for revert:
LUCI Bisection has identified this change as the culprit of a build failure. See the analysis: https://ci.chromium.org/ui/p/chromium/bisection/compile-analysis/b/8682333274353503889

Sample failed build: https://ci.chromium.org/b/8682333274353503889

If this is a false positive, please report it at http://b.corp.google.com/createIssue?component=1199205&description=Analysis%3A+https%3A%2F%2Fchromium-review.googlesource.com%2Fc%2Fchromium%2Fsrc%2F%2B%2F7821679&format=PLAIN&priority=P3&title=Wrongly+blamed+https%3A%2F%2Fci.chromium.org%2Fui%2Fp%2Fchromium%2Fbisection%2Fcompile-analysis%2Fb%2F8682333274353503889&type=BUG

Original change's description:
> Roll libc++ from be1c391acca0 to 5abc7f839700 (17 revisions)
>
> Depends on:
> * https://chromium-review.googlesource.com/c/chromium/src/+/7821000
> * https://chromium-review.googlesource.com/c/chromium/src/+/7822522
> * https://webrtc-review.googlesource.com/c/src/+/470620
>
> Ran
>
>     build/modules/modularize/modularize.py --no-cache
>
> to update most BUILD.gn and module.modulemap.in files. Manually
> updated buildtools/third_party/libc++/BUILD.gn to look similar.
>
> Ran
>
>     third_party/abseil-cpp/generate_def_files.py
>
> for the (minor) def file updates.
>
> https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/be1c391acca0..5abc7f839700
>
> 2026-05-06 public@kits.net [libcxx][string] Test: fix copy&paste typo for safe_allocator (#195820)
> 2026-05-05 aidengrossman@google.com [libcxx] Include __utility/exchange.h in thread.h (#195786)
> 2026-05-05 eiytoq@outlook.com [libc++][mdspan] Fix `mdspan::operator[]` bounds checking and implement LWG4020 (#192269)
> 2026-05-05 aidengrossman@google.com [libcxx] Remove ASan container overflow checks for SSO strings (#194208)
> 2026-05-04 cjdb@google.com [libc++] Add `__exchange` as a C++11 utility (#187953)
> 2026-05-04 nikolasklauser@berlin.de [libc++] Remove libc++'s own fenv.h (#194629)
> 2026-05-04 nikolasklauser@berlin.de [libc++] Remove libc++'s own ctype.h (#194615)
> 2026-05-04 nikolasklauser@berlin.de [libc++] Simplify more <random> engines (#195504)
> 2026-05-04 c8ef@outlook.com [libc++] Implement `ranges::fold_right` (#193997)
> 2026-05-02 nikolasklauser@berlin.de [libc++] Make __is_seed_sequence a variable template (#195420)
> 2026-05-02 sharjeelkhan@google.com Update Android CI and Emulator image to API 23 (#194936)
> 2026-05-01 haowei@google.com [libcxx][lit] Fix dsl.sh.py test failure on Windows (#195230)
> 2026-05-01 nikolasklauser@berlin.de [libc++][NFC] Simplify the mersenne_twister_engine implementation a bit (#194893)
> 2026-04-30 nikolasklauser@berlin.de [libc++] Update macOS and AppleClang (#193711)
> 2026-04-30 nikolasklauser@berlin.de [libc++] Refactor std::print to allow for constant folding of the format part (#185459)
> 2026-04-30 nikolasklauser@berlin.de [libc++] Remove libc++'s own inttypes.h (#193716)
> 2026-04-30 nikolasklauser@berlin.de [libc++] Avoid type-punning locale in ios_base (#193507)
>
> If this roll has caused a breakage, revert this CL and stop the roller
> using the controls here:
> https://autoroll.skia.org/r/libcxx-chromium
> Please CC hans@chromium.org,thakis@chromium.org on the revert to ensure that a human
> is aware of the problem.
>
> To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry
>
> To report a problem with the AutoRoller itself, please file a bug:
> https://issues.skia.org/issues/new?component=1389291&template=1850622
>
> Documentation for the AutoRoller is here:
> https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
>
> Bug: 503250165
> Compile-Size: libc++ roll
> Change-Id: I370861fd0bdd00eade265d6a61834c5c0df6aa66
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7821679
> Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> Owners-Override: Nico Weber <thakis@chromium.org>
> Commit-Queue: Nico Weber <thakis@chromium.org>
> Reviewed-by: Arthur Eubanks <aeubanks@google.com>
> Cr-Commit-Position: refs/heads/main@{#1627935}
>

Bug: 503250165
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Change-Id: I2031adf4c5dd0fb19d9ed3b69129507cf273a10e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7833775
Owners-Override: luci-bisection@appspot.gserviceaccount.com <luci-bisection@appspot.gserviceaccount.com>
Commit-Queue: luci-bisection@appspot.gserviceaccount.com <luci-bisection@appspot.gserviceaccount.com>
Bot-Commit: luci-bisection@appspot.gserviceaccount.com <luci-bisection@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#1628028}
NOKEYCHECK=True
GitOrigin-RevId: ddceba073f09637bb2e2c1851165f9a846fd92d9
diff --git a/deps_revisions.gni b/deps_revisions.gni
index ca52147..876c02f 100644
--- a/deps_revisions.gni
+++ b/deps_revisions.gni
@@ -5,5 +5,5 @@
 declare_args() {
   # Used to cause full rebuilds on libc++ rolls. This should be kept in sync
   # with the libcxx_revision var in //DEPS.
-  libcxx_revision = "5abc7f839700f0f17338434e1c1c6a8c87c00c11"
+  libcxx_revision = "be1c391acca009d8d80535ce924e3d285451cdfa"
 }
diff --git a/third_party/libc++/BUILD.gn b/third_party/libc++/BUILD.gn
index 6d1c342..4fcf919 100644
--- a/third_party/libc++/BUILD.gn
+++ b/third_party/libc++/BUILD.gn
@@ -196,6 +196,7 @@
       public_deps = [
         ":_Builtin_stdint",
         ":_DarwinFoundation2",
+        ":std_ctype_h",
       ]
     }
     DarwinFoundation3_module("xlocale") {
@@ -329,11 +330,13 @@
   libcxx_module("std") {
     public_deps = [
       ":_Builtin_float",
-      ":_Builtin_inttypes",
       ":_Builtin_limits",
       ":_Builtin_stdalign",
       ":std_core",
+      ":std_ctype_h",
       ":std_errno_h",
+      ":std_fenv_h",
+      ":std_inttypes_h",
       ":std_math_h",
       ":std_private_mbstate_t",
       ":std_string_h",
@@ -362,6 +365,13 @@
     ]
   }
 
+  libcxx_module("std_ctype_h") {
+    public_deps = [
+      ":std_config",
+      ":sysroot_ctype",
+    ]
+  }
+
   libcxx_module("std_errno_h") {
     public_deps = [
       ":std_config",
@@ -369,6 +379,20 @@
     ]
   }
 
+  libcxx_module("std_fenv_h") {
+    public_deps = [
+      ":std_config",
+      ":sysroot_fenv",
+    ]
+  }
+
+  libcxx_module("std_inttypes_h") {
+    public_deps = [
+      ":_Builtin_inttypes",
+      ":std_config",
+    ]
+  }
+
   libcxx_module("std_math_h") {
     public_deps = [
       ":std_core",
@@ -415,7 +439,10 @@
     public_deps = [
       ":std",
       ":std_core",
+      ":std_ctype_h",
       ":std_errno_h",
+      ":std_fenv_h",
+      ":std_inttypes_h",
       ":std_math_h",
       ":std_private_mbstate_t",
       ":std_stdatomic_h",
diff --git a/third_party/libc++/libcxx_headers.gni b/third_party/libc++/libcxx_headers.gni
index cdd55ac..81052ac 100644
--- a/third_party/libc++/libcxx_headers.gni
+++ b/third_party/libc++/libcxx_headers.gni
@@ -11,7 +11,7 @@
 import("//buildtools/deps_revisions.gni")
 
 assert(
-    libcxx_revision == "5abc7f839700f0f17338434e1c1c6a8c87c00c11",
+    libcxx_revision == "be1c391acca009d8d80535ce924e3d285451cdfa",
     "libcxx_headers.gni and third_party/libc++ are out of sync.$0x0A$0x0AIf you were messing around with the libc++ repository, run:$0x0A`buildtools/third_party/libc++/generate_libcxx_headers.py`$0x0A$0x0AIf the script doesn't resolve the error, file a bug to msta@ with reproduction details.$0x0A")
 
 libcxx_headers = [
@@ -1026,6 +1026,7 @@
   "//third_party/libc++/src/include/cstring",
   "//third_party/libc++/src/include/ctgmath",
   "//third_party/libc++/src/include/ctime",
+  "//third_party/libc++/src/include/ctype.h",
   "//third_party/libc++/src/include/cuchar",
   "//third_party/libc++/src/include/cwchar",
   "//third_party/libc++/src/include/cwctype",
@@ -1052,6 +1053,7 @@
   "//third_party/libc++/src/include/ext/__hash",
   "//third_party/libc++/src/include/ext/hash_map",
   "//third_party/libc++/src/include/ext/hash_set",
+  "//third_party/libc++/src/include/fenv.h",
   "//third_party/libc++/src/include/filesystem",
   "//third_party/libc++/src/include/flat_map",
   "//third_party/libc++/src/include/flat_set",
@@ -1061,6 +1063,7 @@
   "//third_party/libc++/src/include/functional",
   "//third_party/libc++/src/include/future",
   "//third_party/libc++/src/include/initializer_list",
+  "//third_party/libc++/src/include/inttypes.h",
   "//third_party/libc++/src/include/iomanip",
   "//third_party/libc++/src/include/ios",
   "//third_party/libc++/src/include/iosfwd",