Andy Polyakov wrote:
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                       openssl-dev@openssl.org
Automated List Manager                           majord...@openssl.org

Hi All!

  It's building now, but I'm getting a few messages from netdb.h
like the following:

gcc -I.. -I../.. -I../asn1 -I../evp -I../../include -fPIC -DOPENSSL_PIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -O3 -fomit-frame-pointer -march=pentium -Wall -DL_ENDIAN -DOPENSSL_NO_INLINE_ASM -c b_sock.c
In file included from ../../e_os.h:570,
                 from ../cryptlib.h:65,
                 from b_sock.c:63:
/usr/include/netdb.h:195: warning: `struct sockaddr_in' declared inside parameter list /usr/include/netdb.h:195: warning: its scope is only this definition or declaration, which is probably not what you want.

gcc -I.. -I../.. -I../asn1 -I../evp -I../../include -fPIC -DOPENSSL_PIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -O3 -fomit-frame-pointer -march=pentium -Wall -DL_ENDIAN -DOPENSSL_NO_INLINE_ASM -c bss_acpt.c
In file included from ../../e_os.h:570,
                 from ../cryptlib.h:65,
                 from bss_acpt.c:62:
/usr/include/netdb.h:195: warning: `struct sockaddr_in' declared inside parameter list /usr/include/netdb.h:195: warning: its scope is only this definition or declaration, which is probably not what you want.


gcc -I.. -I../.. -I../asn1 -I../evp -I../../include -fPIC -DOPENSSL_PIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -O3 -fomit-frame-pointer -march=pentium -Wall -DL_ENDIAN -DOPENSSL_NO_INLINE_ASM -c bss_dgram.c
In file included from ../../e_os.h:570,
                 from ../cryptlib.h:65,
                 from bss_dgram.c:65:
/usr/include/netdb.h:195: warning: `struct sockaddr_in' declared inside parameter list /usr/include/netdb.h:195: warning: its scope is only this definition or declaration, which is probably not what you want.

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

Reply via email to