ruby-elf 1.0.3 → 1.0.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -31,7 +31,7 @@ osswrappers /lib(|32|64)/lib(aoss|(esd|pa|)dsp)\.so$
31
31
  libxerces /lib(|32|64)/libxerces-(c|depdom)\.so
32
32
 
33
33
  # Boost
34
- libboost_$2 /lib(|32|64)/libboost_([a-z_]+)(-mt)?.so
34
+ libboost_$2 /lib(|32|64)/libboost_([0-9a-z_]+)(-mt)?(-[0-9_]+)?.so
35
35
 
36
36
  # KDE's libgpgme++
37
37
  libgpgme++ /lib(|32|64)/libgpgme\+\+(-pth(read)?)?\.so
@@ -58,8 +58,6 @@ cblas /lib(32|64)?/gclcblas\.so
58
58
 
59
59
  libcorex /lib(32|64)?/libcorex\+\+_level[123]\.so
60
60
 
61
- lib$5 /lib(32|64)?/(nvu|mozilla-(sunbird|thunderbird)|xulrunner(-[0-9\.]+)?|seamonkey)/lib([a-zA-Z_]+)(_core)?\.so$
62
-
63
61
  libstlport /lib(32|64)?/libstlport((stl)?g?)\.so
64
62
 
65
63
  libfann /lib(32|64)?/lib(double|float|fixed)?fann.so
@@ -109,9 +107,25 @@ fftw /lib(32|64)?/lib[ds]?fftw(3[lf]?(_threads)?)?\.so
109
107
  CLHEP /lib(32|64)?/libCLHEP(-(Vector|GenericFunctions|Matrix|Random|Geometry))?-[0-9\.]+\.so
110
108
 
111
109
  mozilla-libs /lib(xpcom(_core|glue)?|xul)(-[0-9\.]+)?\.so
110
+ lib$7 /lib(32|64)?/(nvu|mozilla-(sunbird|thunderbird)|xulrunner(-devel)?(-[0-9\.]+)?|seamonkey)(/sdk/lib)?/lib([0-9a-zA-Z_]+)(_core)?\.so$
112
111
 
113
112
  libstdc++ /lib/libstdc\+\+-libc[0-9\.\-]+\.so
114
113
 
114
+ libHSrts /libHSrts(_thr)?(_debug)?-ghc[0-9.]+\.so
115
+
116
+ libruby /libruby(ee)?1[89]\.so
117
+
118
+ lib$1 /lib(g[dt]k)(-x11)?\.so
119
+
120
+ libidnkit /libidnkit(lite)?\.so
121
+
122
+ libGL /libGL(ESv2)?\.so
123
+
124
+ libzzip /libzzip(mmapped|fseeko)?-0\.so
125
+
126
+ PKCS#11 /(openpin-)?opensc-pkcs11\.so
127
+ PKCS#11 /pkcs11-spy\.so
128
+
115
129
  # Library consolidation, keep at the end!
116
130
  #
117
131
  # This following line is used to consolidate all libraries that have
@@ -60,28 +60,31 @@
60
60
  .*\.exe\.so ^WinMain$
61
61
 
62
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)$
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|gdk-pixbuf-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
+ /gio/modules/.*\.so ^g_io_module_(un)?load$
86
+ /evince/.*/backends/.*\.so ^register_evince_backend$
87
+ /notification-daemon-[0-9\.]+/.*\.so ^(add_notification_action|clear_notification_actions|(create|move)_notification|notification_tick|set_notification_(arrow|hints|icon|text|timeout))$
85
88
 
86
89
  # XFCE
87
90
  /lib(32|64)?/thunarx-[0-9\.]+/.*\.so ^thunar_extension_(initialize|list_types|shutdown)$
@@ -98,6 +101,7 @@
98
101
  .* ^JNI_OnLoad$
99
102
  # Sun Java implementation
100
103
  ^/opt/sun-jdk-.*/.* ^JavaMain$
104
+ /icedtea6/.* ^JavaMain$
101
105
 
102
106
  # ZSH modules
103
107
  .*/zsh/.*/zsh/.*\.so ^(boot|setup|cleanup|finish)_$
@@ -106,7 +110,7 @@
106
110
  .*/wireshark/plugins/.*/.*\.so ^(version|plugin_(reg_handoff|register))$
