[DRE-maint] Bug#751273: ruby-bluecloth: Conflicting declarations of mkd_compile, mkd_string to cause undefined behaviour
Michael Tautschnig
mt at debian.org
Wed Jun 11 16:22:42 UTC 2014
Package: ruby-bluecloth
Version: 2.2.0-4
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.
[...]
gcc -shared -o bluecloth_ext.so bluecloth.o markdown.o html5.o mkdio.o version.o xml.o generate.o css.o setup.o xmlpage.o tags.o emmatch.o docheader.o resource.o Csio.o -L. -L/usr/lib/x86_64-linux-gnu -L. -Wl,-z,relro -L/build/ruby2.1-R1fHdQ/ruby2.1-2.1.2/debian/lib -fstack-protector -rdynamic -Wl,-export-dynamic -lruby-2.1 -lpthread -lgmp -ldl -lcrypt -lm -lc
error: conflicting function declarations "mkd_compile"
old definition in module bluecloth file mkdio.h line 23
signed int (void *, unsigned int)
new definition in module markdown file markdown.c line 1211
signed int (struct document *doc, unsigned long int flags)
error: conflicting function declarations "mkd_string"
old definition in module bluecloth file mkdio.h line 13
void * (const char *, signed int, unsigned int)
new definition in module mkdio file mkdio.c line 173
struct document * (const char *buf, signed int len, unsigned long int flags)
Makefile:232: recipe for target 'bluecloth_ext.so' failed
make[1]: *** [bluecloth_ext.so] Error 64
make[1]: Leaving directory '/srv/jenkins-slave/workspace/sid-goto-cc-ruby-bluecloth/ruby-bluecloth-2.2.0/ext'
For any platform with sizeof(unsigned int)<sizeof(unsigned long int) the
behaviour will be undefined in at least one of two ways: several bytes will take
an undefined value; for big endian systems, the wrong set of bytes will be
extracted.
On review of the code, it seems some cleanup of typedefs is required: mkdio.h
uses mkd_flag_t while mkdio.c uses DWORD:
http://sources.debian.net/src/ruby-bluecloth/2.2.0-4/ext/mkdio.h?hl=13#L13
http://sources.debian.net/src/ruby-bluecloth/2.2.0-4/ext/mkdio.c?hl=173#L173
Best,
Michael
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 859 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-ruby-extras-maintainers/attachments/20140611/be4e0b95/attachment.sig>
More information about the Pkg-ruby-extras-maintainers
mailing list