To: vim_dev@googlegroups.com Subject: Patch 8.0.1444 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 8.0.1444 Problem: Missing -D_FILE_OFFSET_BITS=64 may cause problems if a library is compiled with it. Solution: Include -D_FILE_OFFSET_BITS if some CFLAGS has it. (James McCoy, closes #2600) Files: src/configure.ac, src/auto/configure *** ../vim-8.0.1443/src/configure.ac 2018-01-28 22:48:50.042864291 +0100 --- src/configure.ac 2018-01-31 14:38:09.693066401 +0100 *************** *** 4366,4371 **** --- 4366,4385 ---- fi AC_SUBST(DEPEND_CFLAGS_FILTER) + dnl On some systems AC_SYS_LARGEFILE determines that -D_FILE_OFFSET_BITS=64 + dnl isn't required, but the CFLAGS for some of the libraries we're using + dnl include the define. Since the define changes the size of some datatypes + dnl (e.g. ino_t and off_t), all of Vim's modules must be compiled with a + dnl consistent value. It's therefore safest to force the use of the define + dnl if it's present in any of the *_CFLAGS variables. + AC_MSG_CHECKING(whether we need to force -D_FILE_OFFSET_BITS=64) + if echo "$CFLAGS $LUA_CFLAGS $MZSCHEME_CFLAGS $PERL_CFLAGS $PYTHON_GETPATH_CFLAGS $PYTHON_CFLAGS $PYTHON3_CFLAGS $TCL_CFLAGS $RUBY_CFLAGS $GTK_CFLAGS" | grep -q D_FILE_OFFSET_BITS 2>/dev/null; then + AC_MSG_RESULT(yes) + AC_DEFINE(_FILE_OFFSET_BITS, 64) + else + AC_MSG_RESULT(no) + fi + dnl link.sh tries to avoid overlinking in a hackish way. dnl At least GNU ld supports --as-needed which provides the same functionality dnl at linker level. Let's use it. *** ../vim-8.0.1443/src/auto/configure 2018-01-28 22:48:50.042864291 +0100 --- src/auto/configure 2018-01-31 14:38:13.721037579 +0100 *************** *** 14314,14319 **** --- 14314,14331 ---- fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we need to force -D_FILE_OFFSET_BITS=64" >&5 + $as_echo_n "checking whether we need to force -D_FILE_OFFSET_BITS=64... " >&6; } + if echo "$CFLAGS $LUA_CFLAGS $MZSCHEME_CFLAGS $PERL_CFLAGS $PYTHON_GETPATH_CFLAGS $PYTHON_CFLAGS $PYTHON3_CFLAGS $TCL_CFLAGS $RUBY_CFLAGS $GTK_CFLAGS" | grep -q D_FILE_OFFSET_BITS 2>/dev/null; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 + $as_echo "yes" >&6; } + $as_echo "#define _FILE_OFFSET_BITS 64" >>confdefs.h + + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + $as_echo "no" >&6; } + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking linker --as-needed support" >&5 $as_echo_n "checking linker --as-needed support... " >&6; } LINK_AS_NEEDED= *** ../vim-8.0.1443/src/version.c 2018-01-31 14:25:49.918406552 +0100 --- src/version.c 2018-01-31 14:40:59.791852980 +0100 *************** *** 773,774 **** --- 773,776 ---- { /* Add new patch number below this line */ + /**/ + 1444, /**/ -- Error:015 - Unable to exit Windows. Try the door. /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ \\\ an exciting new programming language -- http://www.Zimbu.org /// \\\ help me help AIDS victims -- http://ICCF-Holland.org ///