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 ste...@pyro.eu.org
signature.asc
Description: Digital signature