Hello everyone,

when compiling openssl 0.9.8e with gcc 4.2.0, some errors show up (see
below). The test suite then fails with "instruction error". (The resulting
programs also fail.) (gcc inserts an "UD2" instruction for the functions
that are flagged with "if this code is reached, the program will abort")


I'll have to check if this happens with gcc 4.1.2 on the same system
(currently building, but I think it'll pass), indicating that this is a 
problem with the system where this came up. 
I'll also try gcc 4.2.0 on a regular (SuSE) system.
However, "warning: function called through a non-compatible type" seems to
indicate some problem with the openssl source that was silently ignored by
previous gccs, and is now (4.2.0) flagged as an error...

Best regards,

Peter Hettkamp

--configure settings:
PLATFORM=linux-x86_64
OPTIONS=--openssldir=/etc/ssl --prefix=/usr enable-shared no-camellia no-gmp
no-krb5 no-mdc2 no-rc5 no-rfc3779 no-zlib no-zlib-dynamic
CONFIGURE_ARGS=linux-x86_64 --openssldir=/etc/ssl --prefix=/usr shared
SHLIB_TARGET=linux-shared

--gcc version:
gcc -v
Using built-in specs.
Target: x86_64-lfs-linux-gnu
Configured with: ../gcc-4.2.0/configure --prefix=/usr
--libexecdir=/usr/lib64 --libdir=/usr/lib64 --enable-shared
--enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu
--enable-languages=c,c++ --enable-c99 --enable-long-long
--host=x86_64-lfs-linux-gnu
Thread model: posix
gcc version 4.2.0

--error messages:
grep -A 2 -B 2 non-compatible\ type openssl-0.9.8e/makelog
gcc -I.. -I../.. -I../../include -m64 -march=k8 -fPIC -DOPENSSL_PIC
-DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -m64 -DL_ENDIAN
-DTERMIO -O3 -Wall -DMD32_REG_T=int -DMD5_ASM   -c -o evp_pkey.o evp_pkey.c
evp_pkey.c: In function 'EVP_PKEY2PKCS8_broken':
evp_pkey.c:382: warning: function called through a non-compatible type
evp_pkey.c:382: note: if this code is reached, the program will abort
evp_pkey.c: In function 'dsa_pkey2pkcs8':
evp_pkey.c:478: warning: function called through a non-compatible type
evp_pkey.c:478: note: if this code is reached, the program will abort
gcc -I.. -I../.. -I../../include -m64 -march=k8 -fPIC -DOPENSSL_PIC
-DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -m64 -DL_ENDIAN
-DTERMIO -O3 -Wall -DMD32_REG_T=int -DMD5_ASM   -c -o evp_pbe.o evp_pbe.c
--
gcc -I.. -I../.. -I../../include -m64 -march=k8 -fPIC -DOPENSSL_PIC
-DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -m64 -DL_ENDIAN
-DTERMIO -O3 -Wall -DMD32_REG_T=int -DMD5_ASM   -c -o p5_pbe.o p5_pbe.c
p5_pbe.c: In function 'PKCS5_pbe_set':
p5_pbe.c:109: warning: function called through a non-compatible type
p5_pbe.c:109: note: if this code is reached, the program will abort
gcc -I.. -I../.. -I../../include -m64 -march=k8 -fPIC -DOPENSSL_PIC
-DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -m64 -DL_ENDIAN
-DTERMIO -O3 -Wall -DMD32_REG_T=int -DMD5_ASM   -c -o p5_pbev2.o p5_pbev2.c
p5_pbev2.c: In function 'PKCS5_pbe2_set':
p5_pbev2.c:167: warning: function called through a non-compatible type
p5_pbev2.c:167: note: if this code is reached, the program will abort
p5_pbev2.c:183: warning: function called through a non-compatible type
p5_pbev2.c:183: note: if this code is reached, the program will abort
gcc -I.. -I../.. -I../../include -m64 -march=k8 -fPIC -DOPENSSL_PIC
-DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -m64 -DL_ENDIAN
-DTERMIO -O3 -Wall -DMD32_REG_T=int -DMD5_ASM   -c -o p8_pkey.o p8_pkey.c
--
gcc -I.. -I../.. -I../../include -m64 -march=k8 -fPIC -DOPENSSL_PIC
-DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -m64 -DL_ENDIAN
-DTERMIO -O3 -Wall -DMD32_REG_T=int -DMD5_ASM   -c -o pem_all.o pem_all.c
pem_all.c: In function 'PEM_read_bio_X509_REQ':
pem_all.c:141: warning: function called through a non-compatible type
pem_all.c:141: note: if this code is reached, the program will abort
pem_all.c: In function 'PEM_read_X509_REQ':
pem_all.c:141: warning: function called through a non-compatible type
pem_all.c:141: note: if this code is reached, the program will abort
pem_all.c: In function 'PEM_write_bio_X509_REQ':
pem_all.c:141: warning: function called through a non-compatible type
pem_all.c:141: note: if this code is reached, the program will abort
pem_all.c: In function 'PEM_write_X509_REQ':
pem_all.c:141: warning: function called through a non-compatible type
pem_all.c:141: note: if this code is reached, the program will abort
pem_all.c: In function 'PEM_write_bio_X509_REQ_NEW':
pem_all.c:143: warning: function called through a non-compatible type
pem_all.c:143: note: if this code is reached, the program will abort
pem_all.c: In function 'PEM_write_X509_REQ_NEW':
pem_all.c:143: warning: function called through a non-compatible type
pem_all.c:143: note: if this code is reached, the program will abort
pem_all.c: In function 'PEM_read_bio_X509_CRL':
pem_all.c:145: warning: function called through a non-compatible type
pem_all.c:145: note: if this code is reached, the program will abort
pem_all.c: In function 'PEM_read_X509_CRL':
pem_all.c:145: warning: function called through a non-compatible type
pem_all.c:145: note: if this code is reached, the program will abort
pem_all.c: In function 'PEM_write_bio_X509_CRL':
pem_all.c:145: warning: function called through a non-compatible type
pem_all.c:145: note: if this code is reached, the program will abort
pem_all.c: In function 'PEM_write_X509_CRL':
pem_all.c:145: warning: function called through a non-compatible type
pem_all.c:145: note: if this code is reached, the program will abort
pem_all.c: In function 'PEM_read_bio_PKCS7':
pem_all.c:147: warning: function called through a non-compatible type
pem_all.c:147: note: if this code is reached, the program will abort
... and more of these in several more sources.

-- 
"Only wimps use tape backup: _real_ men just upload their important stuff
on ftp, and let the rest of the world mirror it ;)"
(Linus Torvalds, about his failing hard drive on linux.cs.helsinki.fi)

Attachment: pgp7ixrBjPDfI.pgp
Description: PGP signature

Reply via email to