Package: asn1c
Version: 0.9.24+dfsg-1
Severity: wishlist
Usertags: goto-cc

During a rebuild of all Debian packages in a clean sid chroot (using cowbuilder
and 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 -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat 
-Werror=format-security -Wall -Wshadow -Wcast-qual -Wcast-align 
-Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wl,-z -Wl,relro 
-o asn1c asn1c.o  ../libasn1parser/.libs/libasn1parser.a 
../libasn1print/.libs/libasn1print.a ../libasn1fix/.libs/libasn1fix.a 
../libasn1compiler/.libs/libasn1compiler.a

error: conflicting function declarations "asn1p_parse"
old definition in module asn1parser file asn1parser.c line 12
signed int (void **)
new definition in module asn1p_y file asn1p_y.c line 1567
signed int (void *param)
Makefile:499: recipe for target 'asn1c' failed
make[5]: *** [asn1c] Error 64
make[5]: Leaving directory 
'/srv/jenkins-slave/workspace/sid-goto-cc-asn1c/asn1c-0.9.24+dfsg/asn1c'
Makefile:595: recipe for target 'all-recursive' failed
make[4]: *** [all-recursive] Error 1

It seems the level of indirection isn't quite consistent here. This leads to
interesting constructions such as this one here:

http://sources.debian.net/src/asn1c/0.9.24+dfsg-1/libasn1parser/asn1p_y.c?hl=1843#L1843

Cleaning up these declarations will make sure the compiler provides appropriate
diagnostics to warn about invalid memory access.

Best,
Michael

Attachment: pgphEjjjnl8jJ.pgp
Description: PGP signature

Reply via email to