|
From: <sv...@va...> - 2016-11-02 21:50:26
|
Author: iraisr
Date: Wed Nov 2 21:50:19 2016
New Revision: 16112
Log:
Support '%' in symbol Z-encoding.
Fixes BZ #371869.
Modified:
trunk/NEWS
trunk/coregrind/m_demangle/demangle.c
trunk/include/pub_tool_redir.h
trunk/shared/vg_replace_strmem.c
Modified: trunk/NEWS
==============================================================================
--- trunk/NEWS (original)
+++ trunk/NEWS Wed Nov 2 21:50:19 2016
@@ -21,7 +21,8 @@
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
Modified: trunk/coregrind/m_demangle/demangle.c
==============================================================================
--- trunk/coregrind/m_demangle/demangle.c (original)
+++ trunk/coregrind/m_demangle/demangle.c Wed Nov 2 21:50:19 2016
@@ -281,6 +281,7 @@
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 @@
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;
}
Modified: trunk/include/pub_tool_redir.h
==============================================================================
--- trunk/include/pub_tool_redir.h (original)
+++ trunk/include/pub_tool_redir.h Wed Nov 2 21:50:19 2016
@@ -185,9 +185,10 @@
@ --> ZA (at)
$ --> ZD (dollar)
( --> ZL (left)
+ % --> ZP (percent)
) --> ZR (right)
+ / --> ZS (slash)
Z --> ZZ (Z)
- / --> ZS (slash)
Everything else is left unchanged.
*/
Modified: trunk/shared/vg_replace_strmem.c
==============================================================================
--- trunk/shared/vg_replace_strmem.c (original)
+++ trunk/shared/vg_replace_strmem.c Wed Nov 2 21:50:19 2016
@@ -1040,6 +1040,7 @@
#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 @@
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 @@
#elif defined(VGO_solaris)
MEMSET(VG_Z_LIBC_SONAME, memset)
+ MEMSET(VG_Z_LIBC_SONAME, memsetZPZa)
#endif
@@ -1269,6 +1271,7 @@
#elif defined(VGO_solaris)
MEMMOVE(VG_Z_LIBC_SONAME, memmove)
+ MEMMOVE(VG_Z_LIBC_SONAME, memmoveZPZa)
MEMMOVE(VG_Z_LD_SO_1, memmove)
#endif
|