This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
[Patch] Fix libstdc++/12778
- From: Paolo Carlini <pcarlini at suse dot de>
- To: libstdc++ at gcc dot gnu dot org
- Cc: rdbrown at mira dot net
- Date: Sun, 26 Oct 2003 15:48:00 +0100
- Subject: [Patch] Fix libstdc++/12778
Hi,
currently, we really support LFS only for glibc: the latter makes
everything *so* simple, since _GNU_SOURCE, defined anyway, implicitly
makes 64 bit operations visible. HP-UX actually has fopen64 and lseek64
in its libc but would need appropriate defines (i.e., _FILE_OFFSET_BITS=64)
which currently we are not prepared to pass.
The autoconf test had an error in it: it was using the C compiler instead
of the C++ compiler and HP-UX had _GLIBCXX_USE_LFS defined my mistake,
thus leading to a bootstrap error when fopen64 and lseek64 tourned out
to be not really visible at build time.
I'm quite confident that the below is the right fix, but would appreciate
if Rodney could bootstrap it.
Tested x86-linux.
Paolo.
//////////
2003-10-26 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/12778
* acinclude.m4 (GLIBCXX_CHECK_LFS): Use the C++ compiler.
* aclocal.m4: Regenerate.
* configure: Regenerate.
diff -urN libstdc++-v3-1/acinclude.m4 libstdc++-v3/acinclude.m4
--- libstdc++-v3-1/acinclude.m4 2003-10-25 09:49:34.000000000 +0200
+++ libstdc++-v3/acinclude.m4 2003-10-26 14:51:10.000000000 +0100
@@ -593,9 +593,13 @@
dnl Check whether LFS support is available.
dnl
AC_DEFUN(GLIBCXX_CHECK_LFS, [
+ AC_LANG_SAVE
+ AC_LANG_CPLUSPLUS
AC_CACHE_VAL(glibcxx_cv_LFS, [
AC_TRY_LINK(
- [#include <unistd.h>],
+ [#include <unistd.h>
+ #include <stdio.h>
+ ],
[fopen64("t", "w");
lseek64(1, 0, SEEK_CUR);],
[glibcxx_cv_LFS=yes],
@@ -604,6 +608,7 @@
if test $glibcxx_cv_LFS = yes; then
AC_DEFINE(_GLIBCXX_USE_LFS)
fi
+ AC_LANG_RESTORE
])