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