LFS not recognized anymore: "undefined reference to `__gxx_personality_v0'"

Paolo Carlini pcarlini@suse.de
Wed Dec 24 15:16:00 GMT 2003


Hi,

I have just noticed that we don't recognize LFS support anymore:
no idea which change is the culprit :-((

At configure time:

configure:29946:  /home/paolo/Gcc/cvs-dirs/gcc-head-build/gcc/xgcc 
-shared-libgcc -B/home/paolo/Gcc/cvs-dirs/gcc-head-build/gcc/ 
-nostdinc++ 
-L/home/paolo/Gcc/cvs-dirs/gcc-head-build/i686-pc-linux-gnu/libstdc++-v3/src 
-L/home/paolo/Gcc/cvs-dirs/gcc-head-build/i686-pc-linux-gnu/libstdc++-v3/src/.libs 
-B/usr/local/gcc-exp/i686-pc-linux-gnu/bin/ 
-B/usr/local/gcc-exp/i686-pc-linux-gnu/lib/ -isystem 
/usr/local/gcc-exp/i686-pc-linux-gnu/include -isystem 
/usr/local/gcc-exp/i686-pc-linux-gnu/sys-include -o conftest -g -O2 
-D_GNU_SOURCE -O2 -g -O2  conftest.cc -lm  >&5
/tmp/ccmt0uZK.o(.eh_frame+0x11): In function `main':
/home/paolo/Gcc/cvs-dirs/gcc-head-build/i686-pc-linux-gnu/libstdc++-v3/conftest.cc:194: 
undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status

The test itself is as follows:

AC_DEFUN(GLIBCXX_CHECK_LFS, [
  AC_LANG_SAVE
  AC_LANG_CPLUSPLUS   
  AC_CACHE_VAL(glibcxx_cv_LFS, [
    AC_TRY_LINK(
      [#include <unistd.h>
       #include <stdio.h>
      ],
      [FILE* fp;
       fopen64("t", "w");
       fseeko64(fp, 0, SEEK_CUR);
       ftello64(fp);
       lseek64(1, 0, SEEK_CUR);],   
      [glibcxx_cv_LFS=yes],
      [glibcxx_cv_LFS=no])
  ])
  if test $glibcxx_cv_LFS = yes; then
    AC_DEFINE(_GLIBCXX_USE_LFS)
  fi
  AC_LANG_RESTORE   
])

that is, it's both TRY_LINK and CPLUSPLUS, in order to be sure
that the 64 bit functions are actually visible when compiling
with g++.

Something we can easily do is adding '-fno-exceptions' to the
test, should work.

Suggestions? Other ideas?

Thanks,
Paolo.



More information about the Libstdc++ mailing list