107
111
 
108
112
  # Samba plugins
109
- .*/samba/(vfs|auth|charset)/.*\.so ^init_module$
113
+ .*/samba/(vfs|auth|charset)/.*\.so ^init_(samba_)?module$
110
114
 
111
115
  # XawTV plugins
112
116
  .*/xawtv/.*\.so ^ng_plugin_init$
@@ -156,9 +160,9 @@
156
160
  .*/lib(|32|64)/zsh/.*/zsh/.*\.so$ ^(enables|features)_$
157
161
 
158
162
  # 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?)$
163
+ lib((pulse|esd|arts)dsp|aoss|jackasyn|(soap|sand)box|fake(ch)?root|zzuf|v4l(1compat|2convert)|trash|syncdir|honeyd|tsocks) ^((__)?(m(un)?map(64)?|f?(open(at)?(64)?(_2)?|close))|ioctl|poll|connect|glob|bind|execvp?)$
160
164
 
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)?$
165
+ 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)?mknod(e|at)|symlink|access|truncate)(64)?(at)?$
162
166
 
163
167
  # Memory debug libraries
164
168
  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)$
@@ -182,7 +186,7 @@ strigi/strigi[lt]a_.*\.so ^(deleteS|s)trigiAnalyzerFactory$
182
186
  .*/unrealircd/modules/m_.*\.so ^(Mod_(Init|Load|Version|Unload|Header)|compiler_version)$
183
187
 
184
188
  # VLC
185
- .*/vlc/.*/lib.*_plugin\.so ^vlc_entry(_(license|copyright))?__[0-9_]+[me]$
189
+ .*/vlc/.*/lib.*_plugin\.so ^vlc_entry(_(license|copyright))?__[0-9_]+[a-z]$
186
190
 
187
191
  # GStreamer
188
192
  .*/gstreamer-.*/lib.*\.so ^gst_plugin_desc$
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-elf
3
3
  version: !ruby/object:Gem::Version
4
- hash: 17
4
+ hash: 31
5
5
  prerelease: false
6
6
  segments:
7
7
  - 1
8
8
  - 0
9
- - 3
10
- version: 1.0.3
9
+ - 4
10
+ version: 1.0.4
11
11
  platform: ruby
12
12
  authors:
13
13
  - "Diego Elio Petten\xC3\xB2"
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-02-04 00:00:00 +01:00
18
+ date: 2011-04-26 00:00:00 +02:00
19
19
  default_executable:
20
20
  dependencies: []
21
21
 
@@ -30,6 +30,7 @@ executables:
30
30
  - elfgrep
31
31
  - cowstats
32
32
  - verify-lfs
33
+ - rbelf-read
33
34
  - rbelf-size
34
35
  - missingstatic
35
36
  extensions: []
@@ -42,6 +43,7 @@ files:
42
43
  - bin/cowstats
43
44
  - bin/elfgrep
44
45
  - bin/missingstatic
46
+ - bin/rbelf-read
45
47
  - bin/rbelf-size
46
48
  - bin/verify-lfs
47
49
  - extras/README.extras
@@ -66,7 +68,6 @@ files:
66
68
  - manpages/rbelf-size.1.xml
67
69
  - manpages/verify-lfs.1.xml
68
70
  - tools/assess_duplicate_save.rb
69
- - tools/link-collisions/analyse.rb
70
71
  - tools/link-collisions/harvest.rb
71
72
  - tools/link-collisions/known-broken
72
73
  - tools/link-collisions/multimplementations
@@ -74,7 +75,6 @@ files:
74
75
  - tools/link-collisions/suppressions
75
76
  - tools/nm.rb
76
77
  - tools/rbelf-lddtree.rb
77
- - tools/readelf-d.rb
78
78
  - lib/elf/symbol/demangler_gcc3.rb
79
79
  - manpages/verify-lfs.1
80
80
  - manpages/elfgrep.1
