summaryrefslogtreecommitdiffstats
path: root/win32/mkexports.rb
diff options
context:
space:
mode:
authorusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-02-04 02:50:04 +0000
committerusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-02-04 02:50:04 +0000
commitaf1d6c825af47b96216a56519e7a7c5141346941 (patch)
tree6955ca3eeb0c5c6268182f911a612f1582bd7072 /win32/mkexports.rb
parent20437af09762cc200b150bd47651c5671b8aa674 (diff)
downloadruby-af1d6c825af47b96216a56519e7a7c5141346941.tar.gz
ruby-af1d6c825af47b96216a56519e7a7c5141346941.tar.xz
ruby-af1d6c825af47b96216a56519e7a7c5141346941.zip
* win32/mkexports.rb: shouldn't export DllMain.
reported at http://pc11.2ch.net/test/read.cgi/tech/1233686068/21 git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@22025 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'win32/mkexports.rb')
-rwxr-xr-xwin32/mkexports.rb5
1 files changed, 3 insertions, 2 deletions
diff --git a/win32/mkexports.rb b/win32/mkexports.rb
index 22bb2a193..536ee9735 100755
--- a/win32/mkexports.rb
+++ b/win32/mkexports.rb
@@ -110,7 +110,7 @@ class Exports::Mswin < Exports
next unless l.sub!(/.*?\s(\(\)\s+)?External\s+\|\s+/, '')
is_data = !$1
if noprefix or /^[@_]/ =~ l
- next if /(?!^)@.*@/ =~ l || /@[[:xdigit:]]{16}$/ =~ l
+ next if /(?!^)@.*@/ =~ l || /@[[:xdigit:]]{16}$/ =~ l || /^_DllMain@/ =~ l
l.sub!(/^[@_]/, '') if /@\d+$/ !~ l
elsif !l.sub!(/^(\S+) \([^@?\`\']*\)$/, '\1')
next
@@ -143,7 +143,8 @@ class Exports::Cygwin < Exports
def each_export(objs)
objdump(objs) do |l|
- yield $2, !$1 if /\s(?:(T)|[[:upper:]])\s_((?!Init_).*)$/ =~ l
+ next if /@.*@/ =~ l
+ yield $2, !$1 if /\s(?:(T)|[[:upper:]])\s_((?!Init_|DllMain@).*)$/ =~ l
end
end
end