summaryrefslogtreecommitdiff
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
commitfbea35aa4742671c9e1975cfb163103eec46ecff (patch)
tree6955ca3eeb0c5c6268182f911a612f1582bd7072 /win32/mkexports.rb
parent049d98c6ffae93db44e83a6f8a88cb66cba735a1 (diff)
* win32/mkexports.rb: shouldn't export DllMain.
reported at http://pc11.2ch.net/test/read.cgi/tech/1233686068/21 git-svn-id: svn+ssh://ci.ruby-lang.org/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 22bb2a1..536ee97 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