1#
2# Suppressions to use when debugging freeciv memory problems with valgrind.
3#
4
5
6# Suppressions for ncurses problems (ncurses is used by readline)
7# Some of these work for only one exact ncurses version, as version number
8# is part of .so -file name.
9{
10   ncurses suppression #2
11   Memcheck:Leak
12   fun:malloc
13   fun:strdup
14   fun:_nc_setupterm
15   fun:tgetent
16   fun:_rl_init_terminal_io
17   fun:rl_initialize
18}
19
20{
21   ncurses suppression #3
22   Memcheck:Leak
23   fun:malloc
24   fun:_nc_home_terminfo
25   fun:_nc_next_db
26   fun:_nc_read_entry
27   fun:_nc_setupterm
28   fun:tgetent
29   fun:_rl_init_terminal_io
30   fun:rl_initialize
31}
32
33{
34   ncurses suppression #4
35   Memcheck:Leak
36   fun:calloc
37   fun:_nc_read_termtype
38   fun:_nc_read_file_entry
39   fun:_nc_read_entry
40   fun:_nc_setupterm
41   fun:tgetent
42   fun:_rl_init_terminal_io
43   fun:rl_initialize
44}
45
46{
47   ncurses suppression #6
48   Memcheck:Leak
49   fun:calloc
50   fun:_nc_setupterm
51   fun:tgetent
52   fun:_rl_init_terminal_io
53   fun:rl_initialize
54}
55
56{
57   ncurses suppression #7
58   Memcheck:Leak
59   fun:malloc
60   fun:_nc_read_termtype
61   fun:_nc_read_file_entry
62   fun:_nc_read_entry
63   fun:_nc_setupterm
64   fun:tgetent
65   fun:_rl_init_terminal_io
66   fun:rl_initialize
67}
68
69{
70   ncurses suppression #8
71   Memcheck:Leak
72   fun:realloc
73   fun:xrealloc
74   fun:rl_add_funmap_entry
75   fun:rl_initialize_funmap
76   fun:rl_initialize
77}
78
79{
80   ncurses suppression #9
81   Memcheck:Leak
82   match-leak-kinds: reachable
83   fun:malloc
84   fun:strdup
85   obj:/lib/x86_64-linux-gnu/libtinfo.so.5.9
86   fun:_nc_first_db
87   fun:_nc_read_entry
88   fun:_nc_setup_tinfo
89   fun:_nc_setupterm
90   fun:tgetent
91   fun:_rl_init_terminal_io
92   fun:rl_initialize
93}
94
95{
96   ncurses suppression #10
97   Memcheck:Leak
98   match-leak-kinds: reachable
99   fun:realloc
100   fun:_nc_doalloc
101   fun:tparm
102   obj:/lib/x86_64-linux-gnu/libtinfo.so.5.9
103   fun:_nc_trim_sgr0
104   fun:tgetent
105   fun:_rl_init_terminal_io
106   fun:rl_initialize
107   fun:server_sniff_all_input
108   fun:srv_main
109   fun:main
110}
111
112{
113   ncurses suppression #11
114   Memcheck:Leak
115   match-leak-kinds: reachable
116   fun:malloc
117   fun:_nc_home_terminfo
118   fun:_nc_first_db
119   fun:_nc_read_entry
120   fun:_nc_setup_tinfo
121   fun:_nc_setupterm
122   fun:tgetent
123   fun:_rl_init_terminal_io
124   fun:rl_initialize
125}
126
127{
128   ncurses suppression #12
129   Memcheck:Leak
130   match-leak-kinds: reachable
131   fun:malloc
132   fun:_nc_read_termtype
133   obj:/lib/x86_64-linux-gnu/libtinfo.so.5.9
134   fun:_nc_read_entry
135   fun:_nc_setup_tinfo
136   fun:_nc_setupterm
137   fun:tgetent
138   fun:_rl_init_terminal_io
139   fun:rl_initialize
140}
141
142{
143   ncurses suppression #13
144   Memcheck:Leak
145   match-leak-kinds: reachable
146   fun:realloc
147   fun:_nc_doalloc
148   fun:_nc_read_termtype
149   obj:/lib/x86_64-linux-gnu/libtinfo.so.5.9
150   fun:_nc_read_entry
151   fun:_nc_setup_tinfo
152   fun:_nc_setupterm
153   fun:tgetent
154   fun:_rl_init_terminal_io
155   fun:rl_initialize
156}
157
158{
159   ncurses suppression #14
160   Memcheck:Leak
161   match-leak-kinds: reachable
162   fun:calloc
163   fun:_nc_first_db
164   fun:_nc_read_entry
165   fun:_nc_setup_tinfo
166   fun:_nc_setupterm
167   fun:tgetent
168   fun:_rl_init_terminal_io
169   fun:rl_initialize
170}
171
172{
173   ncurses suppression #15
174   Memcheck:Leak
175   match-leak-kinds: reachable
176   fun:realloc
177   fun:_nc_doalloc
178   fun:_nc_read_termtype
179   obj:/lib/x86_64-linux-gnu/libtinfo.so.5.9
180   fun:_nc_read_entry
181   fun:_nc_setup_tinfo
182   fun:_nc_setupterm
183   fun:tgetent
184   fun:_rl_init_terminal_io
185   fun:rl_initialize
186}
187
188{
189   ncurses suppression #16
190   Memcheck:Leak
191   match-leak-kinds: reachable
192   fun:malloc
193   fun:_nc_tparm_analyze
194   fun:tparm
195   obj:/lib/x86_64-linux-gnu/libtinfo.so.5.9
196   fun:_nc_trim_sgr0
197   fun:tgetent
198   fun:_rl_init_terminal_io
199   fun:rl_initialize
200}
201
202{
203   ncurses suppression #17
204   Memcheck:Leak
205   match-leak-kinds: reachable
206   fun:malloc
207   fun:_nc_first_db
208   fun:_nc_read_entry
209   fun:_nc_setup_tinfo
210   fun:_nc_setupterm
211   fun:tgetent
212   fun:_rl_init_terminal_io
213   fun:rl_initialize
214}
215
216{
217   ncurses suppression #18
218   Memcheck:Leak
219   match-leak-kinds: reachable
220   fun:calloc
221   fun:_nc_read_termtype
222   obj:/lib/x86_64-linux-gnu/libtinfo.so.5.9
223   fun:_nc_read_entry
224   fun:_nc_setup_tinfo
225   fun:_nc_setupterm
226   fun:tgetent
227   fun:_rl_init_terminal_io
228   fun:rl_initialize
229}
230
231{
232   ncurses suppression #19
233   Memcheck:Leak
234   match-leak-kinds: reachable
235   fun:malloc
236   fun:_nc_read_termtype
237   obj:/lib/x86_64-linux-gnu/libtinfo.so.5.9
238   fun:_nc_read_entry
239   fun:_nc_setup_tinfo
240   fun:_nc_setupterm
241   fun:tgetent
242   fun:_rl_init_terminal_io
243   fun:rl_initialize
244}
245
246
247# Suppression for zlib version 1.2.3.4 problem.
248# This is reportedly fixed in latest zlib versions.
249{
250   zlib suppression
251   Memcheck:Cond
252   fun:inflateReset2
253   fun:inflateInit2_
254}
255
256
257# Suppressions for readline problems. This does not cover ncurses related
258# problems even when it's being called by readline. Ncurses suppressions were above.
259
260{
261   readline suppression #1
262   Memcheck:Leak
263   match-leak-kinds: reachable
264   fun:malloc
265   fun:xmalloc
266   fun:rl_set_prompt
267   fun:rl_callback_handler_install
268}
269
270{
271   readline suppression #2
272   Memcheck:Leak
273   match-leak-kinds: reachable
274   fun:malloc
275   fun:xmalloc
276   obj:/lib/x86_64-linux-gnu/libreadline.so.6.3
277   fun:rl_expand_prompt
278   fun:rl_set_prompt
279   fun:rl_callback_handler_install
280}
281
282{
283   readline suppression #3
284   Memcheck:Leak
285   match-leak-kinds: reachable
286   fun:malloc
287   fun:strdup
288   fun:_nc_trim_sgr0
289   fun:tgetent
290   fun:_rl_init_terminal_io
291   fun:rl_initialize
292}
293
294{
295   readline suppression #4
296   Memcheck:Leak
297   match-leak-kinds: reachable
298   fun:malloc
299   fun:xmalloc
300   obj:/lib/x86_64-linux-gnu/libreadline.so.6.3
301   fun:rl_initialize
302}
303
304{
305   readline suppression #5
306   Memcheck:Leak
307   match-leak-kinds: reachable
308   fun:malloc
309   fun:rl_initialize
310}
311
312{
313   readline suppression #6
314   Memcheck:Leak
315   match-leak-kinds: reachable
316   fun:malloc
317   fun:xmalloc
318   obj:/lib/x86_64-linux-gnu/libreadline.so.6.3
319   fun:rl_parse_and_bind
320   obj:/lib/x86_64-linux-gnu/libreadline.so.6.3
321   fun:rl_initialize
322}
323
324{
325   readline suppression #7
326   Memcheck:Leak
327   match-leak-kinds: reachable
328   fun:malloc
329   fun:xmalloc
330   fun:rl_initialize
331}
332
333{
334   readline suppression #8
335   Memcheck:Leak
336   match-leak-kinds: reachable
337   fun:malloc
338   fun:xmalloc
339   obj:/lib/x86_64-linux-gnu/libreadline.so.6.3
340   fun:rl_redisplay
341   fun:readline_internal_setup
342   obj:/lib/x86_64-linux-gnu/libreadline.so.6.3
343}
344
345{
346   readline suppression #9
347   Memcheck:Leak
348   match-leak-kinds: reachable
349   fun:malloc
350   fun:xmalloc
351   obj:/lib/x86_64-linux-gnu/libreadline.so.6.3
352   fun:rl_redisplay
353   fun:readline_internal_setup
354   obj:/lib/x86_64-linux-gnu/libreadline.so.6.3
355}
356
357{
358   readline suppression #10
359   Memcheck:Leak
360   match-leak-kinds: reachable
361   fun:malloc
362   fun:xmalloc
363   fun:alloc_history_entry
364   fun:add_history
365   fun:read_history_range
366}
367
368{
369   readline suppression #11
370   Memcheck:Leak
371   match-leak-kinds: reachable
372   fun:realloc
373   fun:xrealloc
374   fun:add_history
375   fun:read_history_range
376}
377
378{
379   readline suppression #12
380   Memcheck:Leak
381   match-leak-kinds: reachable
382   fun:malloc
383   fun:xmalloc
384   fun:_rl_init_terminal_io
385   fun:rl_initialize
386}
387
388{
389   readline suppression #13
390   Memcheck:Leak
391   match-leak-kinds: reachable
392   fun:malloc
393   fun:xmalloc
394   fun:rl_add_funmap_entry
395   fun:rl_initialize_funmap
396   fun:rl_initialize
397}
398
399{
400   readline suppression #14
401   Memcheck:Leak
402   match-leak-kinds: reachable
403   fun:malloc
404   fun:xmalloc
405   fun:rl_make_bare_keymap
406   fun:rl_generic_bind
407   obj:/lib/x86_64-linux-gnu/libreadline.so.6.3
408   fun:_rl_init_terminal_io
409   fun:rl_initialize
410}
411