blob: eb7fc2cb4d23c92e9bb19928e074eba3c81e9760 [file] [log] [blame]
daywalker63f6f782003-05-27 00:19:52 +00001
2##----------------------------------------------------------------------##
3
4# Errors to suppress by default with glibc 2.3.x
5
6# Format of this file is:
7# {
8# name_of_suppression
nethercote137bc552003-11-14 17:47:54 +00009# tool_name:supp_kind
daywalker63f6f782003-05-27 00:19:52 +000010# (optional extra info for some suppression types)
11# caller0 name, or /name/of/so/file.so
12# caller1 name, or ditto
13# (optionally: caller2 name)
14# (optionally: caller3 name)
15# }
16#
17# For Memcheck, the supp_kinds are:
18#
njnc0616662003-06-12 09:58:41 +000019# Param Value1 Value2 Value4 Value8 Value16
20# Free Addr1 Addr2 Addr4 Addr8 Addr16
daywalker63f6f782003-05-27 00:19:52 +000021# Cond (previously known as Value0)
22#
23# and the optional extra info is:
24# if Param: name of system call param
25# if Free: name of free-ing fn)
26
daywalker63f6f782003-05-27 00:19:52 +000027{
28 __GI___stpcpy/*
29 Memcheck:Cond
30 fun:__GI___stpcpy
31 fun:*
32}
33{
34 strlen/__GI__dl_open/dlopen_doit
35 Memcheck:Cond
36 fun:strlen
37 fun:__GI__dl_open
38 fun:dlopen_doit
39}
40{
41 strlen/_dl_signal_cerror/_dl_lookup_symbol_internal/do_dlsym
42 Memcheck:Cond
43 fun:_dl_signal_cerror
44 fun:_dl_lookup_symbol_internal
45 fun:do_dlsym
46}
daywalkere1879992003-06-03 14:49:54 +000047{
48 strlen/*dl_map_object*(Cond)
49 Memcheck:Cond
50 fun:strlen
51 fun:*dl_map_object*
52}
daywalker63f6f782003-05-27 00:19:52 +000053
daywalkere1879992003-06-03 14:49:54 +000054{
55 strlen/*dl_open_worker*(Cond)
56 Memcheck:Cond
57 fun:strlen
58 fun:*dl_open_worker*
59}
60{
61 strlen/_dl_sym/dlsym_doit
62 Memcheck:Cond
63 fun:strlen
64 fun:_dl_sym
65 fun:dlsym_doit
66}
67{
68 realpath is inefficiently coded
njnd84bde72003-09-15 07:19:19 +000069 Addrcheck,Memcheck:Overlap
daywalkere1879992003-06-03 14:49:54 +000070 fun:memcpy
daywalker777aff52003-07-18 08:06:27 +000071 fun:realpath*
daywalkere1879992003-06-03 14:49:54 +000072}
73
74{
75 realpath stupidity part II
njnd84bde72003-09-15 07:19:19 +000076 Addrcheck,Memcheck:Overlap
daywalkere1879992003-06-03 14:49:54 +000077 fun:strcpy
daywalker777aff52003-07-18 08:06:27 +000078 fun:realpath*
daywalkere1879992003-06-03 14:49:54 +000079}
80{
81 strlen/decompose_rpath/_dl_map_object
82 Memcheck:Cond
83 fun:strlen
84 fun:decompose_rpath
85 fun:*dl_map_object*
86}
87{
88 stpcpy/_dl_sym*
89 Memcheck:Cond
90 fun:__stpcpy
91 fun:_dl_*
92}
daywalker63f6f782003-05-27 00:19:52 +000093
94#-------- For R H 8.0
95{
96 elf_dynamic_do_rel.7/_dl_relocate_object_internal/dl_open_worker(Cond)
97 Memcheck:Cond
98 fun:elf_dynamic_do_rel.7
99 fun:_dl_relocate_object_internal
100 fun:dl_open_worker
101}
daywalkere1879992003-06-03 14:49:54 +0000102{
103 dl_relocate/dl_open_worker
104 Memcheck:Cond
105 fun:_dl_relocate_object_internal
106 fun:dl_open_worker
107}
108
fitzhardinge1c76dc42003-12-15 09:00:21 +0000109#-------- glibc 2.3.2/ Fedora Core 1
110{
111 dl_relocate/dl_main
112 Memcheck:Cond
113 fun:_dl_relocate_object_internal
114 fun:dl_main
115}
116
rjwalsh923e7d62004-04-29 08:50:44 +0000117#-------- glibc 2.3.3/ Fedora Core 2
118{
119 dl_relocate_object/dl_main
120 Memcheck:Cond
121 fun:_dl_relocate_object
122 fun:dl_main
123}
thughese931fd42004-06-03 18:42:34 +0000124{
125 _dl_relocate_object/dl_open_worker
126 Memcheck:Cond
127 fun:_dl_relocate_object
128 fun:dl_open_worker
129}
rjwalsh923e7d62004-04-29 08:50:44 +0000130
sewardjb5f6f512005-03-10 23:59:00 +0000131#-------- glibc 2.3.4/ Fedora Core 3
132{
133 dl_relocate_object
134 Memcheck:Cond
135 fun:_dl_relocate_object
136}
137
fitzhardinge1c76dc42003-12-15 09:00:21 +0000138#-------- Data races
139{
140 _dl_lookup_symbol_internal/fixup/_dl_runtime_resolve
141 Helgrind:Eraser
142 fun:_dl_lookup_symbol_internal
143 fun:fixup
144 fun:_dl_runtime_resolve
145}
146{
rjwalsh923e7d62004-04-29 08:50:44 +0000147 _dl_lookup_symbol_x/fixup/_dl_runtime_resolve
148 Helgrind:Eraser
149 fun:_dl_lookup_symbol_x
150 fun:fixup
151 fun:_dl_runtime_resolve
152}
153{
fitzhardinge1c76dc42003-12-15 09:00:21 +0000154 _dl_lookup_versioned_symbol_internal/fixup/_dl_runtime_resolve
155 Helgrind:Eraser
156 fun:_dl_lookup_versioned_symbol_internal
157 fun:fixup
158 fun:_dl_runtime_resolve
159}
fitzhardinge47735af2004-01-21 01:27:27 +0000160{
thughes55183872004-02-29 12:42:12 +0000161 _dl_lookup_versioned_symbol/ld-2.3.2.so/ld-2.3.2.so
162 Helgrind:Eraser
163 fun:_dl_lookup_versioned_symbol
164 obj:/lib/ld-2.3.2.so
165 obj:/lib/ld-2.3.2.so
166}
167{
thughes489281a2004-10-31 10:18:23 +0000168 _dl_lookup_symbol/ld-2.3.2.so/ld-2.3.2.so
169 Helgrind:Eraser
170 fun:_dl_lookup_symbol
171 obj:/lib/ld-2.3.2.so
172 obj:/lib/ld-2.3.2.so
173}
174{
fitzhardinge47735af2004-01-21 01:27:27 +0000175 _dl_fini
176 Helgrind:Eraser
177 fun:_dl_fini
178}
thughes489281a2004-10-31 10:18:23 +0000179{
180 ld-2.3.2.so/exit/__libc_start_main
181 Helgrind:Eraser
182 obj:/lib/ld-2.3.2.so
183 fun:exit
184 fun:__libc_start_main
185}
daywalker63f6f782003-05-27 00:19:52 +0000186
187#-------- Threading bugs?
188# glibc 'knows' that destroying a locked mutex will unlock it
189{
fitzhardinge1c76dc42003-12-15 09:00:21 +0000190 pthread_error/pthread_mutex_destroy/__closedir
daywalker63f6f782003-05-27 00:19:52 +0000191 core:PThread
192 fun:pthread_error
fitzhardinge1c76dc42003-12-15 09:00:21 +0000193 fun:pthread_mutex_destroy
daywalker63f6f782003-05-27 00:19:52 +0000194 fun:__closedir
195}
196
197{
fitzhardinge1c76dc42003-12-15 09:00:21 +0000198 pthread_error/pthread_mutex_destroy/_IO_default_finish
daywalker63f6f782003-05-27 00:19:52 +0000199 core:PThread
200 fun:pthread_error
fitzhardinge1c76dc42003-12-15 09:00:21 +0000201 fun:pthread_mutex_destroy
daywalker63f6f782003-05-27 00:19:52 +0000202 fun:_IO_default_finish*
203}
204
205{
fitzhardinge1c76dc42003-12-15 09:00:21 +0000206 pthread_mutex_unlock/_IO_funlockfile
daywalker63f6f782003-05-27 00:19:52 +0000207 core:PThread
fitzhardinge1c76dc42003-12-15 09:00:21 +0000208 fun:pthread_mutex_unlock
daywalker63f6f782003-05-27 00:19:52 +0000209 fun:_IO_funlockfile
210}
211
212##----------------------------------------------------------------------##
sewardj7c874c72003-09-27 21:25:30 +0000213## Bugs in helper library supplied with Intel Icc 7.0 (65)
214## in /opt/intel/compiler70/ia32/lib/libcxa.so.3
215{
216 Intel compiler70/ia32/lib/libcxa.so.3 below-esp accesses
217 Addrcheck,Memcheck:Addr4
218 obj:/opt/intel/compiler70/ia32/lib/libcxa.so.3
219}
jsewardf93e8472003-12-24 11:45:16 +0000220
221##----------------------------------------------------------------------##
222## SuSE 9 after FV changes (post 2.1.0)
223
224{
225 strlen/_dl_init_paths/dl_main/_dl_sysdep_start(Cond)
226 Memcheck:Cond
227 fun:strlen
228 fun:_dl_init_paths
229 fun:dl_main
230 fun:_dl_sysdep_start
231}
232
233{
234 Ugly strchr error in /lib/ld-2.3.2.so
235 Memcheck:Cond
236 obj:/lib/ld-2.3.2.so
237}
fitzhardinge47735af2004-01-21 01:27:27 +0000238
239##----------------------------------------------------------------------##
jseward38276e82004-07-20 22:42:44 +0000240## SuSE 9.1 with post 2.1.2
fitzhardinge47735af2004-01-21 01:27:27 +0000241{
jseward38276e82004-07-20 22:42:44 +0000242 Ugly strchr error in /lib/ld-2.3.3.so
fitzhardinge47735af2004-01-21 01:27:27 +0000243 Memcheck:Cond
jseward38276e82004-07-20 22:42:44 +0000244 obj:/lib/ld-2.3.3.so
fitzhardinge47735af2004-01-21 01:27:27 +0000245}
sewardj0d683fe2005-03-14 19:25:49 +0000246
247##----------------------------------------------------------------------##
248## SuSE 9.1 with 3.0 branch (x86)
249{
250 Strstr dubiousness in pthread_initialize
251 Memcheck:Cond
252 fun:strstr
253 fun:pthread_initialize
254 obj:/lib/libpthread.so.0
255 obj:/lib/libpthread.so.0
256}
257
sewardjb5f6f512005-03-10 23:59:00 +0000258##----------------------------------------------------------------------##
259## glibc-2.3.3 on FC2
260## Assumes that sysctl returns \0-terminated strings in is_smp_system
sewardjf8033c72005-05-16 16:39:28 +0000261#{
262# Unterminated strstr string in is_smp_system() (NPTL)
263# Memcheck:Cond
264# fun:strstr
265# fun:__pthread_initialize_minimal
266# obj:/lib/tls/libpthread*.so*
267# obj:/lib/tls/libpthread*.so*
268#}
269#{
270# Unterminated strstr string in is_smp_system() (LinuxThreads)
271# Memcheck:Cond
272# fun:strstr
273# fun:pthread_initialize
274# obj:/lib/i686/libpthread*.so*
275# obj:/lib/i686/libpthread*.so*
276#}
277#{
278# Unterminated strstr string in is_smp_system() (LinuxThreads)
279# Memcheck:Cond
280# fun:strstr
281# fun:pthread_initialize
282# obj:/lib/libpthread-0.10.so
283# obj:/lib/libpthread-0.10.so
284#}
sewardjb5f6f512005-03-10 23:59:00 +0000285
286## Bug in PRE(sys_clone), really. Some args are not used.
287{
288 LinuxThread clone use (parent_tidptr)
289 Memcheck:Param
290 clone(parent_tidptr)
291 fun:clone
292 fun:pthread_create
293}
294{
295 LinuxThread clone use (child_tidptr)
296 Memcheck:Param
297 clone(child_tidptr)
298 fun:clone
299 fun:pthread_create
300}
301{
302 LinuxThread clone use (tlsinfo)
303 Memcheck:Param
304 clone(tlsinfo)
305 fun:clone
306 fun:pthread_create
307}
308{
309 LinuxThread clone use (parent_tidptr)
310 Memcheck:Param
311 clone(parent_tidptr)
312 fun:clone
313 fun:pthread_create@@GLIBC_2.1
314}
315{
316 LinuxThread clone use (child_tidptr)
317 Memcheck:Param
318 clone(child_tidptr)
319 fun:clone
320 fun:pthread_create@@GLIBC_2.1
321}
322{
323 LinuxThread clone use (tlsinfo)
324 Memcheck:Param
325 clone(tlsinfo)
326 fun:clone
327 fun:pthread_create@@GLIBC_2.1
328}
329
330## LinuxThreads manager writes messages containing undefined bytes
331{
332 LinuxThreads: write/pthread_onexit_process
333 Memcheck:Param
334 write(buf)
335 fun:pthread_onexit_process
336 fun:exit
337}
338{
339 LinuxThreads: write/pthread_join
340 Memcheck:Param
341 write(buf)
342 fun:pthread_join
343}
344{
345 LinuxThreads: write/pthread_create
346 Memcheck:Param
347 write(buf)
348 fun:pthread_create@@GLIBC_2.1
349}
350{
351 LinuxThreads: write/__pthread_initialize_manager/pthread_create
352 Memcheck:Param
353 write(buf)
354 fun:__pthread_initialize_manager
355 fun:pthread_create@@GLIBC_2.1
356}
357
358{
359 LinuxThreads: write/pthread_create
360 Memcheck:Param
361 write(buf)
362 fun:write
363 fun:pthread_create
364}
365
tomf7e9d872005-08-20 12:05:32 +0000366## LinuxThreads leaks the stack and TLS data for the manager thread
367{
368 LinuxThreads: leaks stack of manager thread
369 Memcheck:Leak
370 fun:malloc
371 fun:__pthread_initialize_manager
372 fun:pthread_create@@GLIBC_2.1
373}
374{
375 LinuxThreads: leaks TLS data for manager thread
376 Memcheck:Leak
377 fun:calloc
378 fun:_dl_allocate_tls
379 fun:__pthread_initialize_minimal
380}
381{
382 LinuxThreads: leaks TLS data for manager thread
383 Memcheck:Leak
384 fun:memalign
385 fun:_dl_allocate_tls
386 fun:__pthread_initialize_minimal
387}
388
sewardjb5f6f512005-03-10 23:59:00 +0000389##----------------------------------------------------------------------##
390## glibc-2.3.4 on FC3
391## Assumes that sysctl returns \0-terminated strings in is_smp_system
sewardjf8033c72005-05-16 16:39:28 +0000392#{
393# Unterminated strstr string in is_smp_system() (NPTL)
394# Memcheck:Cond
395# fun:strstr
396# fun:__pthread_initialize_minimal
397# obj:/lib/tls/libpthread-2.3.4.so
398# obj:/lib/tls/libpthread-2.3.4.so
399#}
400#{
401# Unterminated strstr string in is_smp_system() (NPTL)
402# Memcheck:Cond
403# fun:strstr
404# fun:__pthread_initialize_minimal
405# obj:/lib64/tls/libpthread*.so*
406#}
sewardj24b46342005-05-12 18:00:12 +0000407
sewardj917701d2005-05-15 17:18:40 +0000408##----------------------------------------------------------------------##
409## glibc-2.3.5 on FC4
410## Assumes that sysctl returns \0-terminated strings in is_smp_system
sewardjf8033c72005-05-16 16:39:28 +0000411#{
412# Unterminated strstr string in is_smp_system() (NPTL)
413# Memcheck:Cond
414# fun:strstr
415# fun:__pthread_initialize_minimal
416# obj:*/libpthread-2.3.5.so
417# obj:*/libpthread-2.3.5.so
418#}
sewardj24b46342005-05-12 18:00:12 +0000419
420
421##----------------------------------------------------------------------##
sewardj31d83422005-10-15 02:00:41 +0000422## glibc-2.3.5 on SuSE 10.0 (PPC)
423#
424# I don't know why this is needed, but still:
425{
426 glibc-2.3.5-on-SuSE-10.0-(PPC)-1
427 Memcheck:Cond
428 fun:_dl_start
429 fun:_start
430}
431
432
433##----------------------------------------------------------------------##
sewardj24b46342005-05-12 18:00:12 +0000434# Hacks pertaining to the fact that our intercept mechanism can't
435# always get hold of strlen early enough, due to idiocy in the low
436# level memory manager.
437
438## HACK to do with strlen not being intercepted early enough
439{
440 strlen-not-intercepted-early-enough-HACK-1
441 Memcheck:Addr4
442 fun:strlen
443 fun:_dl_map_object_from_fd
444 fun:_dl_map_object
445}
446
447{
448 strlen-not-intercepted-early-enough-HACK-2
449 Memcheck:Addr4
450 fun:strlen
451 fun:decompose_rpath
452 fun:cache_rpath
453 fun:_dl_map_object
454}
455
456{
457 strlen-not-intercepted-early-enough-HACK-3
458 Memcheck:Cond
459 fun:strlen
460 fun:_dl_new_object
461 fun:_dl_map_object_from_fd
462 fun:_dl_map_object
463}
464
465{
466 strlen-not-intercepted-early-enough-HACK-4
467 Memcheck:Cond
468 fun:strlen
469 fun:expand_dynamic_string_token
470 fun:_dl_map_object
471}
472
473{
474 strlen-not-intercepted-early-enough-HACK-5
475 Memcheck:Cond
476 fun:strlen
477 fun:fillin_rpath
478 fun:_dl_init_paths
479}
480
481
482## HACK to do with index not being intercepted early enough
483{
484 index-not-intercepted-early-enough-HACK-1
485 Memcheck:Cond
486 fun:index
dirk59b559a2005-08-19 20:23:49 +0000487 obj:*
sewardj24b46342005-05-12 18:00:12 +0000488 fun:_dl_map_object
489}
490{
491 index-not-intercepted-early-enough-HACK-2
492 Memcheck:Cond
493 fun:index
494 fun:_dl_map_object
dirk59b559a2005-08-19 20:23:49 +0000495 obj:*
sewardj24b46342005-05-12 18:00:12 +0000496 fun:_dl_catch_error
497}
498{
499 index-not-intercepted-early-enough-HACK-3
500 Memcheck:Cond
501 fun:index
502 fun:_dl_map_object
dirk59b559a2005-08-19 20:23:49 +0000503 obj:*
sewardj24b46342005-05-12 18:00:12 +0000504 fun:_dl_sysdep_start
505}