[DRE-maint] Bug#934315: ruby2.5: FTBFS on sparc64 due to alignment issues
John Paul Adrian Glaubitz
glaubitz at physik.fu-berlin.de
Fri Aug 9 16:38:54 BST 2019
Source: ruby2.5
Version: 2.5.5-4
Severity: normal
Tags: patch upstream
User: debian-sparc at lists.debian.org
Usertags: sparc64
Hi!
ruby2.5 currently fails to build from source on sparc64 due to alignment
issues in the code that have already been fixed upstream [1].
Would it be possible to backport the patch for the Debian package to
fix this issue for ruby2.5? [2] Attaching the patch as well.
Thanks,
Adrian
> [1] https://bugs.ruby-lang.org/issues/14689
> [2] https://bugs.ruby-lang.org/projects/ruby-trunk/repository/git/revisions/58a2084483ce8baaf90d7b1cb00e3fa9570fbc79/diff
--
-------------- next part --------------
commit 58a2084483ce8baaf90d7b1cb00e3fa9570fbc79
Author: nobu <nobu at b2dd03c8-39d4-4d8f-98ff-823fe69b080e>
Date: Mon Apr 16 12:46:08 2018 +0000
compile.c: align range
* compile.c (ibf_dump_object_struct): align range elements.
[ruby-core:86548] [Bug #14689]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63167 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
diff --git a/compile.c b/compile.c
index 5d37c730ef..f1cd30fe5f 100644
--- a/compile.c
+++ b/compile.c
@@ -9259,6 +9259,7 @@ ibf_dump_object_struct(struct ibf_dump *dump, VALUE obj)
range.beg = (long)ibf_dump_object(dump, beg);
range.end = (long)ibf_dump_object(dump, end);
+ IBF_W_ALIGN(struct ibf_object_struct_range);
IBF_WV(range);
}
else {
@@ -9425,7 +9426,7 @@ ibf_dump_object_object(struct ibf_dump *dump, VALUE obj)
IBF_ZERO(obj_header);
obj_header.type = TYPE(obj);
- ibf_dump_align(dump, sizeof(ibf_offset_t));
+ IBF_W_ALIGN(ibf_offset_t);
current_offset = ibf_dump_pos(dump);
if (SPECIAL_CONST_P(obj)) {
diff --git a/test/ruby/test_iseq.rb b/test/ruby/test_iseq.rb
index 2ef344741b..86aad2da69 100644
--- a/test/ruby/test_iseq.rb
+++ b/test/ruby/test_iseq.rb
@@ -423,6 +423,7 @@ class TestISeq < Test::Unit::TestCase
def test_to_binary_with_objects
assert_iseq_to_binary("[]"+100.times.map{|i|"<</#{i}/"}.join)
+ assert_iseq_to_binary("@x ||= (1..2)")
end
def test_to_binary_line_info
More information about the Pkg-ruby-extras-maintainers
mailing list