]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Minor changes to the documentation and commends related to demangling.
authorPhilippe Waroquiers <philippe.waroquiers@skynet.be>
Wed, 25 Dec 2024 15:08:04 +0000 (16:08 +0100)
committerPhilippe Waroquiers <philippe.waroquiers@skynet.be>
Wed, 25 Dec 2024 15:08:04 +0000 (16:08 +0100)
coregrind/m_demangle/demangle.c
docs/xml/manual-core.xml

index ca066a4b079667451013efc440fc3c95ab601c20..165012aeafe3ac5c5b6fe4acf56a7fa5281c98d8 100644 (file)
@@ -123,8 +123,8 @@ void VG_(demangle) ( Bool do_cxx_demangling, Bool do_z_demangling,
    // - Rust "legacy" mangled symbols start with "_Z".
    // - Rust "v0" mangled symbols start with "_R".
    // - D programming language mangled symbols start with "_D".
-   // XXX: the Java/Rust/Ada demangling here probably doesn't work. See
-   // https://bugs.kde.org/show_bug.cgi?id=445235 for details.
+   // - Ada mangled symbols depend on the entity the symbol represents.
+   //   See ada_demangle for details.
    if (do_cxx_demangling && VG_(clo_demangle)
        && orig != NULL && (VG_(lang_is_ada) ||
       (orig[0] == '_' && (orig[1] == 'Z' || orig[1] == 'R' || orig[1] == 'D')))) {
index da7e8117681aa0b0773e9a16a41d4b63422f44b7..3a2ce461cdcca02e86c9ec4cf88e1c041916858b 100644 (file)
@@ -1128,10 +1128,14 @@ that can report errors, e.g. Memcheck, but not Cachegrind.</para>
       <option><![CDATA[--demangle=<yes|no> [default: yes] ]]></option>
     </term>
     <listitem>
-      <para>Enable/disable automatic demangling (decoding) of C++ names.
+      <para>Enable/disable automatic demangling (decoding) of C++, D,
+      Rust, Java, Ada names.
       Enabled by default.  When enabled, Valgrind will attempt to
-      translate encoded C++ names back to something approaching the
-      original.  The demangler handles symbols mangled by g++ versions
+      translate encoded names in the listed languages back to something
+      approaching the original.
+      Note that the callgrind tool always disables Ada demangling in order
+      to differentiate overloaded functions and procedures in the callgraph.
+      The demangler handles symbols mangled by g++ versions
       2.X, 3.X and 4.X.</para>
 
       <para>An important fact about demangling is that function names