Not a definitive answer, but I know we (IBM) never tested the PPC asm on BSD. It's possible that because no one had a PPC machine running BSD to test the asm paths they were left disabled.

Correct, the reason for why there is no BSD-ppc is that because there was no opportunity to test it. The PPC assembly modules are maintained ABI-neutral (i.e. meeting requirements from multiple specifications), which means that any additional OS has to be explicitly verified. There is no reason to believe that it won't work, but it still has to be explicitly verified.

There may be other reasons, but make tests should at least show any gross problems.

The only subtle problem I can think of that might be there in recent code is use of 64 bit registers in 32 bit code, if the kernel doesn't preserve the upper halves of registers you can get clobbered during signal handling.

It's not the only subtle potential problem, dereferencing TLS register [or any other data anchor register] in signal handler is. While attempt to engage ppc_asm and passing 'make test' would show gross problems, it won't give definitive answer. What would help is explicit reference to ABI your BSD flavour relies on.

On side note. Given previous questions from originator we are talking about embedded processor, which is unlike to have 64-bit extensions, so upper halves unlikely to be concern here. For reference, the problem with upper halves is two-fold: a) preserving upon context switch between processes, b) preserving upon signal delivery. a) is commonly taken care of by kernel, while b) is handled by disabling signals in ppccap.c.

-----owner-openssl-...@openssl.org wrote: -----
To: openssl-dev <openssl-dev@openssl.org>
From: Kevin Fowler
Sent by: owner-openssl-...@openssl.org
Date: 08/04/2012 01:04AM
Subject: ppc32_asm for BSD targets

For the BSD-generic32 target, which gets used for *bsd on ppc cpu, Configure script uses ${no_asm}. Other OS's (linux, darwin, AIX) on ppc cpu use ${ppc32_asm}.

Are the ppc asm routines not valid for *bsd OS? If so, what about BSD invalidates them?

Thanks,
Kevin
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       openssl-dev@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to