Package: canl-c
Version: 2.1.2-1
Usertags: goto-cc

During a rebuild of all packages in a clean sid chroot (and cowbuilder+pbuilder)
the build failed with the following error. Please note that we use our research
compiler tool-chain (using tools from the cbmc package), which permits extended
reporting on type inconsistencies at link time.

[...]
libtool: link: gcc -shared  -fPIC -DPIC  .libs/canl_err_desc.o .libs/canl.o 
.libs/canl_err.o .libs/canl_dns.o .libs/canl_ssl.o .libs/canl_cert.o 
.libs/canl_cred.o .libs/canl_ocsp.o .libs/doio.o .libs/evaluate.o .libs/list.o 
.libs/normalize.o .libs/proxycertinfo.o .libs/scutils.o .libs/sslutils.o 
.libs/data.o .libs/namespaces_parse.o .libs/namespaces_lex.o 
.libs/signing_policy_parse.o .libs/signing_policy_lex.o   -lcares -lssl 
-lcrypto -ldl  -Wl,-z -Wl,relro   -Wl,-soname -Wl,libcanl_c.so.2 -o 
.libs/libcanl_c.so.2.1.2

file ./src/canl_cred.c line 768: error: conflicting function declarations 
"canl_pvd_setup_initializers"
old definition in module canl_ssl file ./src/canl_ssl.c line 23
struct canl_proxy_verify_desc_struct * (char *, char *, signed int)
new definition in module canl_cred file ./src/canl_cred.c line 768
struct canl_proxy_verify_desc_struct * (char *cadir, char *ocsp_url, unsigned 
int pvxd_flags)
make[1]: *** [libcanl_c.la] Error 64
rm signing_policy_lex.c namespaces_lex.c
make[1]: Leaving directory 
`/srv/jenkins-slave/workspace/sid-goto-cc-canl-c/canl-c-2.1.2'

While technically undefined behaviour, the code may work correctly if the
highest bit is never used. Yet amending the declaration seen by can_ssl.c will
certainly help the compiler to provide more meaningful diagnostics.

Best,
Michael

Attachment: pgpFdE0fc3K6b.pgp
Description: PGP signature

Reply via email to