Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(65)

Side by Side Diff: scripts/intercept_tcmalloc.patch

Issue 3047046: Fix Valgrind malloc interceptors.... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/deps/third_party/valgrind/
Patch Set: '' Created 10 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « binaries/linux_x86/lib/valgrind/vgpreload_memcheck-x86-linux.so ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 Index: coregrind/m_replacemalloc/vg_replace_malloc.c 1 Index: coregrind/m_replacemalloc/vg_replace_malloc.c
2 =================================================================== 2 ===================================================================
3 --- coregrind/m_replacemalloc/vg_replace_malloc.c (revision 11055) 3 --- coregrind/m_replacemalloc/vg_replace_malloc.c (revision 11055)
4 +++ coregrind/m_replacemalloc/vg_replace_malloc.c (working copy) 4 +++ coregrind/m_replacemalloc/vg_replace_malloc.c (working copy)
5 @@ -234,6 +234,13 @@ 5 @@ -234,6 +234,23 @@
6 // malloc 6 // malloc
7 ALLOC_or_NULL(VG_Z_LIBSTDCXX_SONAME, malloc, malloc); 7 ALLOC_or_NULL(VG_Z_LIBSTDCXX_SONAME, malloc, malloc);
8 ALLOC_or_NULL(VG_Z_LIBC_SONAME, malloc, malloc); 8 ALLOC_or_NULL(VG_Z_LIBC_SONAME, malloc, malloc);
9 +// Handle libtcmalloc's malloc() function. 9 +// Handle libtcmalloc's malloc() function.
10 +// Similar interceptors are added below to handle other libtcmalloc 10 +// Similar interceptors are added below to handle other libtcmalloc
11 +// allocation/deallocation functions. 11 +// allocation/deallocation functions.
12 +// soname=NONE means that a user's allocation function is intercepted. 12 +// soname=NONE means that a user's allocation function is intercepted.
13 +ALLOC_or_NULL(NONE, malloc, malloc);
14 +// Handle libtcmalloc's malloc() function.
15 +// Similar interceptors are added below to handle other libtcmalloc
16 +// allocation/deallocation functions.
17 +// soname=NONE means that a user's allocation function is intercepted.
13 +ALLOC_or_NULL(NONE, tc_malloc, malloc); 18 +ALLOC_or_NULL(NONE, tc_malloc, malloc);
19 +// Bash has sh_malloc() and sh_free() along with standard malloc() and free().
20 +// Sometimes these functions are called inconsistently (e.g. free() after
21 +// sh_malloc()). To deal with this we have to intercept the sh_*() functions
22 +// as well.
23 +ALLOC_or_NULL(NONE, sh_malloc, malloc);
14 +// Handle Python's malloc. 24 +// Handle Python's malloc.
15 +ALLOC_or_NULL(NONE, PyObject_Malloc, malloc); 25 +ALLOC_or_NULL(NONE, PyObject_Malloc, malloc);
16 #if defined(VGP_ppc32_aix5) || defined(VGP_ppc64_aix5) 26 #if defined(VGP_ppc32_aix5) || defined(VGP_ppc64_aix5)
17 ALLOC_or_NULL(VG_Z_LIBC_SONAME, malloc_common, malloc); 27 ALLOC_or_NULL(VG_Z_LIBC_SONAME, malloc_common, malloc);
18 #elif defined(VGO_darwin) 28 #elif defined(VGO_darwin)
19 @@ -267,6 +274,8 @@ 29 @@ -246,20 +263,24 @@
30 // operator new(unsigned int), not mangled (for gcc 2.96)
31 ALLOC_or_BOMB(VG_Z_LIBSTDCXX_SONAME, builtin_new, __builtin_new);
32 ALLOC_or_BOMB(VG_Z_LIBC_SONAME, builtin_new, __builtin_new);
33 +ALLOC_or_BOMB(NONE, builtin_new, __builtin_new);
34
35 ALLOC_or_BOMB(VG_Z_LIBSTDCXX_SONAME, __builtin_new, __builtin_new);
36 ALLOC_or_BOMB(VG_Z_LIBC_SONAME, __builtin_new, __builtin_new);
37 +ALLOC_or_BOMB(NONE, __builtin_new, __builtin_new);
38
39 // operator new(unsigned int), GNU mangling
40 #if VG_WORDSIZE == 4
41 ALLOC_or_BOMB(VG_Z_LIBSTDCXX_SONAME, _Znwj, __builtin_new);
42 ALLOC_or_BOMB(VG_Z_LIBC_SONAME, _Znwj, __builtin_new);
43 + ALLOC_or_BOMB(NONE, _Znwj, __builtin_new);
44 #endif
45
46 // operator new(unsigned long), GNU mangling
47 #if VG_WORDSIZE == 8 || defined(VGP_ppc32_aix5) || defined(VGO_darwin)
48 ALLOC_or_BOMB(VG_Z_LIBSTDCXX_SONAME, _Znwm, __builtin_new);
49 ALLOC_or_BOMB(VG_Z_LIBC_SONAME, _Znwm, __builtin_new);
50 + ALLOC_or_BOMB(NONE, _Znwm, __builtin_new);
51 #endif
52
53 // operator new(unsigned long), ARM/cfront mangling
54 @@ -267,19 +288,24 @@
20 ALLOC_or_BOMB(VG_Z_LIBC_DOT_A, __nw__FUl, __builtin_new); 55 ALLOC_or_BOMB(VG_Z_LIBC_DOT_A, __nw__FUl, __builtin_new);
21 #endif 56 #endif
22 57
23 +// libtcmalloc's new 58 +// libtcmalloc's new
24 +ALLOC_or_BOMB(NONE, tc_new, __builtin_new); 59 +ALLOC_or_BOMB(NONE, tc_new, __builtin_new);
25 60
61 +
26 /*---------------------- new nothrow ----------------------*/ 62 /*---------------------- new nothrow ----------------------*/
27 63
28 @@ -287,6 +296,8 @@ 64 // operator new(unsigned, std::nothrow_t const&), GNU mangling
65 #if VG_WORDSIZE == 4
66 ALLOC_or_NULL(VG_Z_LIBSTDCXX_SONAME, _ZnwjRKSt9nothrow_t, __builtin_new);
67 ALLOC_or_NULL(VG_Z_LIBC_SONAME, _ZnwjRKSt9nothrow_t, __builtin_new);
68 + ALLOC_or_NULL(NONE, _ZnwjRKSt9nothrow_t, __builtin_new);
69 #endif
70
71 // operator new(unsigned long, std::nothrow_t const&), GNU mangling
72 #if VG_WORDSIZE == 8 || defined(VGP_ppc32_aix5) || defined(VGP_ppc64_aix5) || d efined(VGO_darwin)
73 ALLOC_or_NULL(VG_Z_LIBSTDCXX_SONAME, _ZnwmRKSt9nothrow_t, __builtin_new);
74 ALLOC_or_NULL(VG_Z_LIBC_SONAME, _ZnwmRKSt9nothrow_t, __builtin_new);
75 + ALLOC_or_NULL(NONE, _ZnwmRKSt9nothrow_t, __builtin_new);
76 #endif
77
78 // operator new(unsigned long, std::nothrow_t const&), ARM/cfront mangling
79 @@ -287,23 +313,29 @@
29 ALLOC_or_NULL(VG_Z_LIBC_DOT_A, __nw__FUlRCQ2_3std9nothrow_t, __builtin_new) ; 80 ALLOC_or_NULL(VG_Z_LIBC_DOT_A, __nw__FUlRCQ2_3std9nothrow_t, __builtin_new) ;
30 #endif 81 #endif
31 82
32 +// libtcmalloc's new nothrow 83 +// libtcmalloc's new nothrow
33 +ALLOC_or_NULL(NONE, tc_new_nothrow, __builtin_new); 84 +ALLOC_or_NULL(NONE, tc_new_nothrow, __builtin_new);
34 85
86 +
35 /*---------------------- new [] ----------------------*/ 87 /*---------------------- new [] ----------------------*/
36 88
37 @@ -311,6 +322,8 @@ 89 // operator new[](unsigned int), not mangled (for gcc 2.96)
90 ALLOC_or_BOMB(VG_Z_LIBSTDCXX_SONAME, __builtin_vec_new, __builtin_vec_new );
91 ALLOC_or_BOMB(VG_Z_LIBC_SONAME, __builtin_vec_new, __builtin_vec_new );
92 +ALLOC_or_BOMB(NONE, __builtin_vec_new, __builtin_vec_new );
93
94 // operator new[](unsigned int), GNU mangling
95 #if VG_WORDSIZE == 4
96 ALLOC_or_BOMB(VG_Z_LIBSTDCXX_SONAME, _Znaj, __builtin_vec_new );
97 ALLOC_or_BOMB(VG_Z_LIBC_SONAME, _Znaj, __builtin_vec_new );
98 + ALLOC_or_BOMB(NONE, _Znaj, __builtin_vec_new );
99 #endif
100
101 // operator new[](unsigned long), GNU mangling
102 #if VG_WORDSIZE == 8 || defined(VGP_ppc32_aix5) || defined(VGP_ppc64_aix5) || d efined(VGO_darwin)
103 ALLOC_or_BOMB(VG_Z_LIBSTDCXX_SONAME, _Znam, __builtin_vec_new );
104 ALLOC_or_BOMB(VG_Z_LIBC_SONAME, _Znam, __builtin_vec_new );
105 + ALLOC_or_BOMB(NONE, _Znam, __builtin_vec_new );
106 #endif
107
108 // operator new[](unsigned long), ARM/cfront mangling
109 @@ -311,19 +343,24 @@
38 ALLOC_or_BOMB(VG_Z_LIBC_DOT_A, __vn__FUl, __builtin_vec_new); 110 ALLOC_or_BOMB(VG_Z_LIBC_DOT_A, __vn__FUl, __builtin_vec_new);
39 #endif 111 #endif
40 112
41 +// libtcmalloc's new [] 113 +// libtcmalloc's new []
42 +ALLOC_or_BOMB(NONE, tc_newarray, __builtin_vec_new); 114 +ALLOC_or_BOMB(NONE, tc_newarray, __builtin_vec_new);
43 115
116 +
44 /*---------------------- new [] nothrow ----------------------*/ 117 /*---------------------- new [] nothrow ----------------------*/
45 118
46 @@ -331,6 +344,8 @@ 119 // operator new[](unsigned, std::nothrow_t const&), GNU mangling
120 #if VG_WORDSIZE == 4
121 ALLOC_or_NULL(VG_Z_LIBSTDCXX_SONAME, _ZnajRKSt9nothrow_t, __builtin_vec_new );
122 ALLOC_or_NULL(VG_Z_LIBC_SONAME, _ZnajRKSt9nothrow_t, __builtin_vec_new );
123 + ALLOC_or_NULL(NONE, _ZnajRKSt9nothrow_t, __builtin_vec_new );
124 #endif
125
126 // operator new[](unsigned long, std::nothrow_t const&), GNU mangling
127 #if VG_WORDSIZE == 8 || defined(VGP_ppc32_aix5) || defined(VGP_ppc64_aix5) || d efined(VGO_darwin)
128 ALLOC_or_NULL(VG_Z_LIBSTDCXX_SONAME, _ZnamRKSt9nothrow_t, __builtin_vec_new );
129 ALLOC_or_NULL(VG_Z_LIBC_SONAME, _ZnamRKSt9nothrow_t, __builtin_vec_new );
130 + ALLOC_or_NULL(NONE, _ZnamRKSt9nothrow_t, __builtin_vec_new );
131 #endif
132
133 // operator new [](unsigned long, std::nothrow_t const&), ARM/cfront mangling
134 @@ -331,7 +368,10 @@
47 ALLOC_or_BOMB(VG_Z_LIBC_DOT_A, __vn__FUlRCQ2_3std9nothrow_t, __builtin_vec_n ew ); 135 ALLOC_or_BOMB(VG_Z_LIBC_DOT_A, __vn__FUlRCQ2_3std9nothrow_t, __builtin_vec_n ew );
48 #endif 136 #endif
49 137
50 +// libtcmalloc's new [] nothrow 138 +// libtcmalloc's new [] nothrow
51 +ALLOC_or_NULL(NONE, tc_newarray_nothrow, __builtin_vec_new); 139 +ALLOC_or_NULL(NONE, tc_newarray_nothrow, __builtin_vec_new);
52 140
141 +
53 /*---------------------- free ----------------------*/ 142 /*---------------------- free ----------------------*/
54 143
55 @@ -364,6 +379,8 @@ 144 /* Generate a replacement for 'fnname' in object 'soname', which calls
145 @@ -364,6 +404,10 @@
56 // free 146 // free
57 FREE(VG_Z_LIBSTDCXX_SONAME, free, free ); 147 FREE(VG_Z_LIBSTDCXX_SONAME, free, free );
58 FREE(VG_Z_LIBC_SONAME, free, free ); 148 FREE(VG_Z_LIBC_SONAME, free, free );
149 +FREE(NONE, free, free );
150 +FREE(NONE, sh_free, free );
59 +FREE(NONE, tc_free, free ); 151 +FREE(NONE, tc_free, free );
60 +FREE(NONE, PyObject_Free, free ); 152 +FREE(NONE, PyObject_Free, free );
61 #if defined(VGP_ppc32_aix5) || defined(VGP_ppc64_aix5) 153 #if defined(VGP_ppc32_aix5) || defined(VGP_ppc64_aix5)
62 FREE(VG_Z_LIBC_SONAME, free_common, free ); 154 FREE(VG_Z_LIBC_SONAME, free_common, free );
63 #elif defined(VGO_darwin) 155 #elif defined(VGO_darwin)
64 @@ -376,6 +393,7 @@ 156 @@ -376,43 +420,57 @@
65 // cfree 157 // cfree
66 FREE(VG_Z_LIBSTDCXX_SONAME, cfree, free ); 158 FREE(VG_Z_LIBSTDCXX_SONAME, cfree, free );
67 FREE(VG_Z_LIBC_SONAME, cfree, free ); 159 FREE(VG_Z_LIBC_SONAME, cfree, free );
160 +FREE(NONE, cfree, free );
68 +FREE(NONE, tc_cfree, free ); 161 +FREE(NONE, tc_cfree, free );
162 +FREE(NONE, sh_cfree, free );
69 163
70 164
71 /*---------------------- delete ----------------------*/ 165 /*---------------------- delete ----------------------*/
72 @@ -392,6 +410,8 @@ 166 // operator delete(void*), not mangled (for gcc 2.96)
167 FREE(VG_Z_LIBSTDCXX_SONAME, __builtin_delete, __builtin_delete );
168 FREE(VG_Z_LIBC_SONAME, __builtin_delete, __builtin_delete );
169 +FREE(NONE, __builtin_delete, __builtin_delete );
170
171 // operator delete(void*), GNU mangling
172 FREE(VG_Z_LIBSTDCXX_SONAME, _ZdlPv, __builtin_delete );
173 FREE(VG_Z_LIBC_SONAME, _ZdlPv, __builtin_delete );
174 +FREE(NONE, _ZdlPv, __builtin_delete );
175
176 // operator delete(void*), ARM/cfront mangling
177 #if defined(VGP_ppc32_aix5) || defined(VGP_ppc64_aix5)
73 FREE(VG_Z_LIBC_DOT_A, __dl__FPv, __builtin_delete ); 178 FREE(VG_Z_LIBC_DOT_A, __dl__FPv, __builtin_delete );
74 #endif 179 #endif
75 180
76 +// libtcmalloc's delete 181 +// libtcmalloc's delete
77 +FREE(NONE, tc_delete, __builtin_delete); 182 +FREE(NONE, tc_delete, __builtin_delete);
78 183
184 +
79 /*---------------------- delete nothrow ----------------------*/ 185 /*---------------------- delete nothrow ----------------------*/
80 186
81 @@ -399,6 +419,8 @@ 187 // operator delete(void*, std::nothrow_t const&), GNU mangling
82 FREE(VG_Z_LIBSTDCXX_SONAME, _ZdlPvRKSt9nothrow_t, __builtin_delete ); 188 FREE(VG_Z_LIBSTDCXX_SONAME, _ZdlPvRKSt9nothrow_t, __builtin_delete );
83 FREE(VG_Z_LIBC_SONAME, _ZdlPvRKSt9nothrow_t, __builtin_delete ); 189 FREE(VG_Z_LIBC_SONAME, _ZdlPvRKSt9nothrow_t, __builtin_delete );
84 190 +FREE(NONE, _ZdlPvRKSt9nothrow_t, __builtin_delete );
85 +// libtcmalloc's delete nothrow 191 +// libtcmalloc's delete nothrow
86 +FREE(NONE, tc_delete_nothrow, __builtin_delete); 192 +FREE(NONE, tc_delete_nothrow, __builtin_delete);
87 193
194 -
88 /*---------------------- delete [] ----------------------*/ 195 /*---------------------- delete [] ----------------------*/
89 // operator delete[](void*), not mangled (for gcc 2.96) 196 // operator delete[](void*), not mangled (for gcc 2.96)
90 @@ -414,6 +436,8 @@ 197 FREE(VG_Z_LIBSTDCXX_SONAME, __builtin_vec_delete, __builtin_vec_delete );
198 FREE(VG_Z_LIBC_SONAME, __builtin_vec_delete, __builtin_vec_delete );
199 +FREE(NONE, __builtin_vec_delete, __builtin_vec_delete );
200
201 // operator delete[](void*), GNU mangling
202 FREE(VG_Z_LIBSTDCXX_SONAME, _ZdaPv, __builtin_vec_delete );
203 FREE(VG_Z_LIBC_SONAME, _ZdaPv, __builtin_vec_delete );
204 +FREE(NONE, _ZdaPv, __builtin_vec_delete );
205
206 // operator delete[](void*), ARM/cfront mangling
207 #if defined(VGP_ppc32_aix5) || defined(VGP_ppc64_aix5)
91 FREE(VG_Z_LIBC_DOT_A, __vd__FPv, __builtin_vec_delete ); 208 FREE(VG_Z_LIBC_DOT_A, __vd__FPv, __builtin_vec_delete );
92 #endif 209 #endif
93
94 +// libtcmalloc's delete [] 210 +// libtcmalloc's delete []
95 +FREE(NONE, tc_deletearray, __builtin_vec_delete); 211 +FREE(NONE, tc_deletearray, __builtin_vec_delete);
96 212
213
97 /*---------------------- delete [] nothrow ----------------------*/ 214 /*---------------------- delete [] nothrow ----------------------*/
98 215 @@ -420,6 +478,9 @@
99 @@ -421,6 +445,8 @@ 216 // operator delete[](void*, std::nothrow_t const&), GNU mangling
100 FREE(VG_Z_LIBSTDCXX_SONAME, _ZdaPvRKSt9nothrow_t, __builtin_vec_delete ); 217 FREE(VG_Z_LIBSTDCXX_SONAME, _ZdaPvRKSt9nothrow_t, __builtin_vec_delete );
101 FREE(VG_Z_LIBC_SONAME, _ZdaPvRKSt9nothrow_t, __builtin_vec_delete ); 218 FREE(VG_Z_LIBC_SONAME, _ZdaPvRKSt9nothrow_t, __builtin_vec_delete );
102 219 +FREE(NONE, _ZdaPvRKSt9nothrow_t, __builtin_vec_delete );
103 +// libtcmalloc's delete [] nothrow 220 +// libtcmalloc's delete [] nothrow
104 +FREE(NONE, tc_deletearray_nothrow, __builtin_vec_delete); 221 +FREE(NONE, tc_deletearray_nothrow, __builtin_vec_delete);
105 222
223
106 /*---------------------- calloc ----------------------*/ 224 /*---------------------- calloc ----------------------*/
107 225 @@ -465,6 +526,9 @@
108 @@ -465,6 +491,7 @@
109 } 226 }
110 227
111 CALLOC(VG_Z_LIBC_SONAME, calloc); 228 CALLOC(VG_Z_LIBC_SONAME, calloc);
229 +CALLOC(NONE, calloc);
112 +CALLOC(NONE, tc_calloc); 230 +CALLOC(NONE, tc_calloc);
231 +CALLOC(NONE, sh_calloc);
113 #if defined(VGP_ppc32_aix5) || defined(VGP_ppc64_aix5) 232 #if defined(VGP_ppc32_aix5) || defined(VGP_ppc64_aix5)
114 CALLOC(VG_Z_LIBC_SONAME, calloc_common); 233 CALLOC(VG_Z_LIBC_SONAME, calloc_common);
115 #elif defined(VGO_darwin) 234 #elif defined(VGO_darwin)
116 @@ -523,6 +550,8 @@ 235 @@ -523,6 +587,10 @@
117 } 236 }
118 237
119 REALLOC(VG_Z_LIBC_SONAME, realloc); 238 REALLOC(VG_Z_LIBC_SONAME, realloc);
239 +REALLOC(NONE, realloc);
120 +REALLOC(NONE, tc_realloc); 240 +REALLOC(NONE, tc_realloc);
241 +REALLOC(NONE, sh_realloc);
121 +REALLOC(NONE, PyObject_Realloc); 242 +REALLOC(NONE, PyObject_Realloc);
122 #if defined(VGP_ppc32_aix5) || defined(VGP_ppc64_aix5) 243 #if defined(VGP_ppc32_aix5) || defined(VGP_ppc64_aix5)
123 REALLOC(VG_Z_LIBC_SONAME, realloc_common); 244 REALLOC(VG_Z_LIBC_SONAME, realloc_common);
124 #elif defined(VGO_darwin) 245 #elif defined(VGO_darwin)
125 @@ -579,6 +608,7 @@ 246 @@ -579,6 +647,9 @@
126 } 247 }
127 248
128 MEMALIGN(VG_Z_LIBC_SONAME, memalign); 249 MEMALIGN(VG_Z_LIBC_SONAME, memalign);
250 +MEMALIGN(NONE, memalign);
129 +MEMALIGN(NONE, tc_memalign); 251 +MEMALIGN(NONE, tc_memalign);
252 +MEMALIGN(NONE, sh_memalign);
130 #if defined(VGO_darwin) 253 #if defined(VGO_darwin)
131 ZONEMEMALIGN(VG_Z_LIBC_SONAME, malloc_zone_memalign); 254 ZONEMEMALIGN(VG_Z_LIBC_SONAME, malloc_zone_memalign);
132 #endif 255 #endif
133 @@ -621,6 +651,7 @@ 256 @@ -621,6 +692,9 @@
134 } 257 }
135 258
136 VALLOC(VG_Z_LIBC_SONAME, valloc); 259 VALLOC(VG_Z_LIBC_SONAME, valloc);
260 +VALLOC(NONE, valloc);
137 +VALLOC(NONE, tc_valloc); 261 +VALLOC(NONE, tc_valloc);
262 +VALLOC(NONE, sh_valloc);
138 #if defined(VGO_darwin) 263 #if defined(VGO_darwin)
139 ZONEVALLOC(VG_Z_LIBC_SONAME, malloc_zone_valloc); 264 ZONEVALLOC(VG_Z_LIBC_SONAME, malloc_zone_valloc);
140 #endif 265 #endif
141 @@ -641,6 +672,7 @@ 266 @@ -641,6 +715,8 @@
142 } 267 }
143 268
144 MALLOPT(VG_Z_LIBC_SONAME, mallopt); 269 MALLOPT(VG_Z_LIBC_SONAME, mallopt);
270 +MALLOPT(NONE, mallopt);
145 +MALLOPT(NONE, tc_mallopt); 271 +MALLOPT(NONE, tc_mallopt);
146 272
147 273
148 /*---------------------- malloc_trim ----------------------*/ 274 /*---------------------- malloc_trim ----------------------*/
149 @@ -707,6 +739,7 @@ 275 @@ -677,6 +753,7 @@
276 }
277
278 MALLOC_TRIM(VG_Z_LIBC_SONAME, malloc_trim);
279 +MALLOC_TRIM(NONE, malloc_trim);
280
281
282 /*---------------------- posix_memalign ----------------------*/
283 @@ -707,6 +784,8 @@
150 } 284 }
151 285
152 POSIX_MEMALIGN(VG_Z_LIBC_SONAME, posix_memalign); 286 POSIX_MEMALIGN(VG_Z_LIBC_SONAME, posix_memalign);
287 +POSIX_MEMALIGN(NONE, posix_memalign);
153 +POSIX_MEMALIGN(NONE, tc_posix_memalign); 288 +POSIX_MEMALIGN(NONE, tc_posix_memalign);
154 #if defined(VGP_ppc32_aix5) || defined(VGP_ppc64_aix5) 289 #if defined(VGP_ppc32_aix5) || defined(VGP_ppc64_aix5)
155 /* 27 Nov 07: it appears that xlc links into executables, a 290 /* 27 Nov 07: it appears that xlc links into executables, a
156 posix_memalign, which calls onwards to memalign_common, with the 291 posix_memalign, which calls onwards to memalign_common, with the
157 @@ -791,6 +824,7 @@ 292 @@ -737,6 +816,7 @@
293
294 MALLOC_USABLE_SIZE(VG_Z_LIBC_SONAME, malloc_usable_size);
295 MALLOC_USABLE_SIZE(VG_Z_LIBC_SONAME, malloc_size);
296 +MALLOC_USABLE_SIZE(NONE, malloc_size);
297
298
299 /*---------------------- (unimplemented) ----------------------*/
300 @@ -791,6 +871,8 @@
158 } 301 }
159 302
160 MALLINFO(VG_Z_LIBC_SONAME, mallinfo); 303 MALLINFO(VG_Z_LIBC_SONAME, mallinfo);
304 +MALLINFO(NONE, mallinfo);
161 +MALLINFO(NONE, tc_mallinfo); 305 +MALLINFO(NONE, tc_mallinfo);
162 306
163 307
164 #if defined(VGO_darwin) 308 #if defined(VGO_darwin)
OLDNEW
« no previous file with comments | « binaries/linux_x86/lib/valgrind/vgpreload_memcheck-x86-linux.so ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698