tags 748091 + pending quit On Wed, May 14, 2014 at 08:58:31AM +0100, Michael Tautschnig wrote: > Package: gp2c > Version: 0.0.9pl1-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. > > [...] > x86_64-linux-gnu-gcc -DFUNCDSC_PATH=\"/usr/share/gp2c/func.dsc\" -Wall -g -O2 > -Wl,-z,relro -o gp2c gp2c.o context.o funcdesc.o funcspec.o genblock.o > gencast.o gencode.o genfunc.o gentype.o gerepile.o lang.o moveblock.o node.o > parse.o printnode.o toplevel.o topfunc.o util.o varlist.o stack.o > > error: conflicting function declarations "cleancode" > old definition in module gp2c file gp2c.c line 51 > void (signed int, signed int) > new definition in module moveblock file moveblock.c line 301 > void (signed int n, signed int p, signed int d) > Makefile:303: recipe for target 'gp2c' failed > make[3]: *** [gp2c] Error 64 > make[3]: Leaving directory > '/srv/jenkins-slave/workspace/sid-goto-cc-gp2c/gp2c-0.0.9pl1/src' > Makefile:210: recipe for target 'all' failed > > Looking at the implementation of cleancode, the (single) call to cleancode > from > gp2c does not seem to provide a guaranteed that one wouldn't enter the cases > Fassign, Fblock or Fdeffunc, all of which read the value d irrespective of the > value of p (the Fseq case does only read d if p>=0). > > Such a stack underflow would cause arbitrary values to be used for "d," and > undefined behaviour results from that.
Thanks for your report. Indeed the headers files were not used properly, hidding this problem. I fixed it upstream. Cheers, -- Bill. <[email protected]> Imagine a large red swirl here. -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected]

