Disable LFS if Solaris/gcc bug is detected. Fixes #618095.
This commit is contained in:
parent
c7cdd7182a
commit
399a6890f5
|
@ -1,5 +1,5 @@
|
||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# From configure.in Revision: 1.349 .
|
# From configure.in Revision: 1.350 .
|
||||||
# Guess values for system-dependent variables and create Makefiles.
|
# Guess values for system-dependent variables and create Makefiles.
|
||||||
# Generated by GNU Autoconf 2.53.
|
# Generated by GNU Autoconf 2.53.
|
||||||
#
|
#
|
||||||
|
@ -4423,6 +4423,64 @@ _ACEOF
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Enabling LFS on Solaris (2.6 to 9) with gcc 2.95 triggers a bug in
|
||||||
|
# the system headers: If _XOPEN_SOURCE and _LARGEFILE_SOURCE are
|
||||||
|
# defined, but the compiler does not support pragma redefine_extname,
|
||||||
|
# and _LARGEFILE64_SOURCE is not defined, the headers refer to 64-bit
|
||||||
|
# structures (such as rlimit64) without declaring them. As a
|
||||||
|
# work-around, disable LFS on such configurations
|
||||||
|
|
||||||
|
use_lfs=yes
|
||||||
|
echo "$as_me:$LINENO: checking Solaris LFS bug" >&5
|
||||||
|
echo $ECHO_N "checking Solaris LFS bug... $ECHO_C" >&6
|
||||||
|
cat >conftest.$ac_ext <<_ACEOF
|
||||||
|
#line $LINENO "configure"
|
||||||
|
#include "confdefs.h"
|
||||||
|
|
||||||
|
#define _LARGEFILE_SOURCE 1
|
||||||
|
#define _FILE_OFFSET_BITS 64
|
||||||
|
#include <sys/resource.h>
|
||||||
|
|
||||||
|
#ifdef F77_DUMMY_MAIN
|
||||||
|
# ifdef __cplusplus
|
||||||
|
extern "C"
|
||||||
|
# endif
|
||||||
|
int F77_DUMMY_MAIN() { return 1; }
|
||||||
|
#endif
|
||||||
|
int
|
||||||
|
main ()
|
||||||
|
{
|
||||||
|
struct rlimit foo;
|
||||||
|
;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
_ACEOF
|
||||||
|
rm -f conftest.$ac_objext
|
||||||
|
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
|
||||||
|
(eval $ac_compile) 2>&5
|
||||||
|
ac_status=$?
|
||||||
|
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||||
|
(exit $ac_status); } &&
|
||||||
|
{ ac_try='test -s conftest.$ac_objext'
|
||||||
|
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
|
||||||
|
(eval $ac_try) 2>&5
|
||||||
|
ac_status=$?
|
||||||
|
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||||
|
(exit $ac_status); }; }; then
|
||||||
|
sol_lfs_bug=no
|
||||||
|
else
|
||||||
|
echo "$as_me: failed program was:" >&5
|
||||||
|
cat conftest.$ac_ext >&5
|
||||||
|
sol_lfs_bug=yes
|
||||||
|
fi
|
||||||
|
rm -f conftest.$ac_objext conftest.$ac_ext
|
||||||
|
echo "$as_me:$LINENO: result: $sol_lfs_bug" >&5
|
||||||
|
echo "${ECHO_T}$sol_lfs_bug" >&6
|
||||||
|
if test "$sol_lfs_bug" = "yes"; then
|
||||||
|
use_lfs=no
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test "$use_lfs" = "yes"; then
|
||||||
# Two defines needed to enable largefile support on various platforms
|
# Two defines needed to enable largefile support on various platforms
|
||||||
# These may affect some typedefs
|
# These may affect some typedefs
|
||||||
|
|
||||||
|
@ -4435,6 +4493,7 @@ cat >>confdefs.h <<\_ACEOF
|
||||||
#define _FILE_OFFSET_BITS 64
|
#define _FILE_OFFSET_BITS 64
|
||||||
_ACEOF
|
_ACEOF
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
# Add some code to confdefs.h so that the test for off_t works on SCO
|
# Add some code to confdefs.h so that the test for off_t works on SCO
|
||||||
cat >> confdefs.h <<\EOF
|
cat >> confdefs.h <<\EOF
|
||||||
|
|
21
configure.in
21
configure.in
|
@ -654,12 +654,33 @@ if test "$ac_cv_has_makedev" = "yes"; then
|
||||||
AC_DEFINE(HAVE_MAKEDEV, 1, [Define this if you have the makedev macro.])
|
AC_DEFINE(HAVE_MAKEDEV, 1, [Define this if you have the makedev macro.])
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Enabling LFS on Solaris (2.6 to 9) with gcc 2.95 triggers a bug in
|
||||||
|
# the system headers: If _XOPEN_SOURCE and _LARGEFILE_SOURCE are
|
||||||
|
# defined, but the compiler does not support pragma redefine_extname,
|
||||||
|
# and _LARGEFILE64_SOURCE is not defined, the headers refer to 64-bit
|
||||||
|
# structures (such as rlimit64) without declaring them. As a
|
||||||
|
# work-around, disable LFS on such configurations
|
||||||
|
|
||||||
|
use_lfs=yes
|
||||||
|
AC_MSG_CHECKING(Solaris LFS bug)
|
||||||
|
AC_TRY_COMPILE([
|
||||||
|
#define _LARGEFILE_SOURCE 1
|
||||||
|
#define _FILE_OFFSET_BITS 64
|
||||||
|
#include <sys/resource.h>
|
||||||
|
],struct rlimit foo;,sol_lfs_bug=no,sol_lfs_bug=yes)
|
||||||
|
AC_MSG_RESULT($sol_lfs_bug)
|
||||||
|
if test "$sol_lfs_bug" = "yes"; then
|
||||||
|
use_lfs=no
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test "$use_lfs" = "yes"; then
|
||||||
# Two defines needed to enable largefile support on various platforms
|
# Two defines needed to enable largefile support on various platforms
|
||||||
# These may affect some typedefs
|
# These may affect some typedefs
|
||||||
AC_DEFINE(_LARGEFILE_SOURCE, 1,
|
AC_DEFINE(_LARGEFILE_SOURCE, 1,
|
||||||
[This must be defined on some systems to enable large file support.])
|
[This must be defined on some systems to enable large file support.])
|
||||||
AC_DEFINE(_FILE_OFFSET_BITS, 64,
|
AC_DEFINE(_FILE_OFFSET_BITS, 64,
|
||||||
[This must be set to 64 on some systems to enable large file support.])
|
[This must be set to 64 on some systems to enable large file support.])
|
||||||
|
fi
|
||||||
|
|
||||||
# Add some code to confdefs.h so that the test for off_t works on SCO
|
# Add some code to confdefs.h so that the test for off_t works on SCO
|
||||||
cat >> confdefs.h <<\EOF
|
cat >> confdefs.h <<\EOF
|
||||||
|
|
Loading…
Reference in New Issue