From: Michael Froman <mfroman@mozilla.com>
Date: Thu, 16 Jan 2025 11:29:00 -0600
Subject: Bug 1935474 - don't demangle rust symbols. r?ng!

Building demangle.cc causes errors in our hazard-linux64-haz/debug build.
For now, we'll avoid calling DemangleRustSymbolEncoding, and skip building
demangle.cc.
Mercurial Revision: https://hg.mozilla.org/mozilla-central/rev/828151aa9455ccbfe45787bbe00127813c97cc9e
---
 abseil-cpp/absl/debugging/BUILD.gn             | 4 ++++
 abseil-cpp/absl/debugging/internal/demangle.cc | 4 ++++
 2 files changed, 8 insertions(+)

diff --git a/abseil-cpp/absl/debugging/BUILD.gn b/abseil-cpp/absl/debugging/BUILD.gn
index f223cdb507a..48643241e37 100644
--- a/abseil-cpp/absl/debugging/BUILD.gn
+++ b/abseil-cpp/absl/debugging/BUILD.gn
@@ -191,6 +191,9 @@ absl_test("decode_rust_punycode_test") {
 }
 
 absl_source_set("demangle_rust") {
+# hazard-linux64-haz/debug builds fail when this section is
+# included in the build.
+if (!moz_webrtc_build) {
   sources = [ "internal/demangle_rust.cc" ]
   public = [ "internal/demangle_rust.h" ]
   deps = [
@@ -199,6 +202,7 @@ absl_source_set("demangle_rust") {
     "//third_party/abseil-cpp/absl/base:core_headers",
   ]
 }
+}
 
 absl_test("demangle_rust_test") {
   sources = [ "internal/demangle_rust_test.cc" ]
diff --git a/abseil-cpp/absl/debugging/internal/demangle.cc b/abseil-cpp/absl/debugging/internal/demangle.cc
index a8d75116adc..10adcf79c84 100644
--- a/abseil-cpp/absl/debugging/internal/demangle.cc
+++ b/abseil-cpp/absl/debugging/internal/demangle.cc
@@ -2927,9 +2927,13 @@ static bool Overflowed(const State *state) {
 
 // The demangler entry point.
 bool Demangle(const char* mangled, char* out, size_t out_size) {
+// mozilla - hazard-linux64-haz/debug failure when demangle_rust.cc is
+// included in the build.  For now we'll avoid this code.
+#if 0
   if (mangled[0] == '_' && mangled[1] == 'R') {
     return DemangleRustSymbolEncoding(mangled, out, out_size);
   }
+#endif
 
   State state;
   InitState(&state, mangled, out, out_size);
