[openssl-dev] [openssl.org #4480] PATCH: Ubuntu 14 (x86_64): Compile errors and warnings when using "no-asm -ansi"

noloader@gmail.com via RT rt at openssl.org
Fri Mar 25 11:46:34 UTC 2016


$ git diff crypto/async/arch/async_posix.h > async_posix.h.patch
$ cat async_posix.h.patch
diff --git a/crypto/async/arch/async_posix.h b/crypto/async/arch/async_posix.h
index de80f95..968358f 100644
--- a/crypto/async/arch/async_posix.h
+++ b/crypto/async/arch/async_posix.h
@@ -74,7 +74,7 @@ typedef struct async_fibre_st {
     int env_init;
 } async_fibre;

-static inline int async_fibre_swapcontext(async_fibre *o, async_fibre
*n, int r)
+static ossl_inline int async_fibre_swapcontext(async_fibre *o,
async_fibre *n, int r)
 {
     o->env_init = 1;



> Working from Master at 7793e17440539b71 on Ubuntu 14 machine. Also see
> http://stackoverflow.com/questions/13870489/is-inline-asm-part-of-the-ansi-c-standard.
>
> $ ./config shared no-asm -ansi
> ...
> $ make -k
> ...
>
> gcc -DDSO_DLFCN -DHAVE_DLFCN_H -DOPENSSL_THREADS
> -DOPENSSL_NO_STATIC_ENGINE -DOPENSSL_PIC
> -DOPENSSLDIR="\"/usr/local/ssl\""
> -DENGINESDIR="\"/usr/local/lib/engines\"" -Wall -O3 -pthread -m64
> -DL_ENDIAN  -ansi -fPIC -Iinclude -I. -Icrypto/include -MMD -MF
> crypto/asn1/ameth_lib.d.tmp -MT crypto/asn1/ameth_lib.o -c -o
> crypto/asn1/ameth_lib.o crypto/asn1/ameth_lib.c
> crypto/asn1/ameth_lib.c: In function ‘EVP_PKEY_asn1_find_str’:
> crypto/asn1/ameth_lib.c:217:13: warning: implicit declaration of
> function ‘strncasecmp’ [-Wimplicit-function-declaration]
>              && (strncasecmp(ameth->pem_str, str, len) == 0))
>              ^
>
>
> gcc -DDSO_DLFCN -DHAVE_DLFCN_H -DOPENSSL_THREADS
> -DOPENSSL_NO_STATIC_ENGINE -DOPENSSL_PIC
> -DOPENSSLDIR="\"/usr/local/ssl\""
> -DENGINESDIR="\"/usr/local/lib/engines\"" -Wall -O3 -pthread -m64
> -DL_ENDIAN  -ansi -fPIC -Iinclude -I. -Icrypto/include -MMD -MF
> crypto/bio/b_addr.d.tmp -MT crypto/bio/b_addr.o -c -o
> crypto/bio/b_addr.o crypto/bio/b_addr.c
> crypto/bio/b_addr.c: In function ‘BIO_lookup’:
> crypto/bio/b_addr.c:770:17: warning: implicit declaration of function
> ‘hstrerror’ [-Wimplicit-function-declaration]
>                  ERR_add_error_data(1, hstrerror(h_errno));
>                  ^
> crypto/bio/b_addr.c:690:13: warning: unused variable ‘gai_ret’
> [-Wunused-variable]
>          int gai_ret = 0;
>              ^
>
> gcc -DDSO_DLFCN -DHAVE_DLFCN_H -DOPENSSL_THREADS
> -DOPENSSL_NO_STATIC_ENGINE -DOPENSSL_PIC
> -DOPENSSLDIR="\"/usr/local/ssl\""
> -DENGINESDIR="\"/usr/local/lib/engines\"" -Wall -O3 -pthread -m64
> -DL_ENDIAN  -ansi -fPIC -Iinclude -I. -Icrypto/include -MMD -MF
> crypto/bio/bss_bio.d.tmp -MT crypto/bio/bss_bio.o -c -o
> crypto/bio/bss_bio.o crypto/bio/bss_bio.c
> In file included from include/openssl/bio.h:61:0,
>                  from crypto/bio/bss_bio.c:68:
> crypto/bio/bss_bio.c: In function ‘bio_nread’:
> include/openssl/e_os2.h:267:26: error: ‘SSIZE_MAX’ undeclared (first
> use in this function)
>  #  define OSSL_SSIZE_MAX SSIZE_MAX
>                           ^
> crypto/bio/bss_bio.c:289:16: note: in expansion of macro ‘OSSL_SSIZE_MAX’
>      if (num_ > OSSL_SSIZE_MAX)
>                 ^
> include/openssl/e_os2.h:267:26: note: each undeclared identifier is
> reported only once for each function it appears in
>  #  define OSSL_SSIZE_MAX SSIZE_MAX
>                           ^
> crypto/bio/bss_bio.c:289:16: note: in expansion of macro ‘OSSL_SSIZE_MAX’
>      if (num_ > OSSL_SSIZE_MAX)
>                 ^
> crypto/bio/bss_bio.c: In function ‘bio_nwrite’:
> include/openssl/e_os2.h:267:26: error: ‘SSIZE_MAX’ undeclared (first
> use in this function)
>  #  define OSSL_SSIZE_MAX SSIZE_MAX
>                           ^
> crypto/bio/bss_bio.c:445:16: note: in expansion of macro ‘OSSL_SSIZE_MAX’
>      if (num_ > OSSL_SSIZE_MAX)
>                 ^
> make: *** [crypto/bio/bss_bio.o] Error 1
>
>
>
> gcc -DDSO_DLFCN -DHAVE_DLFCN_H -DOPENSSL_THREADS
> -DOPENSSL_NO_STATIC_ENGINE -DOPENSSL_PIC
> -DOPENSSLDIR="\"/usr/local/ssl\""
> -DENGINESDIR="\"/usr/local/lib/engines\"" -Wall -O3 -pthread -m64
> -DL_ENDIAN  -ansi -fPIC -Iinclude -I. -Icrypto/include -MMD -MF
> crypto/bio/bss_dgram.d.tmp -MT crypto/bio/bss_dgram.o -c -o
> crypto/bio/bss_dgram.o crypto/bio/bss_dgram.c
> In file included from /usr/include/netdb.h:27:0,
>                  from ./e_os.h:443,
>                  from crypto/bio/bio_lcl.h:2,
>                  from crypto/bio/bss_dgram.c:62:
> crypto/bio/bss_dgram.c: In function ‘dgram_get_mtu_overhead’:
> crypto/bio/bss_dgram.c:433:20: error: ‘const struct in6_addr’ has no
> member named ‘s6_addr32’
>                  && IN6_IS_ADDR_V4MAPPED(&tmp_addr))
>                     ^
> crypto/bio/bss_dgram.c:433:20: error: ‘const struct in6_addr’ has no
> member named ‘s6_addr32’
>                  && IN6_IS_ADDR_V4MAPPED(&tmp_addr))
>                     ^
> crypto/bio/bss_dgram.c:433:20: error: ‘const struct in6_addr’ has no
> member named ‘s6_addr32’
>                  && IN6_IS_ADDR_V4MAPPED(&tmp_addr))
>                     ^
> crypto/bio/bss_dgram.c: In function ‘dgram_ctrl’:
> crypto/bio/bss_dgram.c:604:24: error: ‘const struct in6_addr’ has no
> member named ‘s6_addr32’
>                      && IN6_IS_ADDR_V4MAPPED(&tmp_addr))
>                         ^
> crypto/bio/bss_dgram.c:604:24: error: ‘const struct in6_addr’ has no
> member named ‘s6_addr32’
>                      && IN6_IS_ADDR_V4MAPPED(&tmp_addr))
>                         ^
> crypto/bio/bss_dgram.c:604:24: error: ‘const struct in6_addr’ has no
> member named ‘s6_addr32’
>                      && IN6_IS_ADDR_V4MAPPED(&tmp_addr))
>                         ^
> make: *** [crypto/bio/bss_dgram.o] Error 1
>
>
>
> gcc -DDSO_DLFCN -DHAVE_DLFCN_H -DOPENSSL_THREADS
> -DOPENSSL_NO_STATIC_ENGINE -DOPENSSL_PIC
> -DOPENSSLDIR="\"/usr/local/ssl\""
> -DENGINESDIR="\"/usr/local/lib/engines\"" -Wall -O3 -pthread -m64
> -DL_ENDIAN  -ansi -fPIC -Iinclude -I. -Icrypto/include -MMD -MF
> crypto/conf/conf_lib.d.tmp -MT crypto/conf/conf_lib.o -c -o
> crypto/conf/conf_lib.o crypto/conf/conf_lib.c
> crypto/conf/conf_lib.c: In function ‘OPENSSL_INIT_set_config_filename’:
> crypto/conf/conf_lib.c:395:5: warning: implicit declaration of
> function ‘strdup’ [-Wimplicit-function-declaration]
>      settings->config_name = config_file == NULL ? NULL : strdup(config_file);
>      ^
> crypto/conf/conf_lib.c:395:56: warning: pointer/integer type mismatch
> in conditional expression [enabled by default]
>      settings->config_name = config_file == NULL ? NULL : strdup(config_file);
>                                                         ^
>
>
> gcc -DDSO_DLFCN -DHAVE_DLFCN_H -DOPENSSL_THREADS
> -DOPENSSL_NO_STATIC_ENGINE -DOPENSSL_PIC
> -DOPENSSLDIR="\"/usr/local/ssl\""
> -DENGINESDIR="\"/usr/local/lib/engines\"" -Wall -O3 -pthread -m64
> -DL_ENDIAN  -ansi -fPIC -Iinclude -I. -Icrypto/include -MMD -MF
> crypto/conf/conf_sap.d.tmp -MT crypto/conf/conf_sap.o -c -o
> crypto/conf/conf_sap.o crypto/conf/conf_sap.c
> crypto/conf/conf_sap.c: In function ‘OPENSSL_config’:
> crypto/conf/conf_sap.c:82:9: warning: implicit declaration of function
> ‘strdup’ [-Wimplicit-function-declaration]
>          settings.config_name = strdup(config_name);
>          ^
> crypto/conf/conf_sap.c:82:30: warning: assignment makes pointer from
> integer without a cast [enabled by default]
>          settings.config_name = strdup(config_name);
>                               ^
>
>
> gcc -DDSO_DLFCN -DHAVE_DLFCN_H -DOPENSSL_THREADS
> -DOPENSSL_NO_STATIC_ENGINE -DOPENSSL_PIC
> -DOPENSSLDIR="\"/usr/local/ssl\""
> -DENGINESDIR="\"/usr/local/lib/engines\"" -Wall -O3 -pthread -m64
> -DL_ENDIAN  -ansi -fPIC -Iinclude -I. -Icrypto/include -MMD -MF
> crypto/engine/tb_asnmth.d.tmp -MT crypto/engine/tb_asnmth.o -c -o
> crypto/engine/tb_asnmth.o crypto/engine/tb_asnmth.c
> crypto/engine/tb_asnmth.c: In function ‘ENGINE_get_pkey_asn1_meth_str’:
> crypto/engine/tb_asnmth.c:195:13: warning: implicit declaration of
> function ‘strncasecmp’ [-Wimplicit-function-declaration]
>              && strncasecmp(ameth->pem_str, str, len) == 0)
>              ^
>
>
>
> gcc -DDSO_DLFCN -DHAVE_DLFCN_H -DOPENSSL_THREADS
> -DOPENSSL_NO_STATIC_ENGINE -DOPENSSL_PIC
> -DOPENSSLDIR="\"/usr/local/ssl\""
> -DENGINESDIR="\"/usr/local/lib/engines\"" -Wall -O3 -pthread -m64
> -DL_ENDIAN  -ansi -fPIC -Iinclude -I. -Icrypto/include -MMD -MF
> crypto/rand/randfile.d.tmp -MT crypto/rand/randfile.o -c -o
> crypto/rand/randfile.o crypto/rand/randfile.c
> crypto/rand/randfile.c: In function ‘RAND_write_file’:
> crypto/rand/randfile.c:222:13: warning: implicit declaration of
> function ‘fdopen’ [-Wimplicit-function-declaration]
>              out = fdopen(fd, "wb");
>              ^
> crypto/rand/randfile.c:222:17: warning: assignment makes pointer from
> integer without a cast [enabled by default]
>              out = fdopen(fd, "wb");
>                  ^
>
>
>
> gcc -DDSO_DLFCN -DHAVE_DLFCN_H -DOPENSSL_THREADS
> -DOPENSSL_NO_STATIC_ENGINE -DOPENSSL_PIC
> -DOPENSSLDIR="\"/usr/local/ssl\""
> -DENGINESDIR="\"/usr/local/lib/engines\"" -Wall -O3 -pthread -m64
> -DL_ENDIAN  -ansi -fPIC -Iinclude -I. -Icrypto/include -MMD -MF
> crypto/threads_pthread.d.tmp -MT crypto/threads_pthread.o -c -o
> crypto/threads_pthread.o crypto/threads_pthread.c
> In file included from crypto/threads_pthread.c:50:0:
> crypto/threads_pthread.c: In function ‘CRYPTO_THREAD_lock_new’:
> crypto/threads_pthread.c:57:49: error: ‘pthread_rwlock_t’ undeclared
> (first use in this function)
>      CRYPTO_RWLOCK *lock = OPENSSL_zalloc(sizeof(pthread_rwlock_t));
>                                                  ^
> include/openssl/crypto.h:238:23: note: in definition of macro ‘OPENSSL_zalloc’
>          CRYPTO_zalloc(num, OPENSSL_FILE, OPENSSL_LINE)
>                        ^
> crypto/threads_pthread.c:57:49: note: each undeclared identifier is
> reported only once for each function it appears in
>      CRYPTO_RWLOCK *lock = OPENSSL_zalloc(sizeof(pthread_rwlock_t));
>                                                  ^
> include/openssl/crypto.h:238:23: note: in definition of macro ‘OPENSSL_zalloc’
>          CRYPTO_zalloc(num, OPENSSL_FILE, OPENSSL_LINE)
>                        ^
> crypto/threads_pthread.c:61:5: warning: implicit declaration of
> function ‘pthread_rwlock_init’ [-Wimplicit-function-declaration]
>      if (pthread_rwlock_init(lock, NULL) != 0) {
>      ^
> crypto/threads_pthread.c: In function ‘CRYPTO_THREAD_read_lock’:
> crypto/threads_pthread.c:71:5: warning: implicit declaration of
> function ‘pthread_rwlock_rdlock’ [-Wimplicit-function-declaration]
>      if (pthread_rwlock_rdlock(lock) != 0)
>      ^
> crypto/threads_pthread.c: In function ‘CRYPTO_THREAD_write_lock’:
> crypto/threads_pthread.c:79:5: warning: implicit declaration of
> function ‘pthread_rwlock_wrlock’ [-Wimplicit-function-declaration]
>      if (pthread_rwlock_wrlock(lock) != 0)
>      ^
> crypto/threads_pthread.c: In function ‘CRYPTO_THREAD_unlock’:
> crypto/threads_pthread.c:87:5: warning: implicit declaration of
> function ‘pthread_rwlock_unlock’ [-Wimplicit-function-declaration]
>      if (pthread_rwlock_unlock(lock) != 0)
>      ^
> crypto/threads_pthread.c: In function ‘CRYPTO_THREAD_lock_free’:
> crypto/threads_pthread.c:98:5: warning: implicit declaration of
> function ‘pthread_rwlock_destroy’ [-Wimplicit-function-declaration]
>      pthread_rwlock_destroy(lock);
>      ^
> make: *** [crypto/threads_pthread.o] Error 1
>
>
>
> gcc -DDSO_DLFCN -DHAVE_DLFCN_H -DOPENSSL_THREADS
> -DOPENSSL_NO_STATIC_ENGINE -DOPENSSL_PIC
> -DOPENSSLDIR="\"/usr/local/ssl\""
> -DENGINESDIR="\"/usr/local/lib/engines\"" -Wall -O3 -pthread -m64
> -DL_ENDIAN  -ansi -fPIC -Iinclude -I. -Icrypto/include -MMD -MF
> crypto/ui/ui_openssl.d.tmp -MT crypto/ui/ui_openssl.o -c -o
> crypto/ui/ui_openssl.o crypto/ui/ui_openssl.c
> crypto/ui/ui_openssl.c:270:25: error: array type has incomplete element type
>  static struct sigaction savsig[NX509_SIG];
>                          ^
> crypto/ui/ui_openssl.c: In function ‘open_console’:
> crypto/ui/ui_openssl.c:483:5: warning: implicit declaration of
> function ‘fileno’ [-Wimplicit-function-declaration]
>      if (TTY_get(fileno(tty_in), &tty_orig) == -1) {
>      ^
> crypto/ui/ui_openssl.c: In function ‘pushsig’:
> crypto/ui/ui_openssl.c:584:22: error: storage size of ‘sa’ isn’t known
>      struct sigaction sa;
>                       ^
> crypto/ui/ui_openssl.c:612:9: warning: implicit declaration of
> function ‘sigaction’ [-Wimplicit-function-declaration]
>          sigaction(i, &sa, &savsig[i]);
>          ^
> crypto/ui/ui_openssl.c:584:22: warning: unused variable ‘sa’ [-Wunused-variable]
>      struct sigaction sa;
>                       ^
> crypto/ui/ui_openssl.c: At top level:
> crypto/ui/ui_openssl.c:270:25: warning: ‘savsig’ defined but not used
> [-Wunused-variable]
>  static struct sigaction savsig[NX509_SIG];
>                          ^
> make: *** [crypto/ui/ui_openssl.o] Error 1
>
>
>
> gcc -DDSO_DLFCN -DHAVE_DLFCN_H -DOPENSSL_THREADS
> -DOPENSSL_NO_STATIC_ENGINE -DOPENSSL_PIC
> -DOPENSSLDIR="\"/usr/local/ssl\""
> -DENGINESDIR="\"/usr/local/lib/engines\"" -Wall -O3 -pthread -m64
> -DL_ENDIAN  -ansi -fPIC -Iinclude -I. -Icrypto/include -MMD -MF
> crypto/x509v3/v3_ncons.d.tmp -MT crypto/x509v3/v3_ncons.o -c -o
> crypto/x509v3/v3_ncons.o crypto/x509v3/v3_ncons.c
> crypto/x509v3/v3_ncons.c: In function ‘nc_dns’:
> crypto/x509v3/v3_ncons.c:392:5: warning: implicit declaration of
> function ‘strcasecmp’ [-Wimplicit-function-declaration]
>      if (strcasecmp(baseptr, dnsptr))
>      ^
> crypto/x509v3/v3_ncons.c: In function ‘nc_uri’:
> crypto/x509v3/v3_ncons.c:472:13: warning: implicit declaration of
> function ‘strncasecmp’ [-Wimplicit-function-declaration]
>              if (strncasecmp(p, baseptr, base->length) == 0)
>              ^
>
>
> gcc -DDSO_DLFCN -DHAVE_DLFCN_H -DOPENSSL_THREADS
> -DOPENSSL_NO_STATIC_ENGINE -DOPENSSL_PIC
> -DOPENSSLDIR="\"/usr/local/ssl\""
> -DENGINESDIR="\"/usr/local/lib/engines\"" -Wall -O3 -pthread -m64
> -DL_ENDIAN  -ansi -fPIC -Iinclude -I. -Icrypto/include -MMD -MF
> crypto/x509v3/v3_utl.d.tmp -MT crypto/x509v3/v3_utl.o -c -o
> crypto/x509v3/v3_utl.o crypto/x509v3/v3_utl.c
> crypto/x509v3/v3_utl.c: In function ‘wildcard_match’:
> crypto/x509v3/v3_utl.c:774:9: warning: implicit declaration of
> function ‘strncasecmp’ [-Wimplicit-function-declaration]
>          subject_len >= 4 && strncasecmp((char *)subject, "xn--", 4) == 0)
>          ^
>
>
> gcc -DDSO_DLFCN -DHAVE_DLFCN_H -DOPENSSL_THREADS
> -DOPENSSL_NO_STATIC_ENGINE -DOPENSSL_PIC
> -DOPENSSLDIR="\"/usr/local/ssl\""
> -DENGINESDIR="\"/usr/local/lib/engines\"" -Wall -O3 -pthread -m64
> -DL_ENDIAN  -ansi -fPIC -Iinclude -I. -MMD -MF ssl/bio_ssl.d.tmp -MT
> ssl/bio_ssl.o -c -o ssl/bio_ssl.o ssl/bio_ssl.c
> In file included from ssl/bio_ssl.c:65:0:
> ssl/ssl_locl.h:1494:20: error: field ‘next_timeout’ has incomplete type
>      struct timeval next_timeout;
>                     ^
>
>
> gcc -DDSO_DLFCN -DHAVE_DLFCN_H -DOPENSSL_THREADS
> -DOPENSSL_NO_STATIC_ENGINE -DOPENSSL_PIC
> -DOPENSSLDIR="\"/usr/local/ssl\""
> -DENGINESDIR="\"/usr/local/lib/engines\"" -Wall -O3 -pthread -m64
> -DL_ENDIAN  -ansi -fPIC -Iinclude -I. -MMD -MF ssl/d1_lib.d.tmp -MT
> ssl/d1_lib.o -c -o ssl/d1_lib.o ssl/d1_lib.c
> In file included from ssl/d1_lib.c:63:0:
> ssl/ssl_locl.h:1494:20: error: field ‘next_timeout’ has incomplete type
>      struct timeval next_timeout;
>                     ^
> make: *** [ssl/d1_lib.o] Error 1
>
>
> gcc -DDSO_DLFCN -DHAVE_DLFCN_H -DOPENSSL_THREADS
> -DOPENSSL_NO_STATIC_ENGINE -DOPENSSL_PIC
> -DOPENSSLDIR="\"/usr/local/ssl\""
> -DENGINESDIR="\"/usr/local/lib/engines\"" -Wall -O3 -pthread -m64
> -DL_ENDIAN  -ansi -fPIC -Iinclude -I. -MMD -MF ssl/ssl_conf.d.tmp -MT
> ssl/ssl_conf.o -c -o ssl/ssl_conf.o ssl/ssl_conf.c
> In file included from ssl/ssl_conf.c:59:0:
> ssl/ssl_locl.h:1494:20: error: field ‘next_timeout’ has incomplete type
>      struct timeval next_timeout;
>                     ^
> ssl/ssl_conf.c: In function ‘ssl_match_option’:
> ssl/ssl_conf.c:194:16: warning: implicit declaration of function
> ‘strncasecmp’ [-Wimplicit-function-declaration]
>                 || strncasecmp(tbl->name, name, namelen))
>                 ^
> ...
>


-- 
Ticket here: http://rt.openssl.org/Ticket/Display.html?id=4480
Please log in as guest with password guest if prompted



More information about the openssl-dev mailing list