Package: less
Version: 458-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.

[...]
gcc -Wl,-z,relro -o less main.o screen.o brac.o ch.o charset.o cmdbuf.o 
command.o cvt.o decode.o edit.o filename.o forwback.o help.o ifile.o input.o 
jump.o line.o linenum.o lsystem.o mark.o optfunc.o option.o opttbl.o os.o 
output.o pattern.o position.o prompt.o search.o signal.o tags.o ttyin.o 
version.o   -ltinfo

file opttbl.c line 42: error: conflicting types for variable 
"jump_sline_fraction"
old definition in module optfunc file optfunc.c line 49
signed int
new definition in module opttbl file opttbl.c line 42
signed long int
Makefile:57: recipe for target 'less' failed
make[1]: *** [less] Error 64
make[1]: Leaving directory 
'/srv/jenkins-slave/workspace/sid-goto-cc-less/less-458'
debian/rules:31: recipe for target 'build-stamp' failed
make: *** [build-stamp] Error 2

This error refers to the following declaration:

http://sources.debian.net/src/less/458-2/optfunc.c?hl=49#L49

that is inconsistent with the actual definition:

http://sources.debian.net/src/less/458-2/opttbl.c?hl=42#L42

Fixing the declaration in optfunc.c will ensure no undefined behaviour arises -
especially big endian systems might yield a lot of fun here as the wrong bytes
of memory might be used for values that otherwise fit the size of an int.

Best,
Michael

Attachment: pgphIDDdOaeyY.pgp
Description: PGP signature

Reply via email to