ruby-elf 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/COPYING +339 -0
- data/DONATING +42 -0
- data/bin/cowstats +264 -0
- data/bin/elfgrep +185 -0
- data/bin/missingstatic +112 -0
- data/bin/rbelf-size +123 -0
- data/bin/verify-lfs +120 -0
- data/extras/README.extras +5 -0
- data/extras/bindings-parsers.rb +157 -0
- data/lib/bytestream-reader.rb +271 -0
- data/lib/elf.rb +248 -0
- data/lib/elf/dynamic.rb +392 -0
- data/lib/elf/file.rb +366 -0
- data/lib/elf/gnu.rb +174 -0
- data/lib/elf/section.rb +321 -0
- data/lib/elf/stringtable.rb +49 -0
- data/lib/elf/sunw.rb +158 -0
- data/lib/elf/symbol.rb +368 -0
- data/lib/elf/symbol/demangler_gcc3.rb +1952 -0
- data/lib/elf/symboltable.rb +90 -0
- data/lib/elf/tools.rb +228 -0
- data/lib/elf/utils/loader.rb +112 -0
- data/lib/elf/utils/pool.rb +37 -0
- data/lib/elf/value.rb +128 -0
- data/manpages/cowstats.1 +180 -0
- data/manpages/elfgrep.1 +188 -0
- data/manpages/missingstatic.1 +176 -0
- data/manpages/rbelf-size.1 +186 -0
- data/manpages/verify-lfs.1 +95 -0
- data/tools/assess_duplicate_save.rb +105 -0
- data/tools/link-collisions/analyse.rb +57 -0
- data/tools/link-collisions/harvest.rb +367 -0
- data/tools/link-collisions/known-broken +165 -0
- data/tools/link-collisions/multimplementations +125 -0
- data/tools/link-collisions/suppress.rb +84 -0
- data/tools/link-collisions/suppressions +279 -0
- data/tools/nm.rb +78 -0
- data/tools/rbelf-lddtree.rb +49 -0
- data/tools/readelf-d.rb +76 -0
- metadata +114 -0
@@ -0,0 +1,165 @@
|
|
1
|
+
# Suppressions for known-broken software, avoid reporting it until fixed.
|
2
|
+
|
3
|
+
.*/libkcal\.so.* ^ical.*$
|
4
|
+
|
5
|
+
/usr/bin/gs
|
6
|
+
/usr/bin/gdbtui
|
7
|
+
|
8
|
+
/usr/lib(|32|64)/dri/.*
|
9
|
+
|
10
|
+
# KPDF contains XPDF code, which is also contained in libpoppler.
|
11
|
+
# Ignore KPDF symbols then.
|
12
|
+
libkpdfpart.so
|
13
|
+
|
14
|
+
# Net-SNMP for some reasons build two separate libraries out of the
|
15
|
+
# same object files, their code is 1:1 the same. Ignore one of them
|
16
|
+
# until it's sorted out upstream.
|
17
|
+
libsnmp\.so
|
18
|
+
|
19
|
+
# Multiple copies of Qt4 libraries from proprietary software like
|
20
|
+
# Skype, GoogleEarth and so on.
|
21
|
+
/opt/.*/libQt.*
|
22
|
+
|
23
|
+
# Intel C and Fortran compilers keep the same code
|
24
|
+
/opt/intel/[cf]c/.*/lib/.*
|
25
|
+
|
26
|
+
# The binary versions of xulrunner, firefox and thunderbird have
|
27
|
+
# duplicate symbols.
|
28
|
+
/opt/(xulrunner|firefox|thunderbird|)/.*
|
29
|
+
|
30
|
+
# Quake-engine based games duplicate numbers of symbols, bad.
|
31
|
+
.*/gamei386\.so
|
32
|
+
|
33
|
+
# Aegis does not know about shared libraries it seems
|
34
|
+
.*/bin/ae(cvsserver|patch|annotate|subunit|rect|dist|de-policy|find|import|lcf|tar|complete|-repo-ci|ls|svt|lock|get|lpf|sub|xml|diff|finish|gis|report|revml|makegen|promptcmd)
|
35
|
+
|
36
|
+
# asis-gcc links libasis statically in the commands, no idea why.
|
37
|
+
.*/gnat-gcc-bin/.*/(gnatelim|gnatpp|gnatmetric|adasubst|adadep|adabrowse|gnatstub)
|
38
|
+
|
39
|
+
# Sane should use a core library
|
40
|
+
.*/(libsane-.*\.so|xcam|saned) ^sanei_.*$
|
41
|
+
|
42
|
+
# idb comes with Qt (unknown version)
|
43
|
+
intel/idb/.*/bin/iidb
|
44
|
+
|
45
|
+
# abiword does not link to libabiword
|
46
|
+
/bin/[Aa]bi[wW]ord
|
47
|
+
|
48
|
+
# Qt Embedded has the same API of Qt 3
|
49
|
+
/lib/libqte-mt\.so\..*
|
50
|
+
|
51
|
+
# Samba should really use a libsambacore
|
52
|
+
/bin/eventlogadm
|
53
|
+
/bin/net
|
54
|
+
/bin/nmblookup
|
55
|
+
/bin/ntlm_auth
|
56
|
+
/bin/pdbedit
|
57
|
+
/bin/profiles
|
58
|
+
/bin/rpcclient
|
59
|
+
/bin/smb(cacls|client|control|cquotas|get|mount|passwd|spool|status|tree)
|
60
|
+
/bin/testparm
|
61
|
+
/lib(32|64)?/python[0-9\.]+/site-packages/samba/(lsa|samr|smb|spoolss|srvsvc|tdb|winbind|winreg)\.so
|
62
|
+
/lib(32|64)?/samba/lib(msrpc|smbclient)\.so
|
63
|
+
/lib(32|64)?/security/pam_smbpass\.so
|
64
|
+
/sbin/[sn]mbd
|
65
|
+
|
66
|
+
# wvstream links dbus statically, and so does dbus-daemon (d'oh!)
|
67
|
+
/lib(32|64)?/libwvdbus\.so.* ^dbus_
|
68
|
+
/bin/dbus-daemon ^dbus_
|
69
|
+
|
70
|
+
# The static version links all statically obviously
|
71
|
+
/bin/paw(\+\+|X11)\.static
|
72
|
+
|
73
|
+
# Inkscape comes with copies of GDL and libcroco
|
74
|
+
/bin/ink(scape|view) ^(gdl|cr)_
|
75
|
+
|
76
|
+
# gettext comes with a copy of libcroco
|
77
|
+
/lib(32|64)?/libgettextlib-[0-9\.]+\.so ^cr_
|
78
|
+
|
79
|
+
# screem with a copy of gdl
|
80
|
+
/bin/screem ^gdl_
|
81
|
+
|
82
|
+
# MySQL could also use a libmysqlcore
|
83
|
+
/bin/comp_err
|
84
|
+
/bin/my(_print_defaults|isam(_ftdump|chk|log|pack)|sql_(tzinfo_to_sql|waitpid))
|
85
|
+
/bin/perror
|
86
|
+
/bin/replace
|
87
|
+
/bin/resolve(_stack_dump|ip)
|
88
|
+
/sbin/mysql(d|manager)
|
89
|
+
|
90
|
+
# MyDNS is linking statically to mysql
|
91
|
+
/bin/mydns(-conf|export|ptrconvert|check|import)
|
92
|
+
/sbin/mydns
|
93
|
+
|
94
|
+
# bash links to libreadline statically in Gentoo as it's mission-critical
|
95
|
+
^/bin/bash$ ^_?rl_
|
96
|
+
|
97
|
+
# byld stuff is always duplicated
|
98
|
+
^/usr/lib/byld/
|
99
|
+
|
100
|
+
# Some packages like to bundle sqlite3
|
101
|
+
/lib(32|64)?/libgda-([0-9\.]+)/providers/libgda-sqlite\.so ^sqlite3
|
102
|
+
/lib(32|64)?/perl5/vendor_perl/[0-9\.]+/.*/auto/DBD/SQLite/SQLite.so ^sqlite3
|
103
|
+
/lib(32|64)?/lib(showimg)?kexisql3\.so ^sqlite3
|
104
|
+
/lib(32|64)/hk_classes/drivers/libhk_sqlite3driver\.so ^sqlite3
|
105
|
+
|
106
|
+
# Some packages like to bundle boehm-gc
|
107
|
+
/lib(32|64)?/mercury-[0-9\.]/lib/libgc(_prof)?\.so ^GC_
|
108
|
+
lib(gcj|gauche|Synopsis)\.so ^GC_
|
109
|
+
/bin/pedump ^GC_
|
110
|
+
|
111
|
+
# alliance links libX11 statically
|
112
|
+
/alliance/bin/.* ^_?X
|
113
|
+
|
114
|
+
# This is just boring
|
115
|
+
/lib(32|64)?/gnucap/models-.*
|
116
|
+
|
117
|
+
# Inkscape needs a core library
|
118
|
+
/bin/inkview
|
119
|
+
|
120
|
+
# Smoke does static linking
|
121
|
+
/lib(32|64)?/libsmokekde\.so
|
122
|
+
|
123
|
+
# Broken proprietaryware
|
124
|
+
/lib/fmodex
|
125
|
+
|
126
|
+
# Link statically to libpcap, may bundle libopts
|
127
|
+
/bin/tcp(rewrite|bridge|prep|replay) ^(options[A-Z]|pcap_)
|
128
|
+
|
129
|
+
# Link statically to libdspam
|
130
|
+
/bin/(css(clean|stat|convert)|dispamc) ^_ds_
|
131
|
+
|
132
|
+
# Static link to readline (unwarranted)
|
133
|
+
/bin/(gdb-armulator|insight) ^_?rl_
|
134
|
+
|
135
|
+
# Static internal link
|
136
|
+
/bin/fun(calc|cen|cnts|cone|disp|head|hist|image|join|merge|sky|table)
|
137
|
+
|
138
|
+
# They use liboscar
|
139
|
+
/bin/(bitlbee|pork) ^aim_
|
140
|
+
|
141
|
+
# KDE3 and ARTS come with a modified libltdl.
|
142
|
+
/lib(32|64)?/lib(kdecore|arts(c|dsp_st)|mcop)\.so ^_?lt_dl
|
143
|
+
|
144
|
+
# MythTV has its own copy of FFmpeg, and of liveMedia
|
145
|
+
/lib(32|64)?/libmyth(av(codec|format|util)|livemedia)-[0-9\.]+\.so
|
146
|
+
|
147
|
+
# Stuff bundling or deriving Expat
|
148
|
+
/lib/einit/bootstrap/bootstrap-configuration-xml-expat.so ^XML_
|
149
|
+
/lib(tlen|wxsvg|Tclexpat[0-9\.]+|txml|MiKTeX[0-9]+-expat)\.so ^XML_
|
150
|
+
/bin/(yasim|fg[fj]s) ^XML_
|
151
|
+
/bin/scorched3d ^XML_
|
152
|
+
/opt/ICAClient/wfcmgr\.bin ^XML_
|
153
|
+
|
154
|
+
# paraview bundles vtk
|
155
|
+
/lib/paraview-[0-9\.]+/libvtk.*\.so
|
156
|
+
|
157
|
+
# ardour incluess all the libraries it uses
|
158
|
+
/lib/ardour2/lib(rubberband|soundtouch|vampsdk)\.so
|
159
|
+
|
160
|
+
# These binaries contain a copy of their library rather than using it.
|
161
|
+
/bin/alsaplayer
|
162
|
+
/bin/aften
|
163
|
+
|
164
|
+
# bash and gdb are known for linking readline statically
|
165
|
+
/bin/(bash|gdb) ^(_?rl_|readline).*
|
@@ -0,0 +1,125 @@
|
|
1
|
+
# Multi-implementation: compressor file for multiple implementations
|
2
|
+
# This file is used to describe which libraries compose multiple implementations
|
3
|
+
# ignoring eventual problems with multiple libraries implementing the same
|
4
|
+
# interface
|
5
|
+
|
6
|
+
libc /lib(32|64)?/(loki_)?libc(-[0-9\.]+)?\.so
|
7
|
+
|
8
|
+
perl /usr/bin/perl5\..*
|
9
|
+
perl /usr/lib(|32|64)/libperl\.so\..*
|
10
|
+
|
11
|
+
libgpgme .*/libgpgme(-pth(read)?)?\.so.*
|
12
|
+
|
13
|
+
# JAVA libraries, especially graphic libraries.
|
14
|
+
java-libawt jre/lib/(amd64|i386)/libawt\.so$
|
15
|
+
java-libmawt jre/lib/(amd64|i386)/(xawt|motif21|headless)/libmawt.so
|
16
|
+
|
17
|
+
ncurses-lib$2 /lib(|32|64)/lib(n?curses|form|menu|panel)w?\.so
|
18
|
+
|
19
|
+
php5 php5/bin/php(-cgi)?$
|
20
|
+
php5 apache2/modules/libphp5\.so
|
21
|
+
|
22
|
+
mysqlclient /lib(|32|64)/mysql/libmysqlclient(_r)?\.so
|
23
|
+
libldap$3 /lib(|32|64)/libldap(_r)?((-[0-9\.]+)?)\.so
|
24
|
+
|
25
|
+
libXaw /lib(|32|64)/libXaw(6|7|3d)\.so
|
26
|
+
libXaw /lib/(32|64)/libneXtaw\.so
|
27
|
+
libXmu /lib(|32|64)/libXmuu?\.so
|
28
|
+
|
29
|
+
osswrappers /lib(|32|64)/lib(aoss|(esd|pa|)dsp)\.so$
|
30
|
+
|
31
|
+
libxerces /lib(|32|64)/libxerces-(c|depdom)\.so
|
32
|
+
|
33
|
+
# Boost
|
34
|
+
libboost_$2 /lib(|32|64)/libboost_([a-z_]+)(-mt)?.so
|
35
|
+
|
36
|
+
# KDE's libgpgme++
|
37
|
+
libgpgme++ /lib(|32|64)/libgpgme\+\+(-pth(read)?)?\.so
|
38
|
+
|
39
|
+
# libevent, _core and _extra replace the original, for now consider them a single
|
40
|
+
# implementation, until libevent itself is deprecated.
|
41
|
+
libevent-$4 /lib(|32|64)/libevent(_(extra|core))?-([0-9\.]+)\.so
|
42
|
+
|
43
|
+
# GNU libs
|
44
|
+
gnu-libmudflap libmudflap(th)?\.so
|
45
|
+
libbfd libbfd-[0-9\.]+\.so
|
46
|
+
libgcj libgcj(-[0-9\.]+|_bc)\.so
|
47
|
+
libgnat libgnat-[0-9\.]+\.so
|
48
|
+
libffi libffi-[0-9\.]+(-beta)?\.so
|
49
|
+
|
50
|
+
libgvc libgvc(_builtins)?\.so
|
51
|
+
|
52
|
+
mercury-$4 /mercury-.*/lib/(asm_fast|hlc|none).gc(.(tr|memprof|prof))?/(.*)\.so
|
53
|
+
|
54
|
+
glide3 /lib(32|64)?/libglide3-v[1235]\.so
|
55
|
+
|
56
|
+
cblas /lib(32|64)?/blas/((threaded-)?atlas|reference)/libcblas\.so
|
57
|
+
cblas /lib(32|64)?/gclcblas\.so
|
58
|
+
|
59
|
+
libcorex /lib(32|64)?/libcorex\+\+_level[123]\.so
|
60
|
+
|
61
|
+
lib$5 /lib(32|64)?/(nvu|mozilla-(sunbird|thunderbird)|xulrunner(-[0-9\.]+)?|seamonkey)/lib([a-zA-Z_]+)(_core)?\.so$
|
62
|
+
|
63
|
+
libstlport /lib(32|64)?/libstlport((stl)?g?)\.so
|
64
|
+
|
65
|
+
libfann /lib(32|64)?/lib(double|float|fixed)?fann.so
|
66
|
+
|
67
|
+
libcilk /lib(32|64)?/libcilk(\.g)?(\.p)?\.so
|
68
|
+
|
69
|
+
libcanna /lib(32|64)?/libcanna(16)?\.so
|
70
|
+
libRKC /lib(32|64)?/libRKC(16)?\.so
|
71
|
+
|
72
|
+
odbc /lib(32|64)?/lib(i|my)?odbc(5|inst|txt|psql)?(-[0-9\.]+)?\.so
|
73
|
+
odbc /lib(32|64)?/wine/odbc32\.dll\.so
|
74
|
+
odbc /lib(32|64)?/libtemplate\.so
|
75
|
+
|
76
|
+
libspread /lib(32|64)?/libt?spread(-core)?\.so
|
77
|
+
|
78
|
+
libgraph /lib(32|64)?/lib[ac]?graph\.so
|
79
|
+
|
80
|
+
libPoco$2 /lib(32|64)?/libPoco([A-Za-z]+[a-ce-zA-Z])d?\.so
|
81
|
+
|
82
|
+
xvmc /lib(32|64)?/lib(chrome|I(810|ntel))?XvMC(Pro|NVIDIA|W)?\.so
|
83
|
+
|
84
|
+
libqwt$2 /lib(32|64)?/libqwt(plot3d)?(-qt3)?\.so
|
85
|
+
|
86
|
+
efte /bin/[cnv]efte$
|
87
|
+
|
88
|
+
libodbc++ /lib(32|64)?/libodbc\+\+(-mt)?\.so
|
89
|
+
|
90
|
+
libctemplate /lib(32|64)?/libctemplate(_nothreads)?\.so
|
91
|
+
|
92
|
+
lib$1 /lib([a-zA-Z]+)([23]D|2D3)(-[0-9\.]+)?\.so
|
93
|
+
|
94
|
+
opal/openh323 /lib(32|64)?/lib(opal|h323)_.*_n\.so
|
95
|
+
|
96
|
+
libfmodex /lib(32|64)?/libfmodex[Lp]?-[0-9\.]+\.so
|
97
|
+
|
98
|
+
libossp-uuid /libossp-uuid(_dce)?\.so
|
99
|
+
|
100
|
+
libunwind /libunwind(-x86)?\.so
|
101
|
+
|
102
|
+
libdmalloc /libdmalloc(cxx)?\.so
|
103
|
+
libmpatrol /libmpa(lloc|trol(mt)?)\.so
|
104
|
+
|
105
|
+
libk3d /libk3d(ngui|python|sdk)\.so
|
106
|
+
|
107
|
+
fftw /lib(32|64)?/lib[ds]?fftw(3[lf]?(_threads)?)?\.so
|
108
|
+
|
109
|
+
CLHEP /lib(32|64)?/libCLHEP(-(Vector|GenericFunctions|Matrix|Random|Geometry))?-[0-9\.]+\.so
|
110
|
+
|
111
|
+
mozilla-libs /lib(xpcom(_core|glue)?|xul)(-[0-9\.]+)?\.so
|
112
|
+
|
113
|
+
libstdc++ /lib/libstdc\+\+-libc[0-9\.\-]+\.so
|
114
|
+
|
115
|
+
# Library consolidation, keep at the end!
|
116
|
+
#
|
117
|
+
# This following line is used to consolidate all libraries that have
|
118
|
+
# the same base name, ignoring versioning of either API or ABI. This
|
119
|
+
# allows to ignore multiple slots for the same library which would
|
120
|
+
# almost certainly result in false positives.
|
121
|
+
#
|
122
|
+
# Note that the presence of _at least_ one object after the soname is
|
123
|
+
# needed to ensure this does not hit most of the plugins that use the
|
124
|
+
# format libfoo.so for the names.
|
125
|
+
lib$1 /lib([a-zA-Z0-9\-_\+]+)(-[0-9\.]+)*\.so(\.[0-9\.]+)+$
|
@@ -0,0 +1,84 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# -*- coding: utf-8 -*-
|
3
|
+
# Copyright © 2007-2010 Diego E. "Flameeyes" Pettenò <flameeyes@gmail.com>
|
4
|
+
#
|
5
|
+
# This program is free software; you can redistribute it and/or modify
|
6
|
+
# it under the terms of the GNU General Public License as published by
|
7
|
+
# the Free Software Foundation; either version 2 of the License, or
|
8
|
+
# (at your option) any later version.
|
9
|
+
#
|
10
|
+
# This program is distributed in the hope that it will be useful,
|
11
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
12
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
13
|
+
# GNU General Public License for more details.
|
14
|
+
#
|
15
|
+
# You should have received a copy of the GNU General Public License
|
16
|
+
# along with this generator; if not, write to the Free Software
|
17
|
+
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
18
|
+
|
19
|
+
# This script is used to harvest the symbols defined in the shared
|
20
|
+
# objects of the whole system.
|
21
|
+
|
22
|
+
require 'getoptlong'
|
23
|
+
require 'postgres'
|
24
|
+
|
25
|
+
opts = GetoptLong.new(
|
26
|
+
["--suppressions", "-s", GetoptLong::REQUIRED_ARGUMENT ],
|
27
|
+
["--postgres-username", "-U", GetoptLong::REQUIRED_ARGUMENT ],
|
28
|
+
["--postgres-password", "-P", GetoptLong::REQUIRED_ARGUMENT ],
|
29
|
+
["--postgres-hostname", "-H", GetoptLong::REQUIRED_ARGUMENT ],
|
30
|
+
["--postgres-port", "-T", GetoptLong::REQUIRED_ARGUMENT ],
|
31
|
+
["--postgres-database", "-D", GetoptLong::REQUIRED_ARGUMENT ]
|
32
|
+
)
|
33
|
+
|
34
|
+
suppression_files = File.exist?('suppressions') ? [ 'suppressions' ] : []
|
35
|
+
|
36
|
+
pg_params = {}
|
37
|
+
|
38
|
+
opts.each do |opt, arg|
|
39
|
+
case opt
|
40
|
+
when '--suppressions'
|
41
|
+
unless File.exist? arg
|
42
|
+
$stderr.puts "harvest.rb: no such file or directory - #{arg}"
|
43
|
+
exit -1
|
44
|
+
end
|
45
|
+
suppression_files << arg
|
46
|
+
when '--postgres-username' then pg_params['user'] = arg
|
47
|
+
when '--postgres-password' then pg_params['password'] = arg
|
48
|
+
when '--postgres-hostname' then pg_params['host'] = arg
|
49
|
+
when '--postgres-port' then pg_params['port'] = arg
|
50
|
+
when '--postgres-database' then pg_params['dbname'] = arg
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
db = PGconn.open(pg_params)
|
55
|
+
|
56
|
+
db.exec("BEGIN TRANSACTION")
|
57
|
+
|
58
|
+
# Total suppressions are for directories to skip entirely
|
59
|
+
# Partial suppressions are the ones that apply only to a subset
|
60
|
+
# of symbols.
|
61
|
+
suppression_files.each do |suppression|
|
62
|
+
File.open(suppression) do |file|
|
63
|
+
file.each_line do |line|
|
64
|
+
path, symbols = line.
|
65
|
+
gsub(/#\s.*/, '').
|
66
|
+
strip.
|
67
|
+
split(/\s+/, 2)
|
68
|
+
|
69
|
+
next unless path
|
70
|
+
|
71
|
+
if not symbols or symbols == ""
|
72
|
+
# the POSIX regular expressions and the Ruby ones differ from
|
73
|
+
# how + and \+ are used. PgSQL uses POSIX.
|
74
|
+
path = path.gsub('+', '\+').gsub('\\+', '+')
|
75
|
+
db.exec("DELETE FROM objects WHERE name ~ '#{path}'")
|
76
|
+
else
|
77
|
+
symbols.sub!(/(\$)?$/, '@\1')
|
78
|
+
db.exec("DELETE FROM symbols WHERE symbol ~ '#{symbols}' AND object IN (SELECT id FROM objects WHERE name ~ '#{path}')")
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
db.exec("COMMIT")
|
@@ -0,0 +1,279 @@
|
|
1
|
+
# Ignore the modules directory.
|
2
|
+
^/lib(|32|64)/modules/.*
|
3
|
+
|
4
|
+
# Ignore the debug directory
|
5
|
+
^/usr/lib(|32|64)/debug/.*
|
6
|
+
|
7
|
+
# Common symbols, usually present in every shared object
|
8
|
+
# main is instead present in every executable.
|
9
|
+
.* ^((__libc_csu)?_(init|fini|start)|main|__data_start|_IO_stdin_used|_fp_hw)$
|
10
|
+
|
11
|
+
# C++ symbols
|
12
|
+
.* ^_Z(d[al]Pv|[nd][aw]j)$
|
13
|
+
|
14
|
+
# ARM EABI symbols
|
15
|
+
.* ^__aeabi_
|
16
|
+
|
17
|
+
# Scratchbox is totally messed up
|
18
|
+
/opt/scratchbox/
|
19
|
+
|
20
|
+
# xine plugins use xine_plugin_info structure as entrypoint
|
21
|
+
.*/xine/plugins/.*/xineplug_.*\.so ^xine_plugin_info$
|
22
|
+
|
23
|
+
# gconv plugins
|
24
|
+
.*/gconv/.*\.so ^gconv(_(init|end))?$
|
25
|
+
|
26
|
+
# libpthread has duplicate symbols as they are also defined
|
27
|
+
# in libc.so
|
28
|
+
.*/libpthread(-[\.0-9]+)?\.so ^(pthread_.*|_IO_f(|un|try)lockfile)$
|
29
|
+
|
30
|
+
# KDE-related suppressions
|
31
|
+
/libkdeinit4?_.*\.so ^kdemain$
|
32
|
+
/kde[34]/.*\.so ^kde(init)?main$
|
33
|
+
/kde3/.*thumbnail\.so ^new_creator$
|
34
|
+
/kde3/.*panel(applet|extension)\.so ^init$
|
35
|
+
/kde3/libaudiocd_encoder_.*\.so ^create_audiocd_encoders$
|
36
|
+
/kde3/plugins/.*\.so ^(qt_ucm_query_verification_data|ucm_instantiate)$
|
37
|
+
/kde3/kwin3?_.*\.so ^(create_factory|allocate_config)$
|
38
|
+
/kde3/(libamarok|noatun)_.*\.so ^create_plugin$
|
39
|
+
/kde[34]/kstyle_.*\.so ^allocate_kstyle_config$
|
40
|
+
/kde3/ksim_.*\.so ^init_plugin$
|
41
|
+
# KApplication::KApp
|
42
|
+
.* ^_ZN12KApplication4KAppE$
|
43
|
+
# KDE 4
|
44
|
+
.*/kde4/.*\.so$ ^kde_plugin_(verification_data|version)$
|
45
|
+
.*/kde4/.*thumbnail\.so$ ^new_creator$
|
46
|
+
|
47
|
+
# Amarok
|
48
|
+
.*/kde3/libamarok_.*\.so$ ^_ZN6Amarok(6|12)Plugin(Config)?.*
|
49
|
+
|
50
|
+
# PAM modules
|
51
|
+
.*/lib(|32|64)/security/pam_.*\.so ^pam_sm_(authenticate|acct_mgmt|close_session|setcred|chauthtok|open_session)$
|
52
|
+
|
53
|
+
# Valgrind
|
54
|
+
.*/valgrind/(amd64|x86|ppc|ppc64)-linux/vgpreload_.*\.so ^_vgrZU_.*$
|
55
|
+
|
56
|
+
# Qt4 plugins
|
57
|
+
.*/.*\.so ^qt_plugin_(instance|query_verification_data)$
|
58
|
+
|
59
|
+
# Wine stuff
|
60
|
+
.*\.exe\.so ^WinMain$
|
61
|
+
|
62
|
+
# GTK and GNOME plugins
|
63
|
+
.* ^g_module_check_init$
|
64
|
+
/gtk-2\.0/.*/modules/.*\.so ^gtk_module_init$
|
65
|
+
/gtk-2\.0/.*/immodules/im-.*\.so ^im_module_(create|init|exit|list)$
|
66
|
+
/gtk-2\.0/.*/engines/.*\.so ^(theme_(create_rc_style|init|exit))$
|
67
|
+
/gtk-2\.0/.*/loaders/libpixbuf.*\.so ^(load|fill_(info|vtable)|get_info)$
|
68
|
+
/gtk-2\.0/.*/printbackends/.*\.so ^pb_module_(init|create|exit)$
|
69
|
+
/pango/.*/modules/pango-.*\.so ^script_engine_(list|create|init|exit)$
|
70
|
+
/gnome-vfs-2\.0/modules/lib.*\.so ^vfs_module_(init|shutdown)$
|
71
|
+
/libglade/.*/lib.*\.so ^glade_module_register_widgets$
|
72
|
+
/(goffice|gnumeric)/[0-9\.]+/plugins/.*\.so ^go_plugin_(depends|header|init|shutdown)$
|
73
|
+
/evolution/[0-9\.]+/plugins/.*\.so ^e_plugin_lib_enable$
|
74
|
+
/abiword-[0-9\.]+/plugins/lib.*\.so ^abi_plugin_((un)?register|supports_version)$
|
75
|
+
/libgda(-[0-9\.]+)?/providers/lib.*\.so ^plugin_(init|get_(name|description)|create_provider)$
|
76
|
+
/gedit-[0-9]+/plugins/lib.*\.so ^register_gedit_plugin$
|
77
|
+
/brasero/plugins/lib.*\.so ^brasero_plugin_register$
|
78
|
+
/gnome-settings-daemon-[0-9\.]+/lib.*\.so ^register_gnome_settings_plugin$
|
79
|
+
/gimp/[0-9\.]+/modules/.*\.so ^gimp_module_(query|register)$
|
80
|
+
/epiphany/[0-9\.]+/extensions/.*\.so ^register_module$
|
81
|
+
/libgnomedb/plugins/.*\.so ^plugin_init$
|
82
|
+
/totem/plugins/.*\.so ^register_totem_plugin$
|
83
|
+
/rhythmbox/plugins/.*\.so ^register_rb_plugin$
|
84
|
+
/nautilus/extensions-[0-9\.]+/.*\.so ^nautilus_module_(initialize|list_types|shutdown)$
|
85
|
+
|
86
|
+
# XFCE
|
87
|
+
/lib(32|64)?/thunarx-[0-9\.]+/.*\.so ^thunar_extension_(initialize|list_types|shutdown)$
|
88
|
+
/lib(32|64)?/xfce4/panel-plugins/.*\.so ^xfce_panel_plugin_get_construct$
|
89
|
+
/lib(32|64)?/xfce4/mcs-plugins/.*\.so ^mcs_plugin_init$
|
90
|
+
|
91
|
+
# ALSA plugins
|
92
|
+
.*/alsa-lib/smixer/smixer-.*\.so ^(alsa_mixer_simple_(init|event)|selectors)$
|
93
|
+
|
94
|
+
# gphoto plugins
|
95
|
+
.*/libgphoto2/.*/.*\.so ^camera_(abilities|id|init)$
|
96
|
+
|
97
|
+
# Java JNI extensions
|
98
|
+
.* ^JNI_OnLoad$
|
99
|
+
# Sun Java implementation
|
100
|
+
^/opt/sun-jdk-.*/.* ^JavaMain$
|
101
|
+
|
102
|
+
# ZSH modules
|
103
|
+
.*/zsh/.*/zsh/.*\.so ^(boot|setup|cleanup|finish)_$
|
104
|
+
|
105
|
+
# Wireshark plugins
|
106
|
+
.*/wireshark/plugins/.*/.*\.so ^(version|plugin_(reg_handoff|register))$
|
107
|
+
|
108
|
+
# Samba plugins
|
109
|
+
.*/samba/(vfs|auth|charset)/.*\.so ^init_module$
|
110
|
+
|
111
|
+
# XawTV plugins
|
112
|
+
.*/xawtv/.*\.so ^ng_plugin_init$
|
113
|
+
|
114
|
+
# Imlib
|
115
|
+
.*/imlib2/loaders/.*\.so ^(init|formats|save|load)$
|
116
|
+
|
117
|
+
# Claws Mail
|
118
|
+
.*/claws-mail/plugins/.*\.so ^plugin_(desc|done|init|licence|name|provides|type|version)$
|
119
|
+
|
120
|
+
# cyrus-sasl
|
121
|
+
.*/sasl2/lib.*\.so ^sasl_(client|server)_plug_init$
|
122
|
+
|
123
|
+
# Cherokee
|
124
|
+
.*/cherokee/libplugin_.*cgi\.so ^cherokee_handler_cgi_base_(add_headers|add_parameter|build_basic_env|build_envp|extract_path|free|init|split_pathinfo|step)
|
125
|
+
|
126
|
+
# OpenOffice.org
|
127
|
+
.*/openoffice/.*\.so$ ^(component_(getFactory|getImplementationEnvironment|writeInfo|canUnload)|GetVersionInfo)
|
128
|
+
|
129
|
+
# FFmpeg's vhook
|
130
|
+
.*/vhook/.*\.so$ ^(Configure|Process|Release)$
|
131
|
+
|
132
|
+
# JACK Audio Connection Kit
|
133
|
+
.*/jack/jack_.*\.so$ ^driver_(client_name|initialize|finish|get_descriptor)$
|
134
|
+
.*/jack/.*\.so$ ^jack_(initialize|finish)$
|
135
|
+
|
136
|
+
# DSSI
|
137
|
+
.*/dssi/.*\.so$ ^dssi_(descriptor|configure_message)$
|
138
|
+
|
139
|
+
# LADSPA
|
140
|
+
.*/(ladspa|dssi)/.*\.so$ ^(ladspa|delete)_descriptor$
|
141
|
+
|
142
|
+
# OpenSync
|
143
|
+
.*/opensync(-1.0)?/(formats|plugins)/.*\.so$ ^(get_(((format|conversion)_)?info|version)|vformat_.*|(quoted|base64)_(encode|decode)_simple)$
|
144
|
+
|
145
|
+
# libao
|
146
|
+
.*/ao/plugins-2/lib.*\.so$ ^ao_plugin_(test|set_option|open|play|driver_info|device_(init|clear)|close)$
|
147
|
+
|
148
|
+
# OpenSSL
|
149
|
+
.*/lib(|32|64)/engines/.*\.so$ ^(bind_engine|v_check)$
|
150
|
+
|
151
|
+
# Wine
|
152
|
+
.*/lib(|32)/wine/.*\.exe\.so$ ^wmain$
|
153
|
+
.*/lib(|32)/wine/.*\.ds\.so$ ^DS_Entry$
|
154
|
+
|
155
|
+
# ZSH
|
156
|
+
.*/lib(|32|64)/zsh/.*/zsh/.*\.so$ ^(enables|features)_$
|
157
|
+
|
158
|
+
# OSS wrappers and other LD_PRELOAD libraries
|
159
|
+
lib((pa|esd|arts)dsp|aoss|jackasyn|(soap|sand)box|fake(ch)?root|zzuf|v4l(1compat|2convert)|trash|syncdir|honeyd) ^((__)?(m(un)?map(64)?|f?(open(at)?(64)?(_2)?|close))|ioctl|poll|connect|glob|bind|execvp?)$
|
160
|
+
|
161
|
+
lib(fake(ch)?root|(soap|sand)box|trash)(-[0-9\.]+)?\.so ^f?(l?ch(own|mod)|(un)?link|rename|(mk|rm)dir|remove|creat|mkfifo|l?utimen?s?|(__x)?mknode|symlink|access|truncate)(64)?(at)?$
|
162
|
+
|
163
|
+
# Memory debug libraries
|
164
|
+
lib(mudflap(th)?|dmalloc(cxx)?|duma|efence|jemalloc|mem(usage|intercept)|zzuf)\.so ^(([mcv]|re)alloc|c?free|m(un)?map(64)?|(posix_)?memalign|mem(cpy)|strn?(dup|cat|cpy)|__invoke_dynamic_linker__|_Z(n[aw]j|d[al]Pv)|RKSt9nothrow_t|Page_AllowAccess)$
|
165
|
+
|
166
|
+
# Strigi
|
167
|
+
strigi/strigi[lt]a_.*\.so ^(deleteS|s)trigiAnalyzerFactory$
|
168
|
+
|
169
|
+
# Netscape-related symbols
|
170
|
+
.*/components/.*\.so ^NSGetModule$
|
171
|
+
|
172
|
+
# GCompris
|
173
|
+
.*/gcompris/.*\.so ^get_bplugin_info$
|
174
|
+
|
175
|
+
# psemu/ps2emu
|
176
|
+
.*/ps2?emu/(plugins|cfg)/.* ^(build|version|revision)
|
177
|
+
|
178
|
+
# IRC servers
|
179
|
+
.*/(ircd-hybrid-[0-9]|atheme)/(protocol|modules)/.*\.so ^_mod(de)?init$
|
180
|
+
.*/ircd-hybrid-[0-9]/modules(/autoload)?/.*\.so ^_version$
|
181
|
+
.*/atheme/(protocol|modules)/.*\.so ^_header$
|
182
|
+
.*/unrealircd/modules/m_.*\.so ^(Mod_(Init|Load|Version|Unload|Header)|compiler_version)$
|
183
|
+
|
184
|
+
# VLC
|
185
|
+
.*/vlc/.*/lib.*_plugin\.so ^vlc_entry(_(license|copyright))?__[0-9_]+[me]$
|
186
|
+
|
187
|
+
# GStreamer
|
188
|
+
.*/gstreamer-.*/lib.*\.so ^gst_plugin_desc$
|
189
|
+
|
190
|
+
# gwyddion
|
191
|
+
.*/gwyddion/modules/.*/.*\.so ^_gwy_module_query$
|
192
|
+
|
193
|
+
# VDR
|
194
|
+
.*/vdr/plugins/libvdr-.*\.so ^(VDRPluginCreator|Phrases)$
|
195
|
+
|
196
|
+
# Pidgin
|
197
|
+
.*/(pidgin|purple-2)/.*\.so ^purple_init_plugin$
|
198
|
+
|
199
|
+
.*/lpe/.*mode\.so ^mode_(enter|accept|highlight|init)$
|
200
|
+
|
201
|
+
# GEGL
|
202
|
+
.*/gegl-.*/.*\.so ^gegl_(module_(register|query)|chant_get_type)$
|
203
|
+
|
204
|
+
# SANE backends
|
205
|
+
.*/sane/libsane-.*\.so ^sane_(cancel|close|control_option|exit|get_(devices|option_descriptor|parameters|select_fd)|init|open|read|set_io_mode|start|strstatus)
|
206
|
+
|
207
|
+
# EVMS
|
208
|
+
/lib(|32|64)/evms/.*/.*\.so ^evms_plugin_records$
|
209
|
+
|
210
|
+
# updatedd
|
211
|
+
/lib(32|64)?/lib.*\.so.* ^(log_(err|warn|notice)|dyndns|get_retmsg)$
|
212
|
+
|
213
|
+
# HUGS
|
214
|
+
/lib(32|64)?/hugs/packages/.*/.*\.so ^(HugsAPIVersion|initModule)$
|
215
|
+
|
216
|
+
/lib(32|64)?/dia/lib.*\.so ^dia_plugin_init$
|
217
|
+
|
218
|
+
/lib(32|64)?/anjuta/.*\.so ^anjuta_glue_register_components$
|
219
|
+
|
220
|
+
/lib(32|64)?/postgresql(-[0-9\.]+)?/.*\.so ^Pg_magic_func$
|
221
|
+
|
222
|
+
/lib(32|64)?/stardict/plugins/.*\.so ^stardict_(parsedata_)?plugin_(exit|init)$
|
223
|
+
|
224
|
+
/lib(32|64)?/lv2/.*\.lv2/.*\.so ^lv2_descriptor$
|
225
|
+
|
226
|
+
/lib(32|64)?/emelfm2/plugins/.*\.so ^(init|clean)_plugin$
|
227
|
+
|
228
|
+
/lib(32|64)?/mozart/cache/x-oz/ ^oz_module_name$
|
229
|
+
|
230
|
+
# Netscape/Mozilla plugins
|
231
|
+
.* ^NP[NP]?_(Get(MIMEDescription|Value|Java(Class|Env|Peer)|URL|Property|StringIdentifier)|Set(Window|Value)|Initialize|Shutdown|(Destroy|New)(Stream)?|Mem(Alloc|Flush|Free)|PostURL|ReloadPlugins|RequestRead|Status|UserAgent|Version|Write|Print|StreamAsFile|Write(Ready)?|URLNotify|ForceRedraw|Invalidate(Rect|Region)|HandleEvent|(Push|Pop)PopupEnabledState|ReleaseObject)
|
232
|
+
|
233
|
+
/lib(32|64)?/rep/.*\.so$ ^rep_dl_init$
|
234
|
+
|
235
|
+
/lib(32|64)?/oops/.*\.so ^mod(ule_(name|info|type)|_(run|(un)?load|config(_(beg|end))?))$
|
236
|
+
|
237
|
+
/lib(32|64)?/blib-[0-9\.]+/modules/.*\.so ^b_module_register$
|
238
|
+
|
239
|
+
/lib(32|64)?/lineakd/plugins/.*\.so ^(cleanup|initialize|exec)$
|
240
|
+
/lib(32|64)?/audacious/.*/.*\.so ^get_plugin_info$
|
241
|
+
/lib(32|64)?/libvisual-[0-9\.]+/.*\.so ^get_plugin_info$
|
242
|
+
/lib(32|64)?/pike/modules/.*\.so ^pike_module_(init|exit)$
|
243
|
+
/lib(32|64)?/ettercap/ec_.*\.so ^plugin_load$
|
244
|
+
/lib(32|64)?/transcode/filter.*\.so ^tc_filter$
|
245
|
+
/lib(32|64)?/gkrellm2/plugins/.*\.so ^gkrellm_init_plugin$
|
246
|
+
/lib(32|64)?/cinelerra/.*\.so ^new_plugin$
|
247
|
+
/lib(32|64)?/jabberd/mod_.*\.so ^module_init$
|
248
|
+
/lib(32|64)?/lftp/[0-9\.]+/.*\.so ^module_init$
|
249
|
+
/lib(32|64)?/(svxlink|tablix2|nepenthes)/.*\.so ^module_init$
|
250
|
+
/lib(32|64)?/(pptp|pppd/[0-9\.]+)/.*\.so ^plugin_init$
|
251
|
+
/lib(32|64)?/(planner|openvas|sensors-applet|streamtuner)/plugins/.*\.so ^plugin_init$
|
252
|
+
/lib(32|64)?/(geany|blender|multisync)/.*\.so ^plugin_init$
|
253
|
+
/lib(32|64)?/mythtv/plugins/.*\.so ^mythplugin_(init|config|run)$
|
254
|
+
/lib(32|64)?/kradio/plugins/.*\.so ^KRadioPlugin_(LoadLibrary|GetAvailablePlugins|CreatePlugin|UnloadLibrary)$
|
255
|
+
/lib(32|64)?/libmirage/.*\.so ^mirage_plugin_(un)?load_plugin$
|
256
|
+
/lib(32|64)?/awn/applets/.*/.*\.so ^awl_applet_factory_initp$
|
257
|
+
/lib(32|64)?/rxtx-2/.*\.so ^translate_((data|stop)_bits|parity|speed)$
|
258
|
+
/php5/lib/php/extensions/.*/.*\.so ^get_module$
|
259
|
+
/lib(32|64)?/licq/licq_.*\.so ^LP_(Build(Date|Time)|ConfigFile|Description|Exit|Init|Main(_tep)?|Name|Status|Usage|Version)$
|
260
|
+
/lib(32|64)?/gambas2?/gb\..*\.so ^GB_(INIT|EXIT|CLASSES)$
|
261
|
+
/lib(32|64)?/SpiralPlugins/.*\.so ^SpiralPlugin_(CreateInstance|Get(GroupName|Icon|ID))$
|
262
|
+
/lib(32|64)?/initng/.*\.so ^(module_(init|unload|needs)|plugin_api_version)$
|
263
|
+
/lib(32|64)?/ser/modules/.*\.so ^(exports|module_(version|flags))$
|
264
|
+
/lib(32|64)?/gimageview/.*/.*\.so ^gimv_plugin_info$
|
265
|
+
/lib(32|64)?/asterisk/modules/.*\.so ^(description|key|(un)?load_module|usecount|reload)$
|
266
|
+
/lib(32|64)?/emerald/engines/.*\.so ^(init_engine|layout_engine_(settings|colors))$
|
267
|
+
/lib(32|64)?/compiz/.*\.so ^getCompPluginInfo(20070830)?$
|
268
|
+
/lib(32|64)?/gmpc/plugins/.*\.so ^plugin(|_api_version)$
|
269
|
+
/lib(32|64)?/znc/.*\.so ^((Unl|L)oad|Get(Version|Description)|IsGlobal)$
|
270
|
+
/lib(32|64)?/sweep/.*\.so ^plugin$
|
271
|
+
/lib(32|64)?/gpac/gm_.*\.so ^(Query|Shutdown)Interface$
|
272
|
+
/lib(32|64)?/k3d/plugins/k3d-.*\.module ^register_k3d_plugins$
|
273
|
+
/lib(32|64)?/frei0r-1/.*\.so ^f0r_((con|de)struct|(de)?init||get_(param_(info|value)|plugin_info)|set_param_value|update2?)$
|
274
|
+
/lib(32|64)?/kvirc/[0-9\.]+/modules/.*\.so ^KVIrc_module_info$
|
275
|
+
/lib(32|64)?/ModemManager/libmm.*\.so ^mm_plugin_(create|major_version)$
|
276
|
+
/lib(32|64)?/rsyslog/.*\.so ^modInit$
|
277
|
+
/lib(32|64)?/(connman|flimflam)/plugins/.*\.so ^connman_plugin_desc$
|
278
|
+
/lib(32|64)?/pppd/[0-9.]\+/.*\.so ^pppd_version$
|
279
|
+
/lib(32|64)?/device-mapper/.*\.so ^(process_event|(un)?register_device)$
|