ruby-changes:23311
From: nobu <ko1@a...>
Date: Tue, 17 Apr 2012 14:27:36 +0900 (JST)
Subject: [ruby-changes:23311] nobu:r35362 (ruby_1_9_3): merge revision(s) 35354,35356,35357,35361:
nobu 2012-04-17 14:27:25 +0900 (Tue, 17 Apr 2012) New Revision: 35362 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=35362 Log: merge revision(s) 35354,35356,35357,35361: * dln.c (rb_w32_check_imported): skip ordinal entries. based on a patch by phasis68 (Heesob Park) at [ruby-core:44381]. [ruby-core:44371][Bug #6303] Added directories: branches/ruby_1_9_3/ext/-test-/win32/ branches/ruby_1_9_3/test/-ext-/win32/ Modified files: branches/ruby_1_9_3/ChangeLog branches/ruby_1_9_3/dln.c branches/ruby_1_9_3/ext/-test-/win32/dln/extconf.rb branches/ruby_1_9_3/version.h Index: ruby_1_9_3/ChangeLog =================================================================== --- ruby_1_9_3/ChangeLog (revision 35361) +++ ruby_1_9_3/ChangeLog (revision 35362) @@ -1,7 +1,8 @@ -Mon Apr 16 21:26:20 2012 Nobuyoshi Nakada <nobu@r...> +Mon Apr 17 14:27:22 2012 Nobuyoshi Nakada <nobu@r...> - * dln.c (rb_w32_check_imported): skip ordinal entries. patched by - phasis68 (Heesob Park) at [ruby-core:44381]. [Bug #6303] + * dln.c (rb_w32_check_imported): skip ordinal entries. based on a + patch by phasis68 (Heesob Park) at [ruby-core:44381]. + [ruby-core:44371][Bug #6303] Sun Apr 15 14:57:00 2012 Tanaka Akira <akr@f...> Index: ruby_1_9_3/dln.c =================================================================== --- ruby_1_9_3/dln.c (revision 35361) +++ ruby_1_9_3/dln.c (revision 35362) @@ -1214,7 +1214,7 @@ while (desc->Name) { PIMAGE_THUNK_DATA pint = (PIMAGE_THUNK_DATA)((char *)ext + desc->Characteristics); PIMAGE_THUNK_DATA piat = (PIMAGE_THUNK_DATA)((char *)ext + desc->FirstThunk); - while (piat->u1.Function) { + for (; piat->u1.Function; piat++, pint++) { static const char prefix[] = "rb_"; PIMAGE_IMPORT_BY_NAME pii; const char *name; @@ -1226,8 +1226,6 @@ FARPROC addr = GetProcAddress(mine, name); if (addr) return (FARPROC)piat->u1.Function == addr; } - piat++; - pint++; } desc++; } Index: ruby_1_9_3/ext/-test-/win32/dln/libdlntest.def =================================================================== --- ruby_1_9_3/ext/-test-/win32/dln/libdlntest.def (revision 0) +++ ruby_1_9_3/ext/-test-/win32/dln/libdlntest.def (revision 35362) @@ -0,0 +1,2 @@ +EXPORTS +dlntest_ordinal @1 NONAME Property changes on: ruby_1_9_3/ext/-test-/win32/dln/libdlntest.def ___________________________________________________________________ Added: svn:eol-style + LF Index: ruby_1_9_3/ext/-test-/win32/dln/libdlntest.c =================================================================== --- ruby_1_9_3/ext/-test-/win32/dln/libdlntest.c (revision 0) +++ ruby_1_9_3/ext/-test-/win32/dln/libdlntest.c (revision 35362) @@ -0,0 +1,4 @@ +extern __declspec(dllexport) void +dlntest_ordinal(void) +{ +} Property changes on: ruby_1_9_3/ext/-test-/win32/dln/libdlntest.c ___________________________________________________________________ Added: svn:eol-style + LF Index: ruby_1_9_3/ext/-test-/win32/dln/extconf.rb =================================================================== --- ruby_1_9_3/ext/-test-/win32/dln/extconf.rb (revision 0) +++ ruby_1_9_3/ext/-test-/win32/dln/extconf.rb (revision 35362) @@ -0,0 +1,29 @@ +if /mswin|mingw/ =~ RUBY_PLATFORM + $objs = ["dlntest.o"] + $cleanfiles << "$(topdir)/dlntest.dll" + config_string('cleanobjs') {|t| $cleanfiles.concat(t.gsub(/\$\*/, 'dlntest').split)} + + create_makefile("-test-/win32/dln") + m = File.read("Makefile") + m.sub!(/^OBJS =.*/) {$&+" dlntest.#{$LIBEXT}"} + open("Makefile", "wb") do |mf| + mf.puts m, "\n" + sodir = $extout ? "$(RUBYARCHDIR)/" : '' + mf.print "#{sodir}$(DLLIB): dlntest.#{$LIBEXT}" + mf.puts + mf.puts "dlntest.#{$LIBEXT}: $(topdir)/dlntest.dll" + mf.puts + mf.puts depend_rules("$(topdir)/dlntest.dll: libdlntest.o libdlntest.def") + mf.puts "\t$(ECHO) linking shared-object $(@F)\n" + mf.print "\t-$(Q)$(RM) $@\n" + mf.print "\t-$(Q)$(MAKEDIRS) $(@D)\n" if $extout + link_so = LINK_SO.gsub(/^/, "\t$(Q) ") + link_so.sub!(/\$\(LOCAL_LIBS\)/, '') + link_so.gsub!(/-\$\(arch\)/, '') + link_so.gsub!(/:.so=/, ':.dll=') + link_so.sub!(/\$\(OBJS\)/, "libdlntest.#{$OBJEXT}") + link_so.sub!(/\$\(DEFFILE\)/, "$(srcdir)/libdlntest.def") + mf.puts link_so + mf.puts + end +end Property changes on: ruby_1_9_3/ext/-test-/win32/dln/extconf.rb ___________________________________________________________________ Added: svn:eol-style + LF Index: ruby_1_9_3/ext/-test-/win32/dln/dlntest.c =================================================================== --- ruby_1_9_3/ext/-test-/win32/dln/dlntest.c (revision 0) +++ ruby_1_9_3/ext/-test-/win32/dln/dlntest.c (revision 35362) @@ -0,0 +1,17 @@ +#include <ruby.h> + +extern __declspec(dllimport) void dlntest_ordinal(void); + +static VALUE +dln_dlntest(VALUE self) +{ + dlntest_ordinal(); + return self; +} + +void +Init_dln(void) +{ + VALUE m = rb_define_module_under(rb_define_module("Bug"), "Win32"); + rb_define_module_function(m, "dlntest", dln_dlntest, 0); +} Property changes on: ruby_1_9_3/ext/-test-/win32/dln/dlntest.c ___________________________________________________________________ Added: svn:eol-style + LF Index: ruby_1_9_3/version.h =================================================================== --- ruby_1_9_3/version.h (revision 35361) +++ ruby_1_9_3/version.h (revision 35362) @@ -1,10 +1,10 @@ #define RUBY_VERSION "1.9.3" -#define RUBY_PATCHLEVEL 185 +#define RUBY_PATCHLEVEL 186 -#define RUBY_RELEASE_DATE "2012-04-16" +#define RUBY_RELEASE_DATE "2012-04-17" #define RUBY_RELEASE_YEAR 2012 #define RUBY_RELEASE_MONTH 4 -#define RUBY_RELEASE_DAY 16 +#define RUBY_RELEASE_DAY 17 #include "ruby/version.h" Index: ruby_1_9_3/test/-ext-/win32/test_dln.rb =================================================================== --- ruby_1_9_3/test/-ext-/win32/test_dln.rb (revision 0) +++ ruby_1_9_3/test/-ext-/win32/test_dln.rb (revision 35362) @@ -0,0 +1,13 @@ +require 'test/unit' +require_relative '../../ruby/envutil' + +module Bug + module Win32 + class TestDln < Test::Unit::TestCase + def test_check_imported + bug = '[Bug #6303]' + assert_in_out_err(['-r-test-/win32/dln', '-eexit'], '', [], [], bug, timeout: 10) + end + end + end +end Property changes on: ruby_1_9_3/test/-ext-/win32/test_dln.rb ___________________________________________________________________ Added: svn:eol-style + LF -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/