This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
C++ STD headers not being generated for multilib arm-elf cross compiler
- From: Pablo Bleyer Kocik <pbleyer at embedded dot cl>
- To: gcc at gcc dot gnu dot org,libstdc++ at gcc dot gnu dot org
- Date: Sun, 03 Aug 2003 15:36:58 -0400
- Subject: C++ STD headers not being generated for multilib arm-elf cross compiler
Hello.
I am trying to build a C++ cross compiler for arm-elf under
i686-pc-mingw32. GCC built smoothly and works perfectly, however the C++
library is giving me errors. These are binutils-2.14, gcc-3.3, using
newlib-1.11.0.
For gcc, I enabled thumb & thumb-interwork adding the custom MULTILIB
options in t-arm-elf. Then I configured gcc with:
{gcc-dir}/configure --prefix=d:/gnu --exec-prefix=d:/gnu
--host=i686-pc-mingw32 --target=arm-thumb-elf --enable-targets=arm-elf
--with-cpu=arm7tdmi --enable-interwork --enable-multilib --with-newlib
--disable-threads --disable-win32-registry --with-gcc --with-gnu-ld
--with-gnu-as --with-stabs
--with-headers=../newlib-1.11.0/newlib/libc/include --disable-shared
--enable-languages=c,c++
As I said, 'make all-gcc' built gcc without problems and it works fine as
much as I've tested it.
Then I built newlib configured as:
{newlib-dir}/newlib-1.11.0/configure --prefix=d:/gnu --exec-prefix=d:/gnu
--target=arm-thumb-elf --
host=i686-pc-mingw32 --with-cpu=arm7tdmi --enable-multilib --enable-interwork -
-disable-threads --disable-shared --with-gnu-ld --enable-targets=arm-elf
Ditto, builds & works ok for all arm, thumb & interwork compilations.
Now, when I attempt to compile the C++ libs, the make process dies trying
to compile libsupc++:
In file included from
../../../../../gcc-3.3/libstdc++-v3/libsupc++/del_op.cc:31:
../../../../../gcc-3.3/libstdc++-v3/libsupc++/new:41:19: cstddef: No such
file or directory
In file included from
../../../../../gcc-3.3/libstdc++-v3/libsupc++/del_op.cc:31:
../../../../../gcc-3.3/libstdc++-v3/libsupc++/new:82: error: `size_t'
undeclared in namespace `std'
../../../../../gcc-3.3/libstdc++-v3/libsupc++/new:82: error: declaration of `
operator new' as non-function
[...lots of errors due to missing cstddef...]
I checked out and the libstdc++/include headers are not being
generated... I can manually generate the header files issuing a make in the
libstdc++/include dir, however I have concerns about the multilib handling
of the header file construction process.
Cheers!
-- /"It would appear that we have reached the limits of
PabloBleyerKocik / what it is possible to achieve with computer technology,
pbleyer / although one should be careful with such statements, as
@embedded.cl / they tend to sound pretty silly in 5 years."-J.von Neumann