This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Configuring for the long long type fails on i686-pc-linux-gnu(__gxx_personality_v0 undefined)
- To: libstdc++ at gcc dot gnu dot org
- Subject: Configuring for the long long type fails on i686-pc-linux-gnu(__gxx_personality_v0 undefined)
- From: Peter Schmid <schmid at snake dot iap dot physik dot tu-darmstadt dot de>
- Date: Sat, 19 May 2001 18:48:07 +0200 (CEST)
Configuring for the long long type or ISO C99 support does not work,
since linking the configure test programs which check for the required
features, results in a linker error: undefined reference to
`__gxx_personality_v0'.
I updated the gcc 3.0 CVS sources about two hours ago.
Could someone please fix this problem.
Thanks in advance,
Peter Schmid
Excerpt from libstdc++/config.log
configure__gxx_personality_v0:3169: checking for strtoll
configure:3200: /mnt/egcs/build/gcc/xgcc -B/mnt/egcs/build/gcc/ -nostdinc++ -L/mnt/egcs/build/i686-pc-linux-gnu/libstdc++-v3/src -L/mnt/egcs/build/i686-pc-linux-gnu/libstdc++-v3/src/.libs -B/usr/local/i686-pc-linux-gnu/bin/ -B/usr/local/i686-pc-linux-gnu/lib/ -isystem /usr/local/i686-pc-linux-gnu/include -o conftest -g -O2 -fvtable-thunks -D_GNU_SOURCE conftest.C 1>&5
/tmp/ccA6Vssj.o: In function `main':
/mnt/egcs/build/i686-pc-linux-gnu/libstdc++-v3/configure:3197: undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status
configure: failed program was:
#line 3174 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char strtoll(); below. */
#include <assert.h>
/* Override any gcc2 internal prototype to avoid an error. */
#ifdef __cplusplus
extern "C"
#endif
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char strtoll();
int main() {
/* The GNU C library defines this for functions which it implements
to always fail with ENOSYS. Some functions are actually named
something starting with __ and the normal name is an alias. */
#if defined (__stub_strtoll) || defined (__stub___strtoll)
choke me
#else
strtoll();
#endif
; return 0; }
configure:3221: checking for strtoull
configure:3252: /mnt/egcs/build/gcc/xgcc -B/mnt/egcs/build/gcc/ -nostdinc++ -L/mnt/egcs/build/i686-pc-linux-gnu/libstdc++-v3/src -L/mnt/egcs/build/i686-pc-linux-gnu/libstdc++-v3/src/.libs -B/usr/local/i686-pc-linux-gnu/bin/ -B/usr/local/i686-pc-linux-gnu/lib/ -isystem /usr/local/i686-pc-linux-gnu/include -o conftest -g -O2 -fvtable-thunks -D_GNU_SOURCE conftest.C 1>&5
/tmp/ccYiBOrn.o: In function `main':
/mnt/egcs/build/i686-pc-linux-gnu/libstdc++-v3/configure:3249: undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status
configure: failed program was:
#line 3226 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char strtoull(); below. */
#include <assert.h>
/* Override any gcc2 internal prototype to avoid an error. */
#ifdef __cplusplus
extern "C"
#endif
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char strtoull();
int main() {
/* The GNU C library defines this for functions which it implements
to always fail with ENOSYS. Some functions are actually named
something starting with __ and the normal name is an alias. */
#if defined (__stub_strtoull) || defined (__stub___strtoull)
choke me
#else
strtoull();
#endif
; return 0; }
configure:3273: checking for llabs
configure:3304: /mnt/egcs/build/gcc/xgcc -B/mnt/egcs/build/gcc/ -nostdinc++ -L/mnt/egcs/build/i686-pc-linux-gnu/libstdc++-v3/src -L/mnt/egcs/build/i686-pc-linux-gnu/libstdc++-v3/src/.libs -B/usr/local/i686-pc-linux-gnu/bin/ -B/usr/local/i686-pc-linux-gnu/lib/ -isystem /usr/local/i686-pc-linux-gnu/include -o conftest -g -O2 -fvtable-thunks -D_GNU_SOURCE conftest.C 1>&5
/tmp/ccIBOBOJ.o: In function `main':
/mnt/egcs/build/i686-pc-linux-gnu/libstdc++-v3/configure:3301: undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status
configure: failed program was:
#line 3278 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char llabs(); below. */
#include <assert.h>
/* Override any gcc2 internal prototype to avoid an error. */
#ifdef __cplusplus
extern "C"
#endif
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char llabs();
int main() {
/* The GNU C library defines this for functions which it implements
to always fail with ENOSYS. Some functions are actually named
something starting with __ and the normal name is an alias. */
#if defined (__stub_llabs) || defined (__stub___llabs)
choke me
#else
llabs();
#endif
; return 0; }
configure:3325: checking for lldiv
configure:3356: /mnt/egcs/build/gcc/xgcc -B/mnt/egcs/build/gcc/ -nostdinc++ -L/mnt/egcs/build/i686-pc-linux-gnu/libstdc++-v3/src -L/mnt/egcs/build/i686-pc-linux-gnu/libstdc++-v3/src/.libs -B/usr/local/i686-pc-linux-gnu/bin/ -B/usr/local/i686-pc-linux-gnu/lib/ -isystem /usr/local/i686-pc-linux-gnu/include -o conftest -g -O2 -fvtable-thunks -D_GNU_SOURCE conftest.C 1>&5
/tmp/ccIA7Zf9.o: In function `main':
/mnt/egcs/build/i686-pc-linux-gnu/libstdc++-v3/configure:3353: undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status
configure: failed program was:
#line 3330 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char lldiv(); below. */
#include <assert.h>
/* Override any gcc2 internal prototype to avoid an error. */
#ifdef __cplusplus
extern "C"
#endif
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char lldiv();
int main() {
/* The GNU C library defines this for functions which it implements
to always fail with ENOSYS. Some functions are actually named
something starting with __ and the normal name is an alias. */
#if defined (__stub_lldiv) || defined (__stub___lldiv)
choke me
#else
lldiv();
#endif
; return 0; }
configure:3377: checking for atoll
configure:3408: /mnt/egcs/build/gcc/xgcc -B/mnt/egcs/build/gcc/ -nostdinc++ -L/mnt/egcs/build/i686-pc-linux-gnu/libstdc++-v3/src -L/mnt/egcs/build/i686-pc-linux-gnu/libstdc++-v3/src/.libs -B/usr/local/i686-pc-linux-gnu/bin/ -B/usr/local/i686-pc-linux-gnu/lib/ -isystem /usr/local/i686-pc-linux-gnu/include -o conftest -g -O2 -fvtable-thunks -D_GNU_SOURCE conftest.C 1>&5
/tmp/cc2NGGEy.o: In function `main':
/mnt/egcs/build/i686-pc-linux-gnu/libstdc++-v3/configure:3405: undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status
configure: failed program was:
#line 3382 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char atoll(); below. */
#include <assert.h>
/* Override any gcc2 internal prototype to avoid an error. */
#ifdef __cplusplus
extern "C"
#endif
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char atoll();
int main() {
/* The GNU C library defines this for functions which it implements
to always fail with ENOSYS. Some functions are actually named
something starting with __ and the normal name is an alias. */
#if defined (__stub_atoll) || defined (__stub___atoll)
choke me
#else
atoll();
#endif
; return 0; }
configure:3430: checking for lldiv_t declaration
configure:3443: /mnt/egcs/build/gcc/xgcc -B/mnt/egcs/build/gcc/ -nostdinc++ -L/mnt/egcs/build/i686-pc-linux-gnu/libstdc++-v3/src -L/mnt/egcs/build/i686-pc-linux-gnu/libstdc++-v3/src/.libs -B/usr/local/i686-pc-linux-gnu/bin/ -B/usr/local/i686-pc-linux-gnu/lib/ -isystem /usr/local/i686-pc-linux-gnu/include -c -g -O2 -fvtable-thunks -D_GNU_SOURCE conftest.C 1>&5
configure:3463: checking for wcstold
configure:3494: /mnt/egcs/build/gcc/xgcc -B/mnt/egcs/build/gcc/ -nostdinc++ -L/mnt/egcs/build/i686-pc-linux-gnu/libstdc++-v3/src -L/mnt/egcs/build/i686-pc-linux-gnu/libstdc++-v3/src/.libs -B/usr/local/i686-pc-linux-gnu/bin/ -B/usr/local/i686-pc-linux-gnu/lib/ -isystem /usr/local/i686-pc-linux-gnu/include -o conftest -g -O2 -fvtable-thunks -D_GNU_SOURCE conftest.C 1>&5
/tmp/ccYqgwyk.o: In function `main':
/mnt/egcs/build/i686-pc-linux-gnu/libstdc++-v3/configure:3491: undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status
configure: failed program was:
#line 3468 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char wcstold(); below. */
#include <assert.h>
/* Override any gcc2 internal prototype to avoid an error. */
#ifdef __cplusplus
extern "C"
#endif
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char wcstold();
int main() {
/* The GNU C library defines this for functions which it implements
to always fail with ENOSYS. Some functions are actually named
something starting with __ and the normal name is an alias. */
#if defined (__stub_wcstold) || defined (__stub___wcstold)
choke me
#else
wcstold();
#endif
; return 0; }
configure:3515: checking for wcstoll
configure:3546: /mnt/egcs/build/gcc/xgcc -B/mnt/egcs/build/gcc/ -nostdinc++ -L/mnt/egcs/build/i686-pc-linux-gnu/libstdc++-v3/src -L/mnt/egcs/build/i686-pc-linux-gnu/libstdc++-v3/src/.libs -B/usr/local/i686-pc-linux-gnu/bin/ -B/usr/local/i686-pc-linux-gnu/lib/ -isystem /usr/local/i686-pc-linux-gnu/include -o conftest -g -O2 -fvtable-thunks -D_GNU_SOURCE conftest.C 1>&5
/tmp/cc4zG2Wq.o: In function `main':
/mnt/egcs/build/i686-pc-linux-gnu/libstdc++-v3/configure:3543: undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status
configure: failed program was:
#line 3520 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char wcstoll(); below. */
#include <assert.h>
/* Override any gcc2 internal prototype to avoid an error. */
#ifdef __cplusplus
extern "C"
#endif
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char wcstoll();
int main() {
/* The GNU C library defines this for functions which it implements
to always fail with ENOSYS. Some functions are actually named
something starting with __ and the normal name is an alias. */
#if defined (__stub_wcstoll) || defined (__stub___wcstoll)
choke me
#else
wcstoll();
#endif
; return 0; }
configure:3567: checking for wcstoull
configure:3598: /mnt/egcs/build/gcc/xgcc -B/mnt/egcs/build/gcc/ -nostdinc++ -L/mnt/egcs/build/i686-pc-linux-gnu/libstdc++-v3/src -L/mnt/egcs/build/i686-pc-linux-gnu/libstdc++-v3/src/.libs -B/usr/local/i686-pc-linux-gnu/bin/ -B/usr/local/i686-pc-linux-gnu/lib/ -isystem /usr/local/i686-pc-linux-gnu/include -o conftest -g -O2 -fvtable-thunks -D_GNU_SOURCE conftest.C 1>&5
/tmp/ccQno8MP.o: In function `main':
/mnt/egcs/build/i686-pc-linux-gnu/libstdc++-v3/configure:3595: undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status
configure: failed program was:
#line 3572 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char wcstoull(); below. */
#include <assert.h>
/* Override any gcc2 internal prototype to avoid an error. */
#ifdef __cplusplus
extern "C"
#endif
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char wcstoull();
int main() {
/* The GNU C library defines this for functions which it implements
to always fail with ENOSYS. Some functions are actually named
something starting with __ and the normal name is an alias. */
#if defined (__stub_wcstoull) || defined (__stub___wcstoull)
choke me
#else
wcstoull();
#endif
; return 0; }