Issue #4320 has been updated by Hiroshi Nakamura.

File sha2.c.diff added

Nils, thanks for the patch, and sorry for late reply.

Since sha2.c has an upstream version http://www.aarongifford.com/computers/sha.html (which does not support sparc-solaris I think), I want to minimize the patch. Here's my version based on yours. Can you try it? It passes 'make test-all TESTS=digest' on my SunOS 5.8 on sparc.
----------------------------------------
Bug #4320: Bus Error in digest/sha2 on sparc
http://redmine.ruby-lang.org/issues/4320

Author: Meik Nienaber
Status: Assigned
Priority: Normal
Assignee: Hiroshi Nakamura
Category: 
Target version: 1.9.3
ruby -v: ruby 1.9.2p136 (2010-12-25 revision 30365) [sparc-solaris2.10]


=begin
 Most likely this is caused due to misaligned memory. Any comment is greatly appreciated.
 
 This bug can reproduce at Ruby 1.8, too.
 
 ruby -e "require 'digest/sha2'; d= Digest::SHA256.new; ['a' * 97, 'a' * 97].each {|i| d.update(i)}; p d"
 -e:1: [BUG] Bus Error
 ruby 1.9.2p136 (2010-12-25 revision 30365) [sparc-solaris2.10]
 
 -- control frame ----------
 c:0007 p:---- s:0019 b:0019 l:000018 d:000018 CFUNC  :update
 c:0006 p:0014 s:0015 b:0015 l:0015ac d:000014 BLOCK  -e:1
 c:0005 p:---- s:0012 b:0012 l:000011 d:000011 FINISH
 c:0004 p:---- s:0010 b:0010 l:000009 d:000009 CFUNC  :each
 c:0003 p:0054 s:0007 b:0007 l:0015ac d:000ed0 EVAL   -e:1
 c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH
 c:0001 p:0000 s:0002 b:0002 l:0015ac d:0015ac TOP
=end



-- 
http://redmine.ruby-lang.org