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.
signature.asc
Description: PGP signature
