diff --git a/ChangeLog b/ChangeLog index 1b3d94a136..624a6bca93 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Fri Jul 27 12:12:36 2012 NAKAMURA Usaku + + * 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 * 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