diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rwxr-xr-x | win32/mkexports.rb | 4 |
2 files changed, 8 insertions, 2 deletions
@@ -1,3 +1,9 @@ +Fri Jul 27 12:12:36 2012 NAKAMURA Usaku <usa@ruby-lang.org> + + * win32/mkexports.rb: should not export DllMain(). + reported by luis at [ruby-core:46743] [Bug #6790], solved by + Heesob Park, and confirmed by nobu. + Thu Jul 26 14:51:29 2012 URABE Shyouhei <shyouhei@ruby-lang.org> * test/net/http/test_https.rb (TestNetHTTPS#test_session_reuse): diff --git a/win32/mkexports.rb b/win32/mkexports.rb index 3a1a91a586..62d48cfce1 100755 --- a/win32/mkexports.rb +++ b/win32/mkexports.rb @@ -116,7 +116,7 @@ class Exports::Mswin < Exports is_data = !$1 if noprefix or /^[@_]/ =~ l next if /(?!^)@.*@/ =~ l || /@[[:xdigit:]]{8,16}$/ =~ l || - /^_(?:Init_|.*_threadptr_|DllMain@)/ =~ l + /^_?(?:Init_|.*_threadptr_|DllMain\b)/ =~ l l.sub!(/^[@_]/, '') if /@\d+$/ !~ l elsif !l.sub!(/^(\S+) \([^@?\`\']*\)$/, '\1') next @@ -150,7 +150,7 @@ class Exports::Cygwin < Exports def each_export(objs) symprefix = RbConfig::CONFIG["SYMBOL_PREFIX"] symprefix.strip! if symprefix - re = /\s(?:(T)|[[:upper:]])\s#{symprefix}((?!Init_|.*_threadptr_|DllMain@).*)$/ + re = /\s(?:(T)|[[:upper:]])\s#{symprefix}((?!Init_|.*_threadptr_|DllMain\b).*)$/ objdump(objs) do |l| next if /@.*@/ =~ l yield $2, !$1 if re =~ l |