Package: i7z
Version: 0.27.2-2
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.

[...]
cc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat 
-Werror=format-security -fno-schedule-insns2  -fno-schedule-insns 
-fno-inline-small-functions -fno-caller-saves -D_GNU_SOURCE 
-D_FILE_OFFSET_BITS=64 -DBUILD_MAIN -Wimplicit-function-declaration -Dx64_BIT 
-Wl,-z,relro -o i7z i7z.o helper_functions.o i7z_Single_Socket.o 
i7z_Dual_Socket.o -lncurses -lpthread -lrt -lm

error: conflicting function declarations "Print_Information_Processor"
old definition in module i7z file i7z.h line 145
void (_Bool *, _Bool *)
new definition in module helper_functions file helper_functions.c line 343
void (signed int *nehalem, signed int *sandy_bridge)
Makefile:41: recipe for target 'bin' failed
make[2]: *** [bin] Error 64

Note that the literal declarations read like this:

void Print_Information_Processor(bool*, bool*);

and

void Print_Information_Processor(bool* nehalem, bool* sandy_bridge)

Thus bool is, via typedefs or preprocessor macros, expanded in different ways.
The following exist within the source

http://sources.debian.net/src/i7z/0.27.2-2/i7z.h?hl=18#L18
http://sources.debian.net/src/i7z/0.27.2-2/cpuinfo.c?hl=6#L6

and may be complemented by some uses of stdbool.h. Either way, this needs
cleanup as there is no guarantee _Bool is the same size as int, making the
pointers reference storage of different size.

Best,
Michael

Attachment: pgpO58eCVtqwd.pgp
Description: PGP signature

Reply via email to