Package: dietlibc
Version: 0.33~cvs20120325-6
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.

[...]
gcc -D__dietlibc__ -isystem include -Os -fstrict-aliasing 
-momit-leaf-frame-pointer -mfancy-math-387 -W -Wall -Wextra -Wchar-subscripts 
-Wmissing-prototypes -Wmissing-declarations -Wno-switch -Wno-unused 
-Wredundant-decls -fno-stack-protector -nostdlib -o bin-x86_64/diet 
bin-x86_64/start.o bin-x86_64/dyn_start.o diet.c bin-x86_64/dietlibc.a 
bin-x86_64/dyn_stop.o 
-DDIETHOME=\"/srv/jenkins-slave/workspace/sid-goto-cc-dietlibc/dietlibc-0.33~cvs20120325\"
 -DVERSION=\"0.33~cvs20120325-6\" -lgcc

file include/stdlib.h line 37: error: conflicting function declarations 
"__lltostr"
old definition in module __lltostr file lib/__lltostr.c line 5
signed int (char *s, signed int size, unsigned long long int i, signed int 
base, char UpCase)
new definition in module __v_printf file include/stdlib.h line 37
signed int (char *, unsigned int, unsigned long long int, unsigned int, signed 
int)
make[1]: *** [bin-x86_64/diet] Error 64
make[1]: Leaving directory 
`/srv/jenkins-slave/workspace/sid-goto-cc-dietlibc/dietlibc-0.33~cvs20120325'

Observe the differences in signedness on parameters size and base, and the
different size for parameter UpCase. Depending on actual parameter values, this
might result in undefined behaviour (the C standard certainly provides no
guarantees here). Yet likely adjustment of the actual definition suffices to
avoid problems.

Best,
Michael

Attachment: pgp05iWVItENB.pgp
Description: PGP signature

Reply via email to