blob: 2c68508f5cbc724e0f3759718157f60e5a1dc859 [file] [log] [blame]
sewardj8eb8bab2015-07-21 14:44:28 +00001# This is a real problem in the Solaris libc. It is caused by a read past the
2# FILE structure. It's an intentional hack to differentiate between two file
3# structures, FILE and xFILE.
4{
5 Solaris:sprintf
6 Memcheck:Cond
7 fun:getxfdat
8 fun:_set_memstream
9 fun:sprintf
10}
11
12# The same problem as above.
13{
14 Solaris:snprintf
15 Memcheck:Cond
16 fun:getxfdat
17 fun:_set_memstream
18 fun:snprintf
19}
20
21# The same problem as above.
22{
23 Solaris:snprintf
24 Memcheck:Cond
25 fun:getxfdat
26 fun:_realbufend
27 fun:_ndoprnt
28 fun:snprintf
29}
30
31# The same problem as above.
32{
33 Solaris:vsnprintf
34 Memcheck:Cond
35 fun:getxfdat
36 fun:_set_memstream
37 fun:vsnprintf
38}
39
40# The same problem as above.
41{
42 Solaris:vsnprintf
43 Memcheck:Cond
44 fun:getxfdat
45 fun:_realbufend
46 fun:_ndoprnt
47 fun:vsnprintf
48}
49
50#----------------------------------------------------------------------------#
51# Solaris libc doesn't deallocate I/O buffers on program exit.
52{
53 Solaris:file_buffer_malloc
54 Memcheck:Leak
55 fun:malloc
56 fun:_findbuf
57 obj:/lib/libc.so.1
58 obj:/lib/libc.so.1
59}
60
61#----------------------------------------------------------------------------#
62# Solaris libc doesn't deallocate netconfig list pointed to by netpp.
63# This includes other allocated structures and strings contained there.
64{
65 Solaris:setnetconfig-fgetnetconfig
66 Memcheck:Leak
67 match-leak-kinds: reachable
68 fun:calloc
69 fun:fgetnetconfig
70 fun:getnetlist
71 fun:setnetconfig
72}
73
74# The same problem as above.
75{
76 Solaris:setnetconfig-fgetnetconfig-getlookups-strdup
77 Memcheck:Leak
78 match-leak-kinds: reachable
79 fun:malloc
80 fun:strdup
81 fun:getlookups
82 fun:fgetnetconfig
83 fun:getnetlist
84 fun:setnetconfig
85}
86
87# The same problem as above.
88{
89 Solaris:setnetconfig-fgetnetconfig-getlookups-malloc
90 Memcheck:Leak
91 match-leak-kinds: reachable
92 fun:malloc
93 fun:getlookups
94 fun:fgetnetconfig
95 fun:getnetlist
96 fun:setnetconfig
97}
98
99# The same problem as above.
100{
101 Solaris:setnetconfig-fgetnetconfig-gettoken
102 Memcheck:Leak
103 match-leak-kinds: reachable
104 fun:malloc
105 fun:strdup
106 fun:gettoken
107 fun:fgetnetconfig
108 fun:getnetlist
109 fun:setnetconfig
110}
111
112# The same problem as above.
113{
114 Solaris:setnetconfig-getnetlist
115 Memcheck:Leak
116 match-leak-kinds: reachable
117 fun:malloc
118 fun:getnetlist
119 fun:setnetconfig
120}
121
122#----------------------------------------------------------------------------#
123# Solaris libc doesn't deallocate static strings netid_tcp_main
124# and netid_tcp_udp allocated in __rpc_getconfip.
125{
126 Solaris:__rpc_getconfip-netid_tcp+udp_main
127 Memcheck:Leak
128 match-leak-kinds: reachable
129 fun:malloc
130 fun:strdup
131 fun:__rpc_getconfip
132}
133
134#----------------------------------------------------------------------------#
135# Solaris libc doesn't deallocate global variable global_gt.
136{
137 Solaris:dgettext
138 Memcheck:Leak
139 match-leak-kinds: reachable
140 fun:calloc
141 fun:dgettext
142}
143
144#----------------------------------------------------------------------------#
145# Solaris libc reinitializes mutex udp->ld_lock in the child's post-fork
146# handler.
147{
148 Solaris:postfork_child_mutex_reinit
149 drd:MutexErr
150 fun:mutex_init
151 fun:postfork1_child
152 fun:forkx
153}
154
155#----------------------------------------------------------------------------#
156# Solaris libc implements pthread barrier with a mutex and a condition
157# variable. In pthread_barrier_wait(), the last thread returning with
158# SERIAL_THREAD first unlocks the mutex and then broadcasts the condition
159# variable. This is ok here because that mutex does not have any priorities
160# associated, therefore no unpredicatble scheduling behaviour can occurr.
161{
162 Solaris:pthread_barrier_wait
163 Helgrind:Misc
164 fun:pthread_cond_broadcast_WRK
165 fun:cond_broadcast
166 fun:pthread_barrier_wait
167}
168