0
0
mirror of https://github.com/vim/vim.git synced 2025-07-26 11:04:33 -04:00

patch 8.0.1444: missing -D_FILE_OFFSET_BITS=64 may cause problems

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)
This commit is contained in:
Bram Moolenaar 2018-01-31 14:41:37 +01:00
parent 059fd01021
commit ec0557f08b
3 changed files with 28 additions and 0 deletions

12
src/auto/configure vendored
View File

@ -14314,6 +14314,18 @@ $as_echo "no" >&6; }
fi 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 "$as_me:${as_lineno-$LINENO}: checking linker --as-needed support" >&5
$as_echo_n "checking linker --as-needed support... " >&6; } $as_echo_n "checking linker --as-needed support... " >&6; }
LINK_AS_NEEDED= LINK_AS_NEEDED=

View File

@ -4366,6 +4366,20 @@ if test "$GCC" = yes; then
fi fi
AC_SUBST(DEPEND_CFLAGS_FILTER) 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 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 least GNU ld supports --as-needed which provides the same functionality
dnl at linker level. Let's use it. dnl at linker level. Let's use it.

View File

@ -771,6 +771,8 @@ static char *(features[]) =
static int included_patches[] = static int included_patches[] =
{ /* Add new patch number below this line */ { /* Add new patch number below this line */
/**/
1444,
/**/ /**/
1443, 1443,
/**/ /**/