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

Re: Compiling libssl for 64-bit Debian on Sparc



On Fri, Apr 15, 2011 at 12:45 PM, brian m. carlson <sandals@crustytoothpaste.net> wrote:
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.


Just what I was afraid of, as I'm having a really hard time in having the developers to pay any attention to this as 'sparc' isn't a supported platform since they don't have any 'sparc' machines to work on. So I offered to donate a Sparc machine to the project with Debian 6.0.1 loaded on it, so they always have a sparc machine to test the releases on, or at least be able to test it if someone reports a problem. But that wasn't much to motivate them either. And unfortunately, I'm not a developer by any stretch of the imagination so I can't go into the code to figure out howto fix this. My only choice now is either they fix this OR I can figure out how to create 64-bit ssl libs that the make process finds compatible and moves the build along. I even sent emails to the openSSL list, but a week has gone by and no one has responded to it either. 
 
> #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.

Nope, nothing was installed or removed at that point. I have rebuilt this machine with a _fresh_ debian install from scratch about 3 times with a new git pull of the source code and everything and I get the same results every time :(

 

Reply to: