Summary: | support '%' in symbol Z-encoding | ||
---|---|---|---|
Product: | [Developer tools] valgrind | Reporter: | Ivo Raisr <ivosh> |
Component: | general | Assignee: | Ivo Raisr <ivosh> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | ivosh, philippe.waroquiers |
Priority: | NOR | ||
Version: | 3.12 SVN | ||
Target Milestone: | --- | ||
Platform: | Compiled Sources | ||
OS: | Solaris | ||
Latest Commit: | r16112 | Version Fixed In: | |
Attachments: |
proposed patch
proposed patch v2 proposed patch v3 |
Description
Ivo Raisr
2016-10-30 15:10:48 UTC
Created attachment 101900 [details]
proposed patch
(In reply to Ivo Raisr from comment #1) > Created attachment 101900 [details] > proposed patch Quickly read the patch, is seems strange to have both new cases emitting % : + case 'P': EMITFN('%'); break; case 'R': EMITFN(')'); break; + case 'S': EMITFN('%'); break; Created attachment 101909 [details]
proposed patch v2
Well, umm, that is of course wrong. It should have read: + case 'P': EMITFN('%'); break; case 'R': EMITFN(')'); break; + case 'S': EMITFN('/'); break; Thank you for catching it! Have a look at patch #v2. Created attachment 101910 [details]
proposed patch v3
And for memset%* replacement to work, the following needs to be changed as well:
#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) \
Fixed in SVN r16112. |