Re: Patch 7.4.225
Ken Takata wrote: > 2014/3/28 Fri 3:09:11 UTC+9 Bram Moolenaar wrote: > > Patch 7.4.225 > > Problem:Dynamic Ruby doesn't work on Solaris. > > Solution: Always use the stubs. (Danek Duvall, Yukihiro Nakadaira) > > Files: src/if_ruby.c > > Link error occurs after 7.4.225 on Ubuntu 12.04 x86_64 with ruby 1.8 > (+ruby/dyn). > > objects/if_ruby.o: In function `window_s_aref': > if_ruby.c:(.text+0x2cf): undefined reference to `rb_fix2int_stub' > if_ruby.c:(.text+0x311): undefined reference to `rb_num2int_stub' > objects/if_ruby.o: In function `buffer_s_aref': > if_ruby.c:(.text+0x37f): undefined reference to `rb_fix2int_stub' > if_ruby.c:(.text+0x3c9): undefined reference to `rb_num2int_stub' > objects/if_ruby.o: In function `window_set_width': > if_ruby.c:(.text+0x101d): undefined reference to `rb_num2int_stub' > if_ruby.c:(.text+0x1049): undefined reference to `rb_fix2int_stub' > objects/if_ruby.o: In function `window_set_height': > if_ruby.c:(.text+0x108d): undefined reference to `rb_num2int_stub' > if_ruby.c:(.text+0x10b9): undefined reference to `rb_fix2int_stub' > > Attached patch seems to fix this. > > Tested with: > * Ubuntu 12.04 x86_64, ruby 1.8.7 (+ruby/dyn) > * Ubuntu 12.04 x86_64, ruby 1.9.3 (+ruby/dyn) Thanks! -- It doesn't really matter what you are able to do if you don't do it. (Bram Moolenaar) /// Bram Moolenaar -- b...@moolenaar.net -- http://www.Moolenaar.net \\\ ///sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ \\\ an exciting new programming language -- http://www.Zimbu.org/// \\\help me help AIDS victims -- http://ICCF-Holland.org/// -- -- You received this message from the "vim_dev" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php --- You received this message because you are subscribed to the Google Groups "vim_dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to vim_dev+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: Patch 7.4.225
Hi, 2014/3/28 Fri 3:09:11 UTC+9 Bram Moolenaar wrote: > Patch 7.4.225 > Problem:Dynamic Ruby doesn't work on Solaris. > Solution: Always use the stubs. (Danek Duvall, Yukihiro Nakadaira) > Files:src/if_ruby.c Link error occurs after 7.4.225 on Ubuntu 12.04 x86_64 with ruby 1.8 (+ruby/dyn). objects/if_ruby.o: In function `window_s_aref': if_ruby.c:(.text+0x2cf): undefined reference to `rb_fix2int_stub' if_ruby.c:(.text+0x311): undefined reference to `rb_num2int_stub' objects/if_ruby.o: In function `buffer_s_aref': if_ruby.c:(.text+0x37f): undefined reference to `rb_fix2int_stub' if_ruby.c:(.text+0x3c9): undefined reference to `rb_num2int_stub' objects/if_ruby.o: In function `window_set_width': if_ruby.c:(.text+0x101d): undefined reference to `rb_num2int_stub' if_ruby.c:(.text+0x1049): undefined reference to `rb_fix2int_stub' objects/if_ruby.o: In function `window_set_height': if_ruby.c:(.text+0x108d): undefined reference to `rb_num2int_stub' if_ruby.c:(.text+0x10b9): undefined reference to `rb_fix2int_stub' Attached patch seems to fix this. Tested with: * Ubuntu 12.04 x86_64, ruby 1.8.7 (+ruby/dyn) * Ubuntu 12.04 x86_64, ruby 1.9.3 (+ruby/dyn) Regards, Ken Takata -- -- You received this message from the "vim_dev" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php --- You received this message because you are subscribed to the Google Groups "vim_dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to vim_dev+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout. # HG changeset patch # Parent a5d3f1327978ca5503c1258e4544366b788bc5f7 diff --git a/src/if_ruby.c b/src/if_ruby.c --- a/src/if_ruby.c +++ b/src/if_ruby.c @@ -88,8 +88,9 @@ # define rb_int2big rb_int2big_stub #endif -#if defined(DYNAMIC_RUBY_VER) && VIM_SIZEOF_INT < VIM_SIZEOF_LONG -/* Ruby 2.0 defines a number of static functions which use rb_fix2int and +#if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 19 \ + && VIM_SIZEOF_INT < VIM_SIZEOF_LONG +/* Ruby 1.9 defines a number of static functions which use rb_fix2int and * rb_num2int if VIM_SIZEOF_INT < VIM_SIZEOF_LONG (64bit) */ # define rb_fix2int rb_fix2int_stub # define rb_num2int rb_num2int_stub @@ -202,6 +203,10 @@ # define rb_inspect dll_rb_inspect # define rb_int2inum dll_rb_int2inum # if VIM_SIZEOF_INT < VIM_SIZEOF_LONG /* 64 bits only */ +# if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER <= 18 +# define rb_fix2int dll_rb_fix2int +# define rb_num2int dll_rb_num2int +# endif # define rb_num2uint dll_rb_num2uint # endif # define rb_lastline_get dll_rb_lastline_get @@ -389,7 +394,8 @@ { return dll_rb_int2big(x); } -# if defined(DYNAMIC_RUBY_VER) && VIM_SIZEOF_INT < VIM_SIZEOF_LONG +# if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 19 \ + && VIM_SIZEOF_INT < VIM_SIZEOF_LONG long rb_fix2int_stub(VALUE x) { return dll_rb_fix2int(x);
Patch 7.4.225
Patch 7.4.225 Problem:Dynamic Ruby doesn't work on Solaris. Solution: Always use the stubs. (Danek Duvall, Yukihiro Nakadaira) Files: src/if_ruby.c *** ../vim-7.4.224/src/if_ruby.c2014-02-23 22:52:33.352764716 +0100 --- src/if_ruby.c 2014-03-27 18:56:37.428765988 +0100 *** *** 88,95 # define rb_int2big rb_int2big_stub #endif ! #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 20 \ ! && VIM_SIZEOF_INT < VIM_SIZEOF_LONG /* Ruby 2.0 defines a number of static functions which use rb_fix2int and * rb_num2int if VIM_SIZEOF_INT < VIM_SIZEOF_LONG (64bit) */ # define rb_fix2int rb_fix2int_stub --- 88,94 # define rb_int2big rb_int2big_stub #endif ! #if defined(DYNAMIC_RUBY_VER) && VIM_SIZEOF_INT < VIM_SIZEOF_LONG /* Ruby 2.0 defines a number of static functions which use rb_fix2int and * rb_num2int if VIM_SIZEOF_INT < VIM_SIZEOF_LONG (64bit) */ # define rb_fix2int rb_fix2int_stub *** *** 203,210 # define rb_inspect dll_rb_inspect # define rb_int2inum dll_rb_int2inum # if VIM_SIZEOF_INT < VIM_SIZEOF_LONG /* 64 bits only */ - # define rb_fix2int dll_rb_fix2int - # define rb_num2int dll_rb_num2int # define rb_num2uint dll_rb_num2uint # endif # define rb_lastline_get dll_rb_lastline_get --- 202,207 *** *** 392,399 { return dll_rb_int2big(x); } ! # if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 20 \ ! && VIM_SIZEOF_INT < VIM_SIZEOF_LONG long rb_fix2int_stub(VALUE x) { return dll_rb_fix2int(x); --- 389,395 { return dll_rb_int2big(x); } ! # if defined(DYNAMIC_RUBY_VER) && VIM_SIZEOF_INT < VIM_SIZEOF_LONG long rb_fix2int_stub(VALUE x) { return dll_rb_fix2int(x); *** ../vim-7.4.224/src/version.c2014-03-27 18:51:06.612760919 +0100 --- src/version.c 2014-03-27 18:55:21.412764824 +0100 *** *** 736,737 --- 736,739 { /* Add new patch number below this line */ + /**/ + 225, /**/ -- Engineers are widely recognized as superior marriage material: intelligent, dependable, employed, honest, and handy around the house. (Scott Adams - The Dilbert principle) /// Bram Moolenaar -- b...@moolenaar.net -- http://www.Moolenaar.net \\\ ///sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ \\\ an exciting new programming language -- http://www.Zimbu.org/// \\\help me help AIDS victims -- http://ICCF-Holland.org/// -- -- You received this message from the "vim_dev" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php --- You received this message because you are subscribed to the Google Groups "vim_dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to vim_dev+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.