Bug#827319: vim: FTBFS[alpha,kfreebsd-*]: Test_tagcase() failed

Steven Chamberlain steven at pyro.eu.org
Sat Oct 15 10:50:06 UTC 2016


Hi!

James McCoy wrote:
> That pattern continued and Vim patch 7.4.1065[0] appears to be what
> broke Vim for kFreeBSD.

Thanks for narrowing it down to that patch.  Most of it only relates
to --enable-perlinterp=dynamic and not to --enable-perlinterp[=yes] so
the changes are mostly no-ops...

What actually seems to make a difference is:

src/Makefile:
-	$(CCC) -o $@ option.c
+	$(CCC) $(LUA_CFLAGS) $(PERL_CFLAGS) $(PYTHON_CFLAGS) $(PYTHON3_CFLAGS) $(RUBY_CFLAGS) -o $@ option.c

where

S["PERL_CFLAGS"]=" -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/lib/i386-kfreebsd-gnu/perl/5.24/CORE "

and -fwrapv significantly changes the code generated in
objects/option.o.  If I override that flag with -fno-wrapv:

+	$(CCC) $(LUA_CFLAGS) $(PERL_CFLAGS) -fno-wrapv $(PYTHON_CFLAGS) $(PYTHON3_CFLAGS) $(RUBY_CFLAGS) $(TCL_CFLAGS) -o $@ option.c

then it no longer segfaults, and all vim-gtk tests pass :)

So maybe there is a signed integer overflow in option.c (not
necessarily in code related to Perl at all).

But the linux-i386 build compiles option.c with -fwrapv, and yet it does
not segfault;  I'm not sure why.

Regards,
-- 
Steven Chamberlain
steven at pyro.eu.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: Digital signature
URL: <http://lists.alioth.debian.org/pipermail/pkg-vim-maintainers/attachments/20161015/722d7640/attachment.sig>


More information about the pkg-vim-maintainers mailing list