Hi!

I tried to upgrade from 0.9.8d to 0.9.8e on my GNU/Linux Alpha box and got a 
straigt compiler error:

shell$ ./config
# some output... among that:
Operating system: alpha-whatever-linux2
Configuring for linux-alpha+bwx-gcc
Configuring for linux-alpha+bwx-gcc

shell$ LANG=C make
making all in crypto...
make[1]: Entering directory 
`/spielwiese/smgl/grimoires/grimoire/openssl-0.9.8e/crypto'
gcc -I. -I.. -I../include -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN 
-DHAVE_DLFCN_H -march=ev6 -O3 -DL_ENDIAN -DTERMIO   -c -o cryptlib.o cryptlib.c
cc1: error: unrecognized command line option "-march=ev6"
make[1]: *** [cryptlib.o] Error 1
make[1]: Leaving directory 
`/spielwiese/smgl/grimoires/grimoire/openssl-0.9.8e/crypto'
make: *** [build_crypto] Error 1

Now the gcc on alpha doesn't know -march, as Alphas are just a small set of 
successive CPUs and not a diversed family of many, many CPUs with varying 
degree of similarity like x86.
It needs -mcpu.
Well, 0.9.8d got this right, but for 0.9.8e, someone apparently did something 
along

sed -i 's/mcpu/march/' config

which causes specifically this change:

@@ -527,9 +527,9 @@
        esac
        if [ "$CC" = "gcc" ]; then
            case ${ISA:-generic} in
-           EV5|EV45)           options="$options -mcpu=ev5";;
-           EV56|PCA56)         options="$options -mcpu=ev56";;
-           *)                  options="$options -mcpu=ev6";;
+           EV5|EV45)           options="$options -march=ev5";;
+           EV56|PCA56)         options="$options -march=ev56";;
+           *)                  options="$options -march=ev6";;
            esac
        fi
        ;;

Please revert this change for the next release to make the build work again.

Actually, I must say that I'd prefer omitting the -mcpu settings altogether and 
use CFLAGS instead.
The distro I'm using is a source code based one and has something called 
"archspecs" for the user to choose from.
There we set things like -mcpu or -march; and we already have to insert that to 
the openssl Makefile:

./config
sed -i  "s/^CFLAG=/CFLAG=$CFLAGS /"  Makefile

But still, if I have -mcpu=ev67 in my $CFLAGS, the -mcpu (or -march, currently) 
of openssl will override it.
That can be a problem when I want to compile for a ev5 CPU on a ev67 box; 
openssl will build binaries that won't run on the older cpu.


Alrighty then,

Thomas.

Attachment: signature.asc
Description: PGP signature

Reply via email to