This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[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	
 ])
 
 

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]