------- Comment #2 from booleandomain at gmail dot com 2009-08-06 19:21 ------- My goal is to build a GNU/Linux system similar to CLFS (cross-lfs.org), where the host and the target are the same physical machine.
I'm not an expert, but anyway it seems that the C++ cross-compiler is trying to build the stdtr1c++.h header, which asks for tr1/cfenv. tr1/cfenv asks for bits/c++config.h (that defines _GLIBCXX_HAVE_FENV_H 1 and _GLIBC_USE_C99_FENV_TR1 1), then it asks for fenv.h and finally it asks for tr1_impl/cfenv. Since _GLIBCXX_USE_C99_FENV_TR1 is set to 1, tr1_impl/cfenv uses fenv_t and (don't know why) it fails. The fenv.h file in gcc build directory is only 71 bytes long, while the fenv.h provided by glibc is 4670 bytes long (don't know if this is ok). I'm not a C++ expert, so I don't know what fenv_t neither where to look for it. I also tried to --disable-c99 for both the cross-compiler and the target compiler, but the problem is still there. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40974