[oe-commits] [openembedded-core] 01/53: ruby: fix build of ruby-native with gcc7

git at git.openembedded.org git at git.openembedded.org
Tue Nov 21 14:44:22 UTC 2017


This is an automated email from the git hooks/post-receive script.

rpurdie pushed a commit to branch morty
in repository openembedded-core.

commit b9de98cdc816904583970369848181c2c79f1dc5
Author: Joshua Lock <joshua.g.lock at intel.com>
AuthorDate: Fri Oct 27 15:49:41 2017 +0100

    ruby: fix build of ruby-native with gcc7
    
    Marsalling is broken when ruby-2.2.x is built with gcc7, backport the change
    fix  in Ruby SVN r57410 to apply to ruby 2.2.5:
    
    https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=57410
    
    Fixes [YOCTO #12271]
    
    Signed-off-by: Joshua Lock <joshua.g.lock at intel.com>
    Signed-off-by: Armin Kuster <akuster808 at gmail.com>
---
 meta/recipes-devtools/ruby/ruby/prevent-gc.patch | 32 ++++++++++++++++++++++++
 meta/recipes-devtools/ruby/ruby_2.2.5.bb         |  2 ++
 2 files changed, 34 insertions(+)

diff --git a/meta/recipes-devtools/ruby/ruby/prevent-gc.patch b/meta/recipes-devtools/ruby/ruby/prevent-gc.patch
new file mode 100644
index 0000000..2eaa955
--- /dev/null
+++ b/meta/recipes-devtools/ruby/ruby/prevent-gc.patch
@@ -0,0 +1,32 @@
+Fix marshaling with gcc7. Based on upstream revision 57410:
+https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=57410
+https://github.com/ruby/ruby/commit/7c1b30a602ab109d8d5388d7dfb3c5b180ba24e1
+https://bugs.ruby-lang.org/issues/13150
+
+with the upstream patches intent ported to Ruby 2.2.5
+
+Upstream-Status: Backport
+
+Signed-off-by: Joshua Lock <joshua.g.lock at intel.com>
+
+Index: ruby-2.2.5/marshal.c
+===================================================================
+--- ruby-2.2.5.orig/marshal.c
++++ ruby-2.2.5/marshal.c
+@@ -17,7 +17,6 @@
+ #include "ruby/io.h"
+ #include "ruby/st.h"
+ #include "ruby/util.h"
+-
+ #include <math.h>
+ #ifdef HAVE_FLOAT_H
+ #include <float.h>
+@@ -985,7 +984,7 @@ marshal_dump(int argc, VALUE *argv)
+     VALUE obj, port, a1, a2;
+     int limit = -1;
+     struct dump_arg *arg;
+-    VALUE wrapper; /* used to avoid memory leak in case of exception */
++    volatile VALUE wrapper; /* used to avoid memory leak in case of exception */
+ 
+     port = Qnil;
+     rb_scan_args(argc, argv, "12", &obj, &a1, &a2);
diff --git a/meta/recipes-devtools/ruby/ruby_2.2.5.bb b/meta/recipes-devtools/ruby/ruby_2.2.5.bb
index 5a64582..66ba1d4 100644
--- a/meta/recipes-devtools/ruby/ruby_2.2.5.bb
+++ b/meta/recipes-devtools/ruby/ruby_2.2.5.bb
@@ -3,6 +3,8 @@ require ruby.inc
 SRC_URI[md5sum] = "bd8e349d4fb2c75d90817649674f94be"
 SRC_URI[sha256sum] = "30c4b31697a4ca4ea0c8db8ad30cf45e6690a0f09687e5d483c933c03ca335e3"
 
+SRC_URI += "file://prevent-gc.patch"
+
 # it's unknown to configure script, but then passed to extconf.rb
 # maybe it's not really needed as we're hardcoding the result with
 # 0001-socket-extconf-hardcode-wide-getaddr-info-test-outco.patch

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Openembedded-commits mailing list