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