> There are trivial differences between Solaris 2.5.1 and the later
> Solaris versions.  Not enough to cause a build problem.  So if
> it's busted on 2.5.1 it will be busted on 2.6, 2.7 etc.

Newer Solaris version *are* equipped with newer assembler, which *does*
support more x86 instructions, such as those used in wp-mmx module.

> Plus, that
> illegal mnemonic error has happened before and been corrected
> before in openssl.

You must be referring to "illegal mnemonic" mentioned in Configure in
"Solaris x86 with GNU C setups" section. For completeness sake it should
be noted that newer GNU C versions (or one(s) provided by Sun?) do not
exhibit this behavior and it's perfectly possible to compile without
NO_INLINE_ASM.

In other words, failure to compile on Solaris 2.5.1 and gcc 2.95.3 does
not necessarily mean that it shall fail to compile on later versions. I
mean the opening statement does not hold true:-)

> Finally, compilation with "no-asm" means NO
> ASSEMBLY, NONE, NADA!!!  While you might be able to argue
> obsolescense on the first compile, the second compile with no-asm
> defined shouldn't have errored.

Correct, it shouldn't have failed. In other words this is bug.
http://cvs.openssl.org/chngview?cn=17985 is the cure.

> Obviously, whoever coded wp-mmx
> wasn't paying attention to -DOPENSSL_NO_INLINE_ASM.  Not to mention
> the larger question of why wp-mmx was even selected - not all Intel
> chips HAVE mmx instructions.

What does pure assembler wp-mmx have to do with NO_INLINE_ASM? In either
case, MMX capability is detected at run-time and whirlpool_block_mmx is
*not* invoked on CPU not capable to execute it. This naturally implies
that there *is* equivalent non-mmx code. This applies to all
MMX/SSE/SSE2 modules. This is totally intentional, i.e. this is not a
bug. One can argue that there should be a way to selectively disable
"strange" modules [for impaired assemblers' sake], but where would one
draw the line? This is more of rhetorical question, because as long as
no-asm does the trick, the line is drawn right there. If you're not
satisfied with this all-or-nothing option, feel free to remove
wp_block.o wp-mmx.o from $x86_asm in Configure. Or install GNU binutils
(so that you get more up-to-date assembler) and reconfigure compiler to
use GNU assembler and not Solaris one... A.
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [email protected]
Automated List Manager                           [email protected]

Reply via email to