@@ -1,57 +0,0 @@
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
- require 'getoptlong'
20
- require 'pg'
21
-
22
- opts = GetoptLong.new(
23
- ["--output", "-o", GetoptLong::REQUIRED_ARGUMENT],
24
- ["--postgres-username", "-U", GetoptLong::REQUIRED_ARGUMENT ],
25
- ["--postgres-password", "-P", GetoptLong::REQUIRED_ARGUMENT ],
26
- ["--postgres-hostname", "-H", GetoptLong::REQUIRED_ARGUMENT ],
27
- ["--postgres-port", "-T", GetoptLong::REQUIRED_ARGUMENT ],
28
- ["--postgres-database", "-D", GetoptLong::REQUIRED_ARGUMENT ]
29
- )
30
-
31
- outfile = $stdout
32
-
33
- pg_params = {}
34
-
35
- opts.each do |opt, arg|
36
- case opt
37
- when '--output'
38
- outfile = File.new(arg, "w")
39
- when '--postgres-username' then pg_params[:user] = arg
40
- when '--postgres-password' then pg_params[:password] = arg
41
- when '--postgres-hostname' then pg_params[:host] = arg
42
- when '--postgres-port' then pg_params[:port] = arg
43
- when '--postgres-database' then pg_params[:dbname] = arg
44
- end
45
- end
46
-
47
- db = PGconn.open(pg_params)
48
-
49
- db.exec("PREPARE getinstances (text, text) AS
50
- SELECT name FROM symbols INNER JOIN objects ON symbols.object = objects.id WHERE symbol = $1 AND abi = $2 ORDER BY name")
51
-
52
- db.exec("SELECT * FROM duplicate_symbols").each do |row|
53
- outfile.puts "Symbol #{row['symbol']} (#{row['abi']}) present #{row['occurrences']} times"
54
- db.exec( "EXECUTE getinstances ('#{row['symbol']}', '#{row['abi']}')" ).each do |path|
55
- outfile.puts " #{path['name']}"
56
- end
57
- end
data/tools/readelf-d.rb DELETED
@@ -1,79 +0,0 @@
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
- # readelf -d implementation based on elf.rb (very limited)
20
-
21
- require 'elf'
22
- require 'getoptlong'
23
-
24
- files = ARGV.length > 0 ? ARGV : ['a.out']
25
-
26
- files.each do |file|
27
- puts
28
- begin
29
- Elf::File.open(file) do |elf|
30
- dynsection = elf['.dynamic']
31
-
32
- unless dynsection
33
- puts "There is no dynamic section in this file."
34
- next
35
- end
36
-
37
- addrsize = (elf.elf_class == Elf::Class::Elf32 ? 8 : 16)
38
-
39
- printf("Dynamic section at offset 0x%x contains %d entries\n",
40
- dynsection.offset,
41
- dynsection.size)
42
-
43
- puts " Tag Type Name/Value\n"
44
-
45
- dynsection.each_entry do |entry|
46
-
47
- case entry.type
48
- when Elf::Dynamic::Type::Needed
49
- val = "Shared library: [#{entry.parsed}]"
50
- when Elf::Dynamic::Type::Auxiliary
51
- val = "Auxiliary library: [#{entry.parsed}]"
52
- when Elf::Dynamic::Type::SoName
53
- val = "Library soname: [#{entry.parsed}]"
54
- when Elf::Dynamic::Type::StrSz, Elf::Dynamic::Type::SymEnt,
55
- Elf::Dynamic::Type::PltRelSz, Elf::Dynamic::Type::RelASz,
56
- Elf::Dynamic::Type::RelAEnt
57
-
58
- val = "#{entry.value} (bytes)"
59
- when Elf::Dynamic::Type::VerDefNum, Elf::Dynamic::Type::VerNeedNum, Elf::Dynamic::Type::RelACount
60
- val = entry.value
61
- when Elf::Dynamic::Type::GNUPrelinked
62
- val = entry.parsed.getutc.strftime('%Y-%m-%dT%H:%M:%S')
63
- else
64
- val = sprintf "0x%0#{addrsize}x", entry.value
65
- end
66
-
67
- printf " 0x%08x %-28s %s\n", entry.type.to_i, "(#{entry.type.to_s})", val
68
-
69
- break if entry.type == Elf::Dynamic::Type::Null
70
- end
71
- end
72
- rescue Errno::ENOENT
73
- $stderr.puts "readelf-d.rb: '#{file}': No such file"
74
- exit 1
75
- end
76
- end
77
-
78
- exit 0
79
-