Package: kbuild
Version: 1:0.1.9998svn2695+dfsg-1
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 -Wall -Wextra -Wdeclaration-after-statement -Wshadow -Wpointer-arith 
-Wbad-function-cast -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat 
-Werror=format-security  -Wl,-z,relro -Wl,--as-needed -o kmk ar.o arscan.o 
commands.o default.o dir.o expand.o file.o function.o getopt.o getopt1.o 
implicit.o job.o main.o misc.o read.o remake.o remote-stub.o rule.o signame.o 
strcache.o variable.o version.o vpath.o hash.o expreval.o incdep.o strcache2.o 
alloccache.o kbuild.o kbuild-read.o electric.o md5.o kDep.o kmkbuiltin.o 
append.o cat.o chmod.o cmp.o cmp_util.o cp.o cp_utils.o echo.o expr.o install.o 
kDepIDB.o kDepObj.o ln.o md5sum.o mkdir.o mv.o printf.o rm.o rmdir.o sleep.o 
test.o err.o fts.o setmode.o strmode.o strlcpy.o osdep.o kbuild_protection.o 
kbuild_version.o   
chmod.o: In function `kmk_builtin_chmod':
/srv/jenkins-slave/workspace/sid-goto-cc-kbuild/kbuild-0.1.9998svn2695+dfsg/src/kmk/kmkbuiltin/chmod.c:184:
 warning: lchmod is not implemented and will always fail

error: conflicting function declarations "kmk_builtin_echo"
old definition in module kmkbuiltin file 
/srv/jenkins-slave/workspace/sid-goto-cc-kbuild/kbuild-0.1.9998svn2695+dfsg/src/kmk/kmkbuiltin.h
 line 42
signed int (signed int, char **, char **)
new definition in module echo file 
/srv/jenkins-slave/workspace/sid-goto-cc-kbuild/kbuild-0.1.9998svn2695+dfsg/src/kmk/kmkbuiltin/echo.c
 line 84
signed int (signed int argc, char **argv)
Makefile:719: recipe for target 'kmk' failed
make[5]: *** [kmk] Error 64
make[5]: Leaving directory 
'/srv/jenkins-slave/workspace/sid-goto-cc-kbuild/kbuild-0.1.9998svn2695+dfsg/out/linux.amd64/release/bootstrap/kmk'
Makefile:1332: recipe for target 'all-recursive' failed

Reviewing the definition here

http://sources.debian.net/src/kbuild/1:0.1.9998svn2695+dfsg-1/src/kmk/kmkbuiltin/echo.c?hl=84#L84

and the declaration here

http://sources.debian.net/src/kbuild/1:0.1.9998svn2695+dfsg-1/src/kmk/kmkbuiltin.h?hl=42#L42

and the corresponding use here

http://sources.debian.net/src/kbuild/1:0.1.9998svn2695+dfsg-1/src/kmk/kmkbuiltin.c?hl=195#L195

it may be worth adding a parameter to the definition (with a possible
(void)environ; statement to silence warnings about unused parameters) to gain
consistency. As is, the code using the function is fooled to assume this
argument were relevant.

Best,
Michael

Attachment: pgpDXPbQd7I4S.pgp
Description: PGP signature

Reply via email to