Package: morse
Version: 2.4-2
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.

cc -o morseLinux morse.o beepLinux.o alarm.o -lm

error: conflicting function declarations "AlarmSet"
old definition in module beepLinux file alarm.h line 15
void (signed long int)
new definition in module alarm file alarm.c line 18
void (signed int time)
Makefile:28: recipe for target 'morseLinux' failed
make[1]: *** [morseLinux] Error 64
make[1]: Leaving directory 
'/srv/jenkins-slave/workspace/sid-goto-cc-morse/morse-2.4/morse.d'
debian/rules:35: recipe for target 'build-stamp' failed
make: *** [build-stamp] Error 2

As the declaration here

http://sources.debian.net/src/morse/2.4-2/morse.d/alarm.h?hl=15#L15

claims that AlarmSet takes a time_t (expanding to long int), while the actual
implementation expects an int only:

http://sources.debian.net/src/morse/2.4-2/morse.d/alarm.c?hl=18#L18

the behaviour is undefined; in particular, big endian systems will end up with
zeros in all cases.

Best,
Michael

Attachment: pgpFDLKOPO7pk.pgp
Description: PGP signature

Reply via email to