On Thu March 12 2009, The Doctor wrote:
> On Thu, Mar 12, 2009 at 11:58:34AM -0500, Michael S. Zick wrote:
> > On Thu March 12 2009, The Doctor wrote:
> > > On Wed, Mar 11, 2009 at 11:51:23AM +0100, Ger Hobbelt wrote:
> > > > On Tue, Mar 10, 2009 at 8:02 PM, The Doctor <doc...@doctor.nl2k.ab.ca> 
> > > > wrote:
> > > > > This is happening again
> > > > 
> > > > Holy (beep)!
> > > > 
> > > > mmmm... would you do me a favor, please? (and maybe make some others
> > > > happy in the process as well)
> > > > 
> > > > I love an essay, but let's just say that the combination of riding the
> > > > bleeding edge of development using snapshots, combined with the
> > > > glaring ability to feed an entire make && make test console output,
> > > > unfiltered for optimum appreciation, produces a rather, ah,
> > > > unprofesssional, impression.
> > > > 
> > > > To the point: thank you very much for reporting failures; even more
> > > > thanks when you can strip away obvious (successful?) parts. E.g. all
> > > > those lucky compiler invocations.
> > > > 
> > > > Here's how one might go about, reducing cruft in feedback: here's your
> > > > report, reduced to maybe-relevant bits -- and I didn't even do this
> > > > thoroughly; this is the result of a rush job to kill the most obvious
> > > > clutter only:
> > > > 
> > > > > Script started on Tue Mar 10 12:06:29 2009
> > > > > [r...@ns1 /usr/source/openssl-0.9.8-stable-SNAP-20090310]# cat 
> > > > > /usr/local/bin/co
> > > > > nfigopenssl
> > > > >
> > > > > ./Configure threads shared experimental-store  enable-capieng 
> > > > > enable-cms enable-montasm enable-krb5 enable-tlsext enable-seed  
> > > > > enable-fips fipsdso enable-camellia enable-rfc3779 enable-gmp 
> > > > > enable-mdc2 enable-rc5 zlib-dynamic --prefix=/usr/ --openssldir=/usr/ 
> > > > > BSD-x86-elf "-g -O3 -Wall "; make depend
> > > > >
> > > > > [r...@ns1 /usr/source/openssl-0.9.8-stable-SNAP-20090310]# make && 
> > > > > make test
> > > > [...] && make -e PLATFORM='BSD-x86-elf' PROCESSOR=''  CC='gcc'
> > > > CFLAG='-fPIC -DOPENSSL_PIC -DZLIB_SHARED -DZLIB -DOPENSSL_THREADS
> > > > -pthread -D_THREAD_SAFE -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -g -O3
> > > > -Wall  -DL_ENDIAN -DTERMIOS -O3 -fomit-frame-pointer -Wall
> > > > -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT
> > > > -DSHA1_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM'
> > > > AS='gcc' ASFLAG='-fPIC -DOPENSSL_PIC -DZLIB_SHARED -DZLIB
> > > > -DOPENSSL_THREADS -pthread -D_THREAD_SAFE -D_REENTRANT -DDSO_DLFCN
> > > > -DHAVE_DLFCN_H -g -O3 -Wall  -DL_ENDIAN -DTERMIOS -O3
> > > > -fomit-frame-pointer -Wall -DOPENSSL_BN_ASM_PART_WORDS
> > > > -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DMD5_ASM
> > > > -DRMD160_ASM -DAES_ASM -c'                     AR='ar  r'
> > > > PERL='/usr/bin/perl5' RANLIB='/usr/bin/ranlib'       SDIRS='objects
> > > > md2 md4 md5 sha mdc2 hmac ripemd  des aes rc2 rc4 rc5 idea bf cast
> > > > camellia seed  bn ec rsa dsa ecdsa dh ecdh dso engine  buffer bio
> > > > stack lhash rand err  evp asn1 pem x509 x509v3 conf txt_db pkcs7
> > > > pkcs12 comp ocsp ui krb5  store cms pqueue' LIBRPATH='/usr/lib'
> > > > INSTALL_PREFIX=''               INSTALLTOP='/usr' OPENSSLDIR='/usr'
> > > >  MAKEDEPEND='$${TOP}/util/domd $${TOP} -MD gcc'
> > > > DEPFLAG='-DOPENSSL_NO_DEPRECATED -DOPENSSL_NO_JPAKE'
> > > > MAKEDEPPROG='gcc'                       SHARED_LDFLAGS=''
> > > >  KRB5_INCLUDES='' LIBKRB5=''     EXE_EXT=''
> > > > SHARED_LIBS='libfips.so.0.9.8 libcrypto.so.0.9.8 libssl.so.0.9.8'
> > > > SHLIB_EXT='.so.0.9.8' SHLIB_TARGET='bsd-shared'         PEX_LIBS=''
> > > > EX_LIBS=''  CPUID_OBJ='x86cpuid-elf.o'
> > > > BN_ASM='bn86-elf.o co86-elf.o mo86-elf.o' DES_ENC='dx86-elf.o
> > > > yx86-elf.o'       AES_ASM_OBJ='ax86-elf.o'
> > > > BF_ENC='bx86-elf.o' CAST_ENC='c_enc.o'  RC4_ENC='rx86-elf.o
> > > > rc4_skey.o' RC5_ENC='r586-elf.o'    SHA1_ASM_OBJ='sx86-elf.o
> > > > s512sse2-elf.o'                        MD5_ASM_OBJ='mx86-elf.o'
> > > >                 RMD160_ASM_OBJ='rm86-elf.o'             FIPSLIBDIR=''
> > > >                  FIPSCANLIB="${FIPSCANLIB:-libfips}"
> > > > FIPSCANISTERINTERNAL='y'        FIPS_EX_OBJ='../crypto/aes/aes_cfb.o
> > > > [...]
> > > > > making all in crypto...
> > > > >
> > > > > ( echo "#ifndef MK1MF_BUILD";  echo '  /* auto-generated by 
> > > > > crypto/Makefile for crypto/cversion.c */';  echo '  #define CFLAGS 
> > > > > "gcc -fPIC -DOPENSSL_PIC -DZLIB_SHARED -DZLIB -DOPENSSL_THREADS 
> > > > > -pthread -D_THREAD_SAFE -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -g 
> > > > > -O3 -Wall  -DL_ENDIAN -DTERMIOS -O3 -fomit-frame-pointer -Wall 
> > > > > -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT 
> > > > > -DSHA1_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM"';  echo '  #define 
> > > > > PLATFORM "BSD-x86-elf"';  echo "  #define DATE \"`LC_ALL=C LC_TIME=C 
> > > > > date`\"";  echo '#endif' ) >buildinf.h
> > > > [...]
> > > > > making all in crypto/objects...
> > > > [...]
> > > > > testing...
> > > > [...]
> > > > Testing SHA-384 ... passed.
> > > > 
> > > > if [ -n "libfips" ]; then  ../util/shlib_wrap.sh ./fips_shatest <
> > > > SHAmix.r | diff -w SHAmix.x - ;  fi
> > > > 
> > > > ERROR:2d06c071:lib=45,func=108,reason=113:file=fips.c:line=276:
> > > > 
> > > > 1,129d0
> > > > 
> > > > < [L = 64]
> > > > <
> > > > < Len = 16
> > > > < Msg = 98a1
> > > > < MD = 
> > > > 74d78642f70ca830bec75fc60a585917e388cfa4cd1d23daab1c4d9ff1010cac3e67275df64db5a6a7c7d0fda24f1fc3eb272678a7c8becff6743ee812129078
> > > > <
> > > > < Len = 104
> > > > < Msg = 35a37a46df4ccbadd815942249
> > > > < MD = 
> > > > 6f5589ea195e745654885d50de687d7fe682affc8da1fb09e681540525f04ecb93022361a27759b9e272c883564223c5e4ecafeb0daaf1abce6caa4bd4153379
> > > > <
> > > > < Len = 352
> > > > < Msg = 
> > > > a93aed0fa5e163a82c9a934aebaab8180edf7de0b32f0fe99f9c75ec305b24609334cefa372c7c758262dc8f
> > > > < MD = 
> > > > 66a16799d606c569d2fcd70d7d8321ec90ef61711481aaf7d747744ebfd08ec2e7aead49429af7b4ceec6d8e147ed018e034efbe07982699e818db5fc4b1d71a
> > > > <
> > > > < Len = 1016
> > > > < Msg = 
> > > > 433e88eb2f8aba562d15c18126fbdffb81d5d6c9397fa052321f5f78cd629708ba099b540da5451e949eeab8687a8d6ac35c531411cb37144ab5ff6a7eb46f1ab28fbcd2ea0444cd87c57bf7d3c02952dba3d3987da07622c16e7c086d90e88ad3d9d4afee301d2bad915d868f54197b70b23c9fa385c443404fbc9abf7e6a
> > > > < MD = 
> > > > 790bc4844e9aeef8938df0ccda17890556a4151817111a526a88919cfb172f0b03c216080c1b60210eb1942097f17b6d0691bf5b018b6d959198d6a694b922c9
> > > > <
> > > > ... and so on, and so on...
> > > > ... same alarming output for:
> > > > < [L = 48]
> > > > < [L = 32]
> > > > < [L = 28]
> > > > < [L = 20]
> > > > ... after which 'make test' aborts with error 1.
> > > > 
> > > > 
> > > > 
> > > > See how this looks much more palatable?
> > > > 
> > > > Extra kudos, by the way, when you've diff-compared your last working
> > > > snapshot sourcetree and the this one or further attempts at helping to
> > > > resolve this. Of course, there's always the alternative of hiring one
> > > > of the members of the core development team (or myself) as I'm sure
> > > > you'll find the tariffs very reasonable.
> > > > Always glad to help out a fellow software physician.
> > > > 
> > > > 
> > > > -- 
> > > > Met vriendelijke groeten / Best regards,
> > > > 
> > > > Ger Hobbelt
> > > > 
> > > 
> > > 
> > > Getting to point
> > > 
> > > Here is the part of the code in question:
> > > 
> > > #ifdef OPENSSL_IA32_SSE2
> > >         if ((OPENSSL_ia32cap & (1<<25|1<<26)) != (1<<25|1<<26))
> > >             {
> > >             FIPSerr(FIPS_F_FIPS_MODE_SET,FIPS_R_UNSUPPORTED_PLATFORM);
> > >             fips_selftest_fail = 1;
> > >             ret = 0;
> > >             goto end;
> > >             }
> > > #endif 
> > > 
> > > Now FreeBSD i386 is part of the SSE2 issue.
> > > 
> > > Please explain why this is happening and a fix tat can resolve this issue.
> > >
> > 
> > What version of gcc are you using?
> > 
> > Reason 1: *BSD systems are often using a series 2 gcc, many of which
> > did not support the SSE2 instructions.
> >  
> > Reason 2: In early support for SSE2 there was a bug that required a
> > 128 bit alignment (16 bytes).
> >
> 
>  gcc --version
> gcc (GCC) 3.4.6 [FreeBSD] 20060305
> Copyright (C) 2006 Free Software Foundation, Inc.
> This is free software; see the source for copying conditions.  There is NO
> warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
>                                                                               

That should be new enough -
I don't see any restrictions in the release notes:
http://gcc.gnu.org/gcc-3.4/changes.html

And I do see at least implied support (My memory of those days agrees):
http://gcc.gnu.org/onlinedocs/gcc-3.4.6/gcc/i386-and-x86_002d64-Options.html#i386-and-x86_002d64-Options

Be sure there isn't any chance of selecting an earlier version of gcc
(Most system automation can do strange things behind your back at times.)
You can be certain by including "-v" in the compile options for at least one of 
the compiles.

Do one of your system builds (without dumping the entire output to the mailing 
list.)

Enter the directory where the build blows up - enter the reported failing 
command line -
Two things to try - drop that -O3 optimization level (try -O1 or -O2) -
Disable the sse2 option in that command line -

Also, things that may help:

Eyeball the command line you are cut&pasting with the above manual described 
options - -
look for something that might conflict in the options.

Just do the pre-process step of the compiler, save the intermediate file, see
just what the source looks like that cpp is feeding the compiler. (the -E 
option)

What you find will determine where to go next.
Keep in mind, we can't change the options to the build commands or the make 
file and
still call it "FIPS".

Mike

> This is binutils related?
>

Unlikely, since it is a gcc error message.

> 
> -- 
> Member - Liberal International        This is doc...@nl2k.ab.ca
> Ici doc...@nl2k.ab.ca God, Queen and country! Beware Anti-Christ rising!
> Never Satan President Republic!
> Point to http://tv.cityonahillproductions.com/ 
> 


______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to