When building OpenSSL version 0.9.7i (and all prior versions that I've seen) on Linux, the compiler flags passed to 'gcc' include:

  "-O3 -fomit-frame-pointer -mcpu=pentium"

This occurs even when the output of `uname -m` and `arch` are "i486". I have a few machines with hacked 'uname' and 'arch' commands that will report "i486" even when the real arch is "i686", for use in compiling binaries for other i486 systems. Looking at the 'config' and 'Configure' scripts, it appears that the arch value is guessed based on 'uname', 'arch', and 'cat /proc/cpuinfo', in different cases. I guess I'm running into a situation where the configure script is looking at "/proc/cpuinfo", which I can't do a quick-and-easy hack to give false data.

Is there an option that I'm missing to pass a particular arch value to compile OpenSSL for? Right now, I'm working around this by 'sed'ing the above-mentioned string out of the CCFLAGS variable in the Makefile and replacing it with "-O2 -march=i586 -pipe". Is this not proper, or should it work OK? (It seems to work fine, in running it, but there's a lot of things I wouldn't know about it.)

Also, as a side-note, most of the literature I've seen regarding 'gcc' says that the "-mcpu=" flag is deprecated, and that "-march=" should be used instead. Is there a reason why OpenSSL uses "-mcpu="?

Thanks for the time and help, here--OpenSSL and OpenSSH are wonderful tools, and I appreciate all of the effort that goes into them.

Thanks,
Ryan


______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to