]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Support '%' in symbol Z-encoding.
authorIvo Raisr <ivosh@ivosh.net>
Wed, 2 Nov 2016 21:50:19 +0000 (21:50 +0000)
committerIvo Raisr <ivosh@ivosh.net>
Wed, 2 Nov 2016 21:50:19 +0000 (21:50 +0000)
Fixes BZ #371869.

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

NEWS
coregrind/m_demangle/demangle.c
include/pub_tool_redir.h
shared/vg_replace_strmem.c

diff --git a/NEWS b/NEWS
index 42bb8f5e9611e256cede45df81031e28d51b818c..2d3a4ceecdcbda079a2da475ef1988443f6a48df 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -21,7 +21,8 @@ To see details of a given bug, visit
   https://bugs.kde.org/show_bug.cgi?id=XXXXXX
 where XXXXXX is the bug number as listed below.
 
-371412 Rename wrap_sys_shmat to sys_shmat like other wrappers
+371412  Rename wrap_sys_shmat to sys_shmat like other wrappers
+371869  support '%' in symbol Z-encoding
 
 
 
index 78db073be935a45e7194f1ca87f1a0813b5e8ebc..db509a18f86c1ab5f4f35a8ab3fb118894ac5ab4 100644 (file)
@@ -281,6 +281,7 @@ Bool VG_(maybe_Z_demangle) ( const HChar* sym,
          case 'A': EMITSO('@'); break;
          case 'D': EMITSO('$'); break;
          case 'L': EMITSO('('); break;
+         case 'P': EMITSO('%'); break;
          case 'R': EMITSO(')'); break;
          case 'S': EMITSO('/'); break;
          case 'Z': EMITSO('Z'); break;
@@ -331,7 +332,9 @@ Bool VG_(maybe_Z_demangle) ( const HChar* sym,
          case 'A': EMITFN('@'); break;
          case 'D': EMITFN('$'); break;
          case 'L': EMITFN('('); break;
+         case 'P': EMITFN('%'); break;
          case 'R': EMITFN(')'); break;
+         case 'S': EMITFN('/'); break;
          case 'Z': EMITFN('Z'); break;
          default: error = True; goto out;
       }
index 4ff51559675bbac19dd06c4db7b80e143825d622..a4be688023eb7db8ba5a250ab55f2e4fc9bd8fb8 100644 (file)
      @         -->  ZA    (at)
      $         -->  ZD    (dollar)
      (         -->  ZL    (left)
+     %         -->  ZP    (percent)
      )         -->  ZR    (right)
+     /         -->  ZS    (slash) 
      Z         -->  ZZ    (Z)
-     /         -->  ZS    (slash)
 
    Everything else is left unchanged.
 */
index f3be419421619b66e2d43dbfabb46bbbcb06e546..e4fde48d323abdb9a85e6020a7a2e6312f2a3672 100644 (file)
@@ -1040,6 +1040,7 @@ static inline void my_exit ( int x )
 
 #elif defined(VGO_solaris)
  MEMCPY(VG_Z_LIBC_SONAME,  memcpy)
+ MEMCPY(VG_Z_LIBC_SONAME,  memcpyZPZa)
  MEMCPY(VG_Z_LD_SO_1,      memcpy)
 
 #endif
@@ -1187,9 +1188,9 @@ static inline void my_exit ( int x )
    pointless. */
 
 #define MEMSET(soname, fnname) \
-   void* VG_REPLACE_FUNCTION_EZU(20210,soname,fnname) \
+   void* VG_REPLACE_FUNCTION_EZZ(20210,soname,fnname) \
             (void *s, Int c, SizeT n); \
-   void* VG_REPLACE_FUNCTION_EZU(20210,soname,fnname) \
+   void* VG_REPLACE_FUNCTION_EZZ(20210,soname,fnname) \
             (void *s, Int c, SizeT n) \
    { \
       if (sizeof(void*) == 8) { \
@@ -1240,6 +1241,7 @@ static inline void my_exit ( int x )
 
 #elif defined(VGO_solaris)
  MEMSET(VG_Z_LIBC_SONAME, memset)
+ MEMSET(VG_Z_LIBC_SONAME, memsetZPZa)
 
 #endif
 
@@ -1269,6 +1271,7 @@ static inline void my_exit ( int x )
 
 #elif defined(VGO_solaris)
  MEMMOVE(VG_Z_LIBC_SONAME, memmove)
+ MEMMOVE(VG_Z_LIBC_SONAME, memmoveZPZa)
  MEMMOVE(VG_Z_LD_SO_1,     memmove)
 
 #endif