diff --git a/ChangeLog b/ChangeLog index af5b64db49..492fabfadc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Wed Feb 4 11:45:06 2009 NAKAMURA Usaku + + * win32/mkexports.rb: shouldn't export DllMain. + reported at http://pc11.2ch.net/test/read.cgi/tech/1233686068/21 + Wed Feb 4 10:12:05 2009 Yukihiro Matsumoto * missing/vsnprintf.c (BSD_vfprintf): should support 't' format diff --git a/win32/mkexports.rb b/win32/mkexports.rb index 4d7eeb57eb..6c480ef3f6 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::Mingw < 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 yield "strcasecmp", "_stricmp" yield "strncasecmp", "_strnicmp"