gobry | 3b77789 | 2002-04-04 09:18:39 +0000 | [diff] [blame] | 1 | |
| 2 | ##----------------------------------------------------------------------## |
| 3 | |
sewardj | 4532839 | 2002-05-16 20:57:26 +0000 | [diff] [blame] | 4 | # Errors to suppress by default with glibc 2.2.4 / 2.2.5 |
gobry | 3b77789 | 2002-04-04 09:18:39 +0000 | [diff] [blame] | 5 | |
| 6 | # Format of this file is: |
| 7 | # { |
| 8 | # name_of_suppression |
| 9 | # kind: one of Param Value1 Value2 Value4 Value8 |
| 10 | # Free Addr1 Addr2 Addr4 Addr8 |
| 11 | # Cond (previously known as Value0) |
| 12 | # (if Param: name of system call param, if Free: name of free-ing fn) |
| 13 | # caller0 name, or /name/of/so/file.so |
| 14 | # caller1 name, or ditto |
| 15 | # (optionally: caller2 name) |
| 16 | # (optionally: caller3 name) |
sewardj | 9bf05a8 | 2002-06-06 09:02:11 +0000 | [diff] [blame] | 17 | # } |
| 18 | |
sewardj | 20719f6 | 2002-09-27 00:58:10 +0000 | [diff] [blame] | 19 | #-------- SuSE 8.1 stuff (gcc-3.2, glibc-2.2.5 + SuSE's hacks) |
| 20 | { |
| 21 | __stpcpy/* |
| 22 | Cond |
| 23 | fun:__stpcpy |
| 24 | fun:* |
| 25 | } |
| 26 | { |
| 27 | strlen/decompose_rpath/_dl_map_object |
| 28 | Cond |
| 29 | fun:strlen |
| 30 | fun:decompose_rpath |
| 31 | fun:_dl_map_object |
| 32 | } |
| 33 | { |
| 34 | strlen/_dl_sym/dlsym_doit |
| 35 | Cond |
| 36 | fun:strlen |
| 37 | fun:_dl_sym |
| 38 | fun:dlsym_doit |
| 39 | } |
| 40 | { |
| 41 | trecurse/__gconv_release_shlib(Addr4) |
| 42 | Addr4 |
| 43 | fun:trecurse |
| 44 | fun:__gconv_release_shlib |
| 45 | } |
| 46 | { |
| 47 | do_release_shlib/trecurse(Addr4) |
| 48 | Addr4 |
| 49 | fun:do_release_shlib |
| 50 | fun:trecurse |
| 51 | } |
| 52 | |
sewardj | 7545264 | 2002-07-25 02:21:53 +0000 | [diff] [blame] | 53 | #-------- R H Limbo (glibc-2.2.90) stuff |
| 54 | { |
| 55 | elf_dynamic_do_rela.8/_dl_relocate_object_internal |
| 56 | Cond |
| 57 | fun:elf_dynamic_do_rela.8 |
| 58 | fun:_dl_relocate_object_internal |
| 59 | } |
| 60 | |
| 61 | { |
| 62 | __strnlen/_nl_make_l10nflist(Cond) |
| 63 | Cond |
| 64 | fun:__strnlen |
| 65 | fun:_nl_make_l10nflist |
| 66 | } |
| 67 | |
| 68 | { |
| 69 | __strnlen/*vfprintf* |
| 70 | Cond |
| 71 | fun:__strnlen |
| 72 | fun:*vfprintf* |
| 73 | } |
| 74 | |
| 75 | { |
| 76 | libXaw.so.7.0(Cond) |
| 77 | Cond |
| 78 | obj:*libXaw.so.7.0 |
| 79 | } |
sewardj | 9bf05a8 | 2002-06-06 09:02:11 +0000 | [diff] [blame] | 80 | |
sewardj | 1fe7b00 | 2002-07-16 01:43:15 +0000 | [diff] [blame] | 81 | #-------- Suppress errors appearing as a result of calling |
| 82 | #-------- __libc_freeres() |
| 83 | |
| 84 | { |
| 85 | __twalk/*(Addr4) |
| 86 | Addr4 |
| 87 | fun:__twalk |
| 88 | } |
| 89 | |
| 90 | { |
| 91 | do_release_shlib/__twalk(Addr4) |
| 92 | Addr4 |
| 93 | fun:do_release_shlib |
| 94 | fun:__twalk |
| 95 | } |
| 96 | |
| 97 | { |
| 98 | __libc_freeres/free_mem/free(Free) |
| 99 | Free |
| 100 | fun:free |
| 101 | fun:free_mem |
| 102 | fun:__libc_freeres |
| 103 | } |
| 104 | |
njn25 | e49d8e7 | 2002-09-23 09:36:25 +0000 | [diff] [blame] | 105 | #-------- Data races |
| 106 | #{ |
| 107 | # _dl_lookup_symbol/fixup/_dl_runtime_resolve |
| 108 | # Eraser |
| 109 | # fun:_dl_lookup_symbol |
| 110 | # fun:fixup |
| 111 | # fun:_dl_runtime_resolve |
| 112 | #} |
| 113 | # |
| 114 | #{ |
| 115 | # _dl_lookup_versioned_symbol/fixup/_dl_runtime_resolve |
| 116 | # Eraser |
| 117 | # fun:_dl_lookup_versioned_symbol |
| 118 | # fun:fixup |
| 119 | # fun:_dl_runtime_resolve |
| 120 | #} |
sewardj | 9bf05a8 | 2002-06-06 09:02:11 +0000 | [diff] [blame] | 121 | |
njn25 | e49d8e7 | 2002-09-23 09:36:25 +0000 | [diff] [blame] | 122 | #-------- Threading bugs? |
sewardj | 9bf05a8 | 2002-06-06 09:02:11 +0000 | [diff] [blame] | 123 | { |
| 124 | pthread_error/__pthread_mutex_destroy/__closedir |
| 125 | PThread |
| 126 | fun:pthread_error |
| 127 | fun:__pthread_mutex_destroy |
| 128 | fun:__closedir |
| 129 | } |
| 130 | |
| 131 | { |
| 132 | pthread_error/__pthread_mutex_destroy/_IO_default_finish |
| 133 | PThread |
| 134 | fun:pthread_error |
| 135 | fun:__pthread_mutex_destroy |
sewardj | 924bc00 | 2002-06-07 00:29:39 +0000 | [diff] [blame] | 136 | fun:_IO_default_finish* |
sewardj | 9bf05a8 | 2002-06-06 09:02:11 +0000 | [diff] [blame] | 137 | } |
| 138 | |
| 139 | { |
| 140 | __pthread_mutex_unlock/_IO_funlockfile |
| 141 | PThread |
| 142 | fun:__pthread_mutex_unlock |
| 143 | fun:_IO_funlockfile |
| 144 | } |
gobry | 3b77789 | 2002-04-04 09:18:39 +0000 | [diff] [blame] | 145 | |
sewardj | 4dced35 | 2002-06-04 22:54:20 +0000 | [diff] [blame] | 146 | { |
| 147 | __pthread_mutex_unlock/__register_frame_info |
| 148 | PThread |
| 149 | fun:__pthread_mutex_unlock |
| 150 | fun:__register_frame_info |
| 151 | } |
gobry | 3b77789 | 2002-04-04 09:18:39 +0000 | [diff] [blame] | 152 | |
| 153 | # even more glibc suppressions ? |
| 154 | { |
| 155 | libc-2.2.4.so/libc-2.2.4.so/libc-2.2.4.so(Cond) |
| 156 | Cond |
sewardj | 4532839 | 2002-05-16 20:57:26 +0000 | [diff] [blame] | 157 | obj:*libc-2.2.?.so |
| 158 | obj:*libc-2.2.?.so |
| 159 | obj:*libc-2.2.?.so |
gobry | 3b77789 | 2002-04-04 09:18:39 +0000 | [diff] [blame] | 160 | } |
| 161 | { |
| 162 | libc-2.2.4.so/libc-2.2.4.so/libc-2.2.4.so(Value4) |
| 163 | Value4 |
sewardj | 4532839 | 2002-05-16 20:57:26 +0000 | [diff] [blame] | 164 | obj:*libc-2.2.?.so |
| 165 | obj:*libc-2.2.?.so |
| 166 | obj:*libc-2.2.?.so |
gobry | 3b77789 | 2002-04-04 09:18:39 +0000 | [diff] [blame] | 167 | } |
| 168 | |
| 169 | ##### glibc 2.2.5 stuff perhaps? |
| 170 | ##### suppressions for coolo |
| 171 | { |
| 172 | strchr/dl_open_worker(Cond) |
| 173 | Cond |
| 174 | fun:strchr |
| 175 | fun:dl_open_worker |
| 176 | } |
| 177 | { |
sewardj | b55fc4e | 2002-07-14 13:04:38 +0000 | [diff] [blame] | 178 | __rawmemchr(Cond) |
gobry | 3b77789 | 2002-04-04 09:18:39 +0000 | [diff] [blame] | 179 | Cond |
| 180 | fun:__rawmemchr |
gobry | 3b77789 | 2002-04-04 09:18:39 +0000 | [diff] [blame] | 181 | } |
| 182 | { |
| 183 | _IO_vfprintf/__strnlen(Cond) |
| 184 | Cond |
| 185 | fun:__strnlen |
| 186 | fun:_IO_vfprintf |
| 187 | } |
| 188 | { |
| 189 | __strchrnul/gethostbyname*(Cond) |
| 190 | Cond |
| 191 | fun:__strchrnul |
| 192 | fun:gethostbyname* |
| 193 | } |
| 194 | |
| 195 | |
| 196 | ##---- |
| 197 | { |
| 198 | strlen/*dl_map_object*(Cond) |
| 199 | Cond |
| 200 | fun:strlen |
| 201 | fun:*dl_map_object* |
| 202 | } |
| 203 | |
| 204 | { |
| 205 | strlen/*dl_open_worker*(Cond) |
| 206 | Cond |
| 207 | fun:strlen |
| 208 | fun:*dl_open_worker* |
| 209 | } |
| 210 | |
| 211 | { |
| 212 | *rawmemchr*/*nss*(Cond) |
| 213 | Cond |
| 214 | fun:*rawmemchr* |
| 215 | fun:*nss* |
| 216 | } |
| 217 | |
| 218 | { |
| 219 | *strchrnul*/*nss*(Cond) |
| 220 | Cond |
| 221 | fun:*strchrnul* |
| 222 | fun:*nss* |
| 223 | } |
| 224 | |
| 225 | # gcc version 2.96 20000731 (Red Hat Linux 7.1 2.96-98) |
| 226 | # on Red Hat 7.2 (x86) miscompiles __mpn_construct_double in |
| 227 | # __mpn_construct_double (../sysdeps/ieee754/dbl-64/mpn2dbl.c:45) |
| 228 | # (glibc-2.2.4) to read and write below %esp. Hence the following |
| 229 | # two: |
| 230 | { |
| 231 | __mpn_construct_double/*(Addr4) |
| 232 | Addr4 |
| 233 | fun:__mpn_construct_double |
| 234 | fun:* |
| 235 | } |
| 236 | { |
| 237 | __mpn_construct_double/*(Addr8) |
| 238 | Addr8 |
| 239 | fun:__mpn_construct_double |
| 240 | fun:* |
| 241 | } |
| 242 | |
| 243 | # More of the same (gcc bug, I'm pretty sure) |
| 244 | { |
| 245 | __fabs/*(Addr4) |
| 246 | Addr4 |
| 247 | fun:__fabs |
| 248 | fun:* |
| 249 | } |
| 250 | { |
| 251 | __fabs/*(Addr8) |
| 252 | Addr8 |
| 253 | fun:__fabs |
| 254 | fun:* |
| 255 | } |
| 256 | |
| 257 | |
| 258 | # Not sure what this is about ... but anyway |
| 259 | { |
| 260 | pthread_sighandler/*(Addr4) |
| 261 | Addr4 |
| 262 | fun:pthread_sighandler |
| 263 | fun:* |
| 264 | } |
| 265 | |
| 266 | |
| 267 | # More glibc stuff, AFAICS |
| 268 | |
| 269 | { |
| 270 | __strnlen/__argz_stringify/_nl_make_l10nflist(Cond) |
| 271 | Cond |
| 272 | fun:__strnlen |
| 273 | fun:__argz_stringify |
| 274 | fun:_nl_make_l10nflist |
| 275 | } |
| 276 | |
| 277 | #-------------- |
| 278 | { |
sewardj | 924bc00 | 2002-06-07 00:29:39 +0000 | [diff] [blame] | 279 | _dl_relocate_object*/dl_open_worker/_dl_catch_error*(Cond) |
gobry | 3b77789 | 2002-04-04 09:18:39 +0000 | [diff] [blame] | 280 | Cond |
sewardj | 924bc00 | 2002-06-07 00:29:39 +0000 | [diff] [blame] | 281 | fun:_dl_relocate_object* |
gobry | 3b77789 | 2002-04-04 09:18:39 +0000 | [diff] [blame] | 282 | fun:dl_open_worker |
sewardj | 924bc00 | 2002-06-07 00:29:39 +0000 | [diff] [blame] | 283 | fun:_dl_catch_error* |
gobry | 3b77789 | 2002-04-04 09:18:39 +0000 | [diff] [blame] | 284 | } |
| 285 | { |
| 286 | _dl_relocate_object/libc-2.2.4.so/_dl_catch_error(Cond) |
| 287 | Cond |
| 288 | fun:_dl_relocate_object |
sewardj | 4532839 | 2002-05-16 20:57:26 +0000 | [diff] [blame] | 289 | obj:*libc-2.2.?.so |
gobry | 3b77789 | 2002-04-04 09:18:39 +0000 | [diff] [blame] | 290 | fun:_dl_catch_error |
| 291 | } |
| 292 | |
| 293 | { |
| 294 | strrchr/_dl_map_object_from_fd/_dl_map_object(Cond) |
| 295 | Cond |
| 296 | fun:strrchr |
| 297 | fun:_dl_map_object_from_fd |
| 298 | fun:_dl_map_object |
| 299 | } |
| 300 | |
| 301 | #------------------- |
| 302 | { |
| 303 | socketcall.connect(serv_addr)/__libc_connect/* |
| 304 | Param |
| 305 | socketcall.connect(serv_addr) |
| 306 | fun:__libc_connect |
| 307 | fun:* |
| 308 | } |
| 309 | { |
| 310 | socketcall.connect(serv_addr)/libc-2.2.4.so/libc-2.2.4.so |
| 311 | Param |
| 312 | socketcall.connect(serv_addr) |
sewardj | 4532839 | 2002-05-16 20:57:26 +0000 | [diff] [blame] | 313 | obj:*libc-2.2.?.so |
| 314 | obj:*libc-2.2.?.so |
gobry | 3b77789 | 2002-04-04 09:18:39 +0000 | [diff] [blame] | 315 | } |
| 316 | |
| 317 | #---------------------- |
| 318 | { |
| 319 | write(buf)/__libc_write/libX11.so.6.2/libX11.so.6.2(Param) |
| 320 | Param |
| 321 | write(buf) |
| 322 | fun:__libc_write |
| 323 | obj:/usr/X11R6/lib/libX11.so.6.2 |
| 324 | obj:/usr/X11R6/lib/libX11.so.6.2 |
| 325 | } |
| 326 | { |
| 327 | write(buf)/libc-2.2.4.so/libX11.so.6.2/libX11.so.6.2(Param) |
| 328 | Param |
| 329 | write(buf) |
sewardj | 4532839 | 2002-05-16 20:57:26 +0000 | [diff] [blame] | 330 | obj:*libc-2.2.?.so |
gobry | 3b77789 | 2002-04-04 09:18:39 +0000 | [diff] [blame] | 331 | obj:/usr/X11R6/lib/libX11.so.6.2 |
| 332 | obj:/usr/X11R6/lib/libX11.so.6.2 |
| 333 | } |
| 334 | |
| 335 | #{ |
| 336 | # llseek(result)/__libc_lseek64/_IO_file_seek(Param) |
| 337 | # Param |
| 338 | # llseek(result) |
| 339 | # fun:__libc_lseek64 |
| 340 | # fun:_IO_file_seek |
| 341 | #} |
| 342 | |
| 343 | { |
| 344 | writev(vector[...])/__writev/libX11.so.6.2/libX11.so.6.2 |
| 345 | Param |
| 346 | writev(vector[...]) |
| 347 | fun:__writev |
| 348 | obj:/usr/X11R6/lib/libX11.so.6.2 |
| 349 | obj:/usr/X11R6/lib/libX11.so.6.2 |
| 350 | } |
| 351 | |
| 352 | #---------------- |
| 353 | { |
| 354 | __rawmemchr/libXt.so.6.0/libXt.so.6.0 |
| 355 | Cond |
| 356 | fun:__rawmemchr |
| 357 | obj:/usr/X11R6/lib/libXt.so.6.0 |
| 358 | obj:/usr/X11R6/lib/libXt.so.6.0 |
| 359 | } |
| 360 | { |
| 361 | libc-2.2.4.so/libXt.so.6.0/libXt.so.6.0 |
| 362 | Cond |
sewardj | 4532839 | 2002-05-16 20:57:26 +0000 | [diff] [blame] | 363 | obj:*libc-2.2.?.so |
gobry | 3b77789 | 2002-04-04 09:18:39 +0000 | [diff] [blame] | 364 | obj:/usr/X11R6/lib/libXt.so.6.0 |
| 365 | obj:/usr/X11R6/lib/libXt.so.6.0 |
| 366 | } |
| 367 | |
| 368 | ##----------------------------------------------------------------------## |
| 369 | |