[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Compiling libssl for 64-bit Debian on Sparc



On Tue, Apr 12, 2011 at 10:11:16PM -0400, A E [Gmail] wrote:
> Hi Brian,
> This is what I see [Notice the bold bit, which says, Signal 10, Bus Error]
> *Program terminated with signal 10, Bus error.*

Yes, this would be SIGBUS.  It's an unaligned access, which means that
the software in question is buggy[0].  In C and C++, code which would
result in unaligned accesses is forbidden by the relevant language
standard.  In contrast to the situation on some other processors, Linux
for SPARC does not have a way to automatically fix up unaligned
accesses, so the software has to be fixed.

> #0  aes_encrypt (plaintext=0xcdcd0, exp_key=0xcdcfc) at
> crypto/cipher/aes.c:1916
> 1916      v128_xor_eq(plaintext, exp_key + 0);

I expect that this uses some sort of vector operations but the data is
not properly aligned.  Since all UltraSPARC machines support VIS 1 and
you're compiling for UltraSPARC (either explicitly or implicitly with
the Debian defaults), GCC may be using them even if you haven't
explicitly specified to do so.  I'm not very familiar with the
intricacies of SPARC assembly, so I can't really tell you more.

[0] Strictly, it could be instead that at that immediate moment you
pulled your hard drive (or some other essential system component, like
memory) out of the system, but I presume you would have mentioned that
if it were the case.

-- 
brian m. carlson / brian with sandals: Houston, Texas, US
+1 832 623 2791 | http://www.crustytoothpaste.net/~bmc | My opinion only
OpenPGP: RSA v4 4096b: 88AC E9B2 9196 305B A994 7552 F1BA 225C 0223 B187

Attachment: signature.asc
Description: Digital signature


Reply to: