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

Side by Side Diff: scripts/intercept_tcmalloc.patch

Issue 6821070: Remove unused .patch files (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/deps/third_party/valgrind/
Patch Set: Created 9 years, 8 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 | « scripts/fork.10.6.patch ('k') | scripts/limits.patch » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 Index: coregrind/m_replacemalloc/vg_replace_malloc.c
2 ===================================================================
3 --- coregrind/m_replacemalloc/vg_replace_malloc.c (revision 11055)
4 +++ coregrind/m_replacemalloc/vg_replace_malloc.c (working copy)
5 @@ -234,6 +234,23 @@
6 // malloc
7 ALLOC_or_NULL(VG_Z_LIBSTDCXX_SONAME, malloc, malloc);
8 ALLOC_or_NULL(VG_Z_LIBC_SONAME, malloc, malloc);
9 +// Handle libtcmalloc's malloc() function.
10 +// Similar interceptors are added below to handle other libtcmalloc
11 +// allocation/deallocation functions.
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.
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);
24 +// Handle Python's malloc.
25 +ALLOC_or_NULL(NONE, PyObject_Malloc, malloc);
26 #if defined(VGP_ppc32_aix5) || defined(VGP_ppc64_aix5)
27 ALLOC_or_NULL(VG_Z_LIBC_SONAME, malloc_common, malloc);
28 #elif defined(VGO_darwin)
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 @@
55 ALLOC_or_BOMB(VG_Z_LIBC_DOT_A, __nw__FUl, __builtin_new);
56 #endif
57
58 +// libtcmalloc's new
59 +ALLOC_or_BOMB(NONE, tc_new, __builtin_new);
60
61 +
62 /*---------------------- new nothrow ----------------------*/
63
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 @@
80 ALLOC_or_NULL(VG_Z_LIBC_DOT_A, __nw__FUlRCQ2_3std9nothrow_t, __builtin_new) ;
81 #endif
82
83 +// libtcmalloc's new nothrow
84 +ALLOC_or_NULL(NONE, tc_new_nothrow, __builtin_new);
85
86 +
87 /*---------------------- new [] ----------------------*/
88
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 @@
110 ALLOC_or_BOMB(VG_Z_LIBC_DOT_A, __vn__FUl, __builtin_vec_new);
111 #endif
112
113 +// libtcmalloc's new []
114 +ALLOC_or_BOMB(NONE, tc_newarray, __builtin_vec_new);
115
116 +
117 /*---------------------- new [] nothrow ----------------------*/
118
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 @@
135 ALLOC_or_BOMB(VG_Z_LIBC_DOT_A, __vn__FUlRCQ2_3std9nothrow_t, __builtin_vec_n ew );
136 #endif
137
138 +// libtcmalloc's new [] nothrow
139 +ALLOC_or_NULL(NONE, tc_newarray_nothrow, __builtin_vec_new);
140
141 +
142 /*---------------------- free ----------------------*/
143
144 /* Generate a replacement for 'fnname' in object 'soname', which calls
145 @@ -364,6 +404,10 @@
146 // free
147 FREE(VG_Z_LIBSTDCXX_SONAME, free, free );
148 FREE(VG_Z_LIBC_SONAME, free, free );
149 +FREE(NONE, free, free );
150 +FREE(NONE, sh_free, free );
151 +FREE(NONE, tc_free, free );
152 +FREE(NONE, PyObject_Free, free );
153 #if defined(VGP_ppc32_aix5) || defined(VGP_ppc64_aix5)
154 FREE(VG_Z_LIBC_SONAME, free_common, free );
155 #elif defined(VGO_darwin)
156 @@ -376,43 +420,57 @@
157 // cfree
158 FREE(VG_Z_LIBSTDCXX_SONAME, cfree, free );
159 FREE(VG_Z_LIBC_SONAME, cfree, free );
160 +FREE(NONE, cfree, free );
161 +FREE(NONE, tc_cfree, free );
162 +FREE(NONE, sh_cfree, free );
163
164
165 /*---------------------- delete ----------------------*/
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)
178 FREE(VG_Z_LIBC_DOT_A, __dl__FPv, __builtin_delete );
179 #endif
180
181 +// libtcmalloc's delete
182 +FREE(NONE, tc_delete, __builtin_delete);
183
184 +
185 /*---------------------- delete nothrow ----------------------*/
186
187 // operator delete(void*, std::nothrow_t const&), GNU mangling
188 FREE(VG_Z_LIBSTDCXX_SONAME, _ZdlPvRKSt9nothrow_t, __builtin_delete );
189 FREE(VG_Z_LIBC_SONAME, _ZdlPvRKSt9nothrow_t, __builtin_delete );
190 +FREE(NONE, _ZdlPvRKSt9nothrow_t, __builtin_delete );
191 +// libtcmalloc's delete nothrow
192 +FREE(NONE, tc_delete_nothrow, __builtin_delete);
193
194 -
195 /*---------------------- delete [] ----------------------*/
196 // operator delete[](void*), not mangled (for gcc 2.96)
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)
208 FREE(VG_Z_LIBC_DOT_A, __vd__FPv, __builtin_vec_delete );
209 #endif
210 +// libtcmalloc's delete []
211 +FREE(NONE, tc_deletearray, __builtin_vec_delete);
212
213
214 /*---------------------- delete [] nothrow ----------------------*/
215 @@ -420,6 +478,9 @@
216 // operator delete[](void*, std::nothrow_t const&), GNU mangling
217 FREE(VG_Z_LIBSTDCXX_SONAME, _ZdaPvRKSt9nothrow_t, __builtin_vec_delete );
218 FREE(VG_Z_LIBC_SONAME, _ZdaPvRKSt9nothrow_t, __builtin_vec_delete );
219 +FREE(NONE, _ZdaPvRKSt9nothrow_t, __builtin_vec_delete );
220 +// libtcmalloc's delete [] nothrow
221 +FREE(NONE, tc_deletearray_nothrow, __builtin_vec_delete);
222
223
224 /*---------------------- calloc ----------------------*/
225 @@ -465,6 +526,9 @@
226 }
227
228 CALLOC(VG_Z_LIBC_SONAME, calloc);
229 +CALLOC(NONE, calloc);
230 +CALLOC(NONE, tc_calloc);
231 +CALLOC(NONE, sh_calloc);
232 #if defined(VGP_ppc32_aix5) || defined(VGP_ppc64_aix5)
233 CALLOC(VG_Z_LIBC_SONAME, calloc_common);
234 #elif defined(VGO_darwin)
235 @@ -523,6 +587,10 @@
236 }
237
238 REALLOC(VG_Z_LIBC_SONAME, realloc);
239 +REALLOC(NONE, realloc);
240 +REALLOC(NONE, tc_realloc);
241 +REALLOC(NONE, sh_realloc);
242 +REALLOC(NONE, PyObject_Realloc);
243 #if defined(VGP_ppc32_aix5) || defined(VGP_ppc64_aix5)
244 REALLOC(VG_Z_LIBC_SONAME, realloc_common);
245 #elif defined(VGO_darwin)
246 @@ -579,6 +647,9 @@
247 }
248
249 MEMALIGN(VG_Z_LIBC_SONAME, memalign);
250 +MEMALIGN(NONE, memalign);
251 +MEMALIGN(NONE, tc_memalign);
252 +MEMALIGN(NONE, sh_memalign);
253 #if defined(VGO_darwin)
254 ZONEMEMALIGN(VG_Z_LIBC_SONAME, malloc_zone_memalign);
255 #endif
256 @@ -621,6 +692,9 @@
257 }
258
259 VALLOC(VG_Z_LIBC_SONAME, valloc);
260 +VALLOC(NONE, valloc);
261 +VALLOC(NONE, tc_valloc);
262 +VALLOC(NONE, sh_valloc);
263 #if defined(VGO_darwin)
264 ZONEVALLOC(VG_Z_LIBC_SONAME, malloc_zone_valloc);
265 #endif
266 @@ -641,6 +715,8 @@
267 }
268
269 MALLOPT(VG_Z_LIBC_SONAME, mallopt);
270 +MALLOPT(NONE, mallopt);
271 +MALLOPT(NONE, tc_mallopt);
272
273
274 /*---------------------- malloc_trim ----------------------*/
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 @@
284 }
285
286 POSIX_MEMALIGN(VG_Z_LIBC_SONAME, posix_memalign);
287 +POSIX_MEMALIGN(NONE, posix_memalign);
288 +POSIX_MEMALIGN(NONE, tc_posix_memalign);
289 #if defined(VGP_ppc32_aix5) || defined(VGP_ppc64_aix5)
290 /* 27 Nov 07: it appears that xlc links into executables, a
291 posix_memalign, which calls onwards to memalign_common, with the
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 @@
301 }
302
303 MALLINFO(VG_Z_LIBC_SONAME, mallinfo);
304 +MALLINFO(NONE, mallinfo);
305 +MALLINFO(NONE, tc_mallinfo);
306
307
308 #if defined(VGO_darwin)
OLDNEW
« no previous file with comments | « scripts/fork.10.6.patch ('k') | scripts/limits.patch » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698