From 3f539a5b5966d00f28bbae2617c006d93b491d17 Mon Sep 17 00:00:00 2001 From: usa Date: Fri, 27 Jul 2012 03:14:49 +0000 Subject: [PATCH] * win32/mkexports.rb: should not export DllMain(). reported by luis at [ruby-core:46743] [Bug #6790], solved by Heesob Park, and confirmed by nobu. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36544 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 6 ++++++ win32/mkexports.rb | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) 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