]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Add new mangling Z-pair "ZD" to encode '$', since that's sometimes used
authorJulian Seward <jseward@acm.org>
Sun, 26 Jul 2009 19:41:07 +0000 (19:41 +0000)
committerJulian Seward <jseward@acm.org>
Sun, 26 Jul 2009 19:41:07 +0000 (19:41 +0000)
in Darwin symbol names.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10620

coregrind/m_demangle/demangle.c
include/pub_tool_redir.h

index 9ad4b26bca1081648d7029cedd27eea3ef865b7b..262fcfc6da245b8648b7dc5e4680f4802146e612 100644 (file)
@@ -228,16 +228,17 @@ Bool VG_(maybe_Z_demangle) ( const HChar* sym,
       i++;
       switch (sym[i]) {
          case 'a': EMITSO('*'); break;
-         case 'p': EMITSO('+'); break;
          case 'c': EMITSO(':'); break;
          case 'd': EMITSO('.'); break;
-         case 'u': EMITSO('_'); break;
          case 'h': EMITSO('-'); break;
+         case 'p': EMITSO('+'); break;
          case 's': EMITSO(' '); break;
-         case 'Z': EMITSO('Z'); break;
+         case 'u': EMITSO('_'); break;
          case 'A': EMITSO('@'); break;
+         case 'D': EMITSO('$'); break;
          case 'L': EMITSO('('); break;
          case 'R': EMITSO(')'); break;
+         case 'Z': EMITSO('Z'); break;
          default: error = True; goto out;
       }
       i++;
@@ -276,16 +277,17 @@ Bool VG_(maybe_Z_demangle) ( const HChar* sym,
       i++;
       switch (sym[i]) {
          case 'a': EMITFN('*'); break;
-         case 'p': EMITFN('+'); break;
          case 'c': EMITFN(':'); break;
          case 'd': EMITFN('.'); break;
-         case 'u': EMITFN('_'); break;
          case 'h': EMITFN('-'); break;
+         case 'p': EMITFN('+'); break;
          case 's': EMITFN(' '); break;
-         case 'Z': EMITFN('Z'); break;
+         case 'u': EMITFN('_'); break;
          case 'A': EMITFN('@'); break;
-         case 'L': EMITSO('('); break;
-         case 'R': EMITSO(')'); break;
+         case 'D': EMITFN('$'); break;
+         case 'L': EMITFN('('); break;
+         case 'R': EMITFN(')'); break;
+         case 'Z': EMITFN('Z'); break;
          default: error = True; goto out;
       }
       i++;
index 5a97bff622ec95e34f4b7f2b4cf572004c7dd490..038c377dc488b5d57110194bb882442700518344 100644 (file)
    characters are transformed.
 
      *         -->  Za    (asterisk)
-     +         -->  Zp    (plus)
      :         -->  Zc    (colon)
      .         -->  Zd    (dot)
-     _         -->  Zu    (underscore)
      -         -->  Zh    (hyphen)
+     +         -->  Zp    (plus)
      (space)   -->  Zs    (space)
+     _         -->  Zu    (underscore)
      @         -->  ZA    (at)
-     Z         -->  ZZ    (Z)
+     $         -->  ZD    (dollar)
      (         -->  ZL    (left)
      )         -->  ZR    (right)
+     Z         -->  ZZ    (Z)
 
    Everything else is left unchanged.
 */