From 3e2b1ed2d6aaf4bc96a2ccafe50b6e9549632ab4 Mon Sep 17 00:00:00 2001 From: DistroBaker Date: Fri, 8 Jan 2021 15:53:18 +0000 Subject: [PATCH] Merged update from upstream sources This is an automated DistroBaker update from upstream sources. If you do not know what this is about or would like to opt out, contact the OSCI team. Source: https://src.fedoraproject.org/rpms/ruby.git#071cbd09061fb0e519fb1216b2ddb156643b0d9e --- ruby-3.0.0-Fixed-dangling-imemo_tmpbuf.patch | 30 ++++++++++++++++++++ ruby.spec | 17 +++++++---- 2 files changed, 42 insertions(+), 5 deletions(-) create mode 100644 ruby-3.0.0-Fixed-dangling-imemo_tmpbuf.patch diff --git a/ruby-3.0.0-Fixed-dangling-imemo_tmpbuf.patch b/ruby-3.0.0-Fixed-dangling-imemo_tmpbuf.patch new file mode 100644 index 0000000..416f85e --- /dev/null +++ b/ruby-3.0.0-Fixed-dangling-imemo_tmpbuf.patch @@ -0,0 +1,30 @@ +From f690eb34e28b000627e5f0649dd81a04e252286f Mon Sep 17 00:00:00 2001 +From: Nobuyoshi Nakada +Date: Sat, 2 Jan 2021 12:11:52 +0900 +Subject: [PATCH] Fixed dangling imemo_tmpbuf + +The count of rb_alloc_tmp_buffer_with_count is the allocation size +counted in VALUE size but not in the requested element size. + +Co-authored-by: Yusuke Endoh +Co-authored-by: Koichi Sasada +--- + include/ruby/internal/memory.h | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/include/ruby/internal/memory.h b/include/ruby/internal/memory.h +index 974c21e19ce8..7d24df494512 100644 +--- a/include/ruby/internal/memory.h ++++ b/include/ruby/internal/memory.h +@@ -250,8 +250,9 @@ rbimpl_size_mul_or_raise(size_t x, size_t y) + static inline void * + rb_alloc_tmp_buffer2(volatile VALUE *store, long count, size_t elsize) + { +- return rb_alloc_tmp_buffer_with_count( +- store, rbimpl_size_mul_or_raise(count, elsize), count); ++ const size_t total_size = rbimpl_size_mul_or_raise(count, elsize); ++ const size_t cnt = (total_size + sizeof(VALUE) - 1) / sizeof(VALUE); ++ return rb_alloc_tmp_buffer_with_count(store, total_size, cnt); + } + + #ifndef __MINGW32__ diff --git a/ruby.spec b/ruby.spec index 969d10a..34987eb 100644 --- a/ruby.spec +++ b/ruby.spec @@ -22,7 +22,7 @@ %endif -%global release 139 +%global release 140 %{!?release_string:%define release_string %{?development_release:0.}%{release}%{?development_release:.%{development_release}}%{?dist}} # The RubyGems library has to stay out of Ruby directory tree, since the @@ -146,6 +146,9 @@ Patch6: ruby-2.7.0-Initialize-ABRT-hook.patch # hardening features of glibc (rhbz#1361037). # https://bugs.ruby-lang.org/issues/12666 Patch9: ruby-2.3.1-Rely-on-ldd-to-detect-glibc.patch +# Fix SEGFAULT preventing rubygem-unicode to build on armv7hl. +# https://bugs.ruby-lang.org/issues/17518 +Patch10: ruby-3.0.0-Fixed-dangling-imemo_tmpbuf.patch # Avoid possible timeout errors in TestBugReporter#test_bug_reporter_add. # https://bugs.ruby-lang.org/issues/16492 Patch19: ruby-2.7.1-Timeout-the-test_bug_reporter_add-witout-raising-err.patch @@ -603,6 +606,7 @@ rm -rf ext/fiddle/libffi* %patch5 -p1 %patch6 -p1 %patch9 -p1 +%patch10 -p1 %patch19 -p1 # Provide an example of usage of the tapset: @@ -892,10 +896,10 @@ MSPECOPTS="" # https://bugs.ruby-lang.org/issues/17338 MSPECOPTS="$MSPECOPTS -P 'raises TypeError if one of the passed exceptions is not a Module'" -# Give an option to increase the timeout in tests. -# https://bugs.ruby-lang.org/issues/16921 -%{?test_timeout_scale:RUBY_TEST_TIMEOUT_SCALE="%{test_timeout_scale}"} \ - make check TESTS="-v $DISABLE_TESTS" MSPECOPT="-fs $MSPECOPTS" +#%# Give an option to increase the timeout in tests. +#%# https://bugs.ruby-lang.org/issues/16921 +#%%{?test_timeout_scale:RUBY_TEST_TIMEOUT_SCALE="%{test_timeout_scale}"} \ +#% make check TESTS="-v $DISABLE_TESTS" MSPECOPT="-fs $MSPECOPTS" %files %license BSDL @@ -1379,6 +1383,9 @@ MSPECOPTS="$MSPECOPTS -P 'raises TypeError if one of the passed exceptions is no %changelog +* Fri Jan 8 14:25:51 CET 2021 Vít Ondruch - 3.0.0-140 +- Fix SEGFAULT preventing rubygem-unicode to build on armv7hl. + * Wed Jan 6 2021 Vít Ondruch - 3.0.0-139 - Add support for reworked RubyGems plugins.