This is the mail archive of the
libstdc++@sources.redhat.com
mailing list for the libstdc++ project.
how do I configure libstdc++ for a non-unix OS - eCOS
- To: libstdc++ at gcc dot gnu dot org
- Subject: how do I configure libstdc++ for a non-unix OS - eCOS
- From: AshCan at aol dot com
- Date: Tue, 5 Dec 2000 01:43:16 EST
How do I configure libstdc++ for a non-unix OS - eCOS?
I really only need iostream for a generic ostream and strstream for some
string
manipulation, but I do not want the UNIX exception, stdout, stderr support.
Are there any instructions on-line on how to rebuild the library generically
(no UNIX
system features)?
Please see my email posted to the eCOS discussion group and the response I
was
sent. Last week I built the gcc tools for an arm-elf target (Cirrus EP7212)
which
yielded the stdlibc++.
thank you,
Dan Ash
SonicBox Inc.
QUESTION TO ECOS
I am having problems linking in any libraries. I have
rebuilt the arm-elf tool chain to get stdlibc++
libraries.
my code is as simple as:
#include <strstream>
// function
void func(args)
{
// ....
strstream strStream;
strStream << "hello world" << '\n' << '\0';
This compiles OK, but the linker reports the following
errors indicating a problem since ecos does not
support unix standard facilities.
Here are my error messages. I know this is not specifically
an ecos issue, but may help someone else in the future
trying to use stdlibc++ in ecos.
thank you
/usr/armtools/lib/gcc-lib/arm-elf/2.95.2/libstdc++.a(streambuf.o):/usr/people/
dan/prj/main/pim/plt/ecos/tools/gcc-2.95.2/libio/streambuf.cc:282: undefined
reference to `__errno_location'
/usr/armtools/lib/gcc-lib/arm-elf/2.95.2/libstdc++.a(filebuf.o):/usr/people/da
n/prj/main/pim/plt/ecos/tools/gcc-2.95.2/libio/filebuf.cc:118: undefined
reference to `open'
/usr/armtools/lib/gcc-lib/arm-elf/2.95.2/libstdc++.a(filedoalloc.o): In
function `_IO_file_doallocate':
/usr/people/dan/prj/main/pim/plt/ecos/tools/gcc-2.95.2/libio/filedoalloc.c:104
: undefined reference to `isatty'
/usr/armtools/lib/gcc-lib/arm-elf/2.95.2/libstdc++.a(fileops.o): In function
`_IO_file_fopen':
/usr/people/dan/prj/main/pim/plt/ecos/tools/gcc-2.95.2/libio/fileops.c:186:
undefined reference to `__errno_location'
/usr/people/dan/prj/main/pim/plt/ecos/tools/gcc-2.95.2/libio/fileops.c:194:
undefined reference to `open'
/usr/people/dan/prj/main/pim/plt/ecos/tools/gcc-2.95.2/libio/fileops.c:200:
undefined reference to `__errno_location'
/usr/armtools/lib/gcc-lib/arm-elf/2.95.2/libstdc++.a(fileops.o): In function
`_IO_file_attach':
/usr/people/dan/prj/main/pim/plt/ecos/tools/gcc-2.95.2/libio/fileops.c:220:
undefined reference to `__errno_location'
/usr/armtools/lib/gcc-lib/arm-elf/2.95.2/libstdc++.a(fileops.o): In function
`_IO_file_underflow':
/usr/people/dan/prj/main/pim/plt/ecos/tools/gcc-2.95.2/libio/fileops.c:292:
undefined reference to `__errno_location'
/usr/armtools/lib/gcc-lib/arm-elf/2.95.2/libstdc++.a(fileops.o): In function
`_IO_file_overflow':
/usr/people/dan/prj/main/pim/plt/ecos/tools/gcc-2.95.2/libio/fileops.c:342:
undefined reference to `__errno_location'
/usr/armtools/lib/gcc-lib/arm-elf/2.95.2/libstdc++.a(fileops.o): In function
`_IO_file_sync':
/usr/people/dan/prj/main/pim/plt/ecos/tools/gcc-2.95.2/libio/fileops.c:408:
undefined reference to `__errno_location'
/usr/armtools/lib/gcc-lib/arm-elf/2.95.2/libstdc++.a(fileops.o): In function
`_IO_file_seek':
/usr/people/dan/prj/main/pim/plt/ecos/tools/gcc-2.95.2/libio/fileops.c:596:
undefined reference to `lseek'
/usr/armtools/lib/gcc-lib/arm-elf/2.95.2/libstdc++.a(fileops.o): In function
`_IO_file_stat':
/usr/armtools/lib/gcc-lib/arm-elf/2.95.2/../../../../arm-elf/sys-include/sys/s
tat.h:331: undefined reference to `__fxstat'
RESPONSE
In a short answer, you can NOT do that.
Ecos does not support:
+ C++ exceptions
+ rtti
+ IO Stream
+ STL
Ecos only has the bare minimal C++ support( classes & templates ).