This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Re: Problems with gcc 2.95.3 / stdc++ 2.90.8
- From: Neil Bird <neil at fnxweb dot com>
- To: Philip Martin <philip at codematters dot co dot uk>
- Cc: libstdc++ at gcc dot gnu dot org
- Date: Wed, 19 Dec 2001 14:33:55 +0000
- Subject: Re: Problems with gcc 2.95.3 / stdc++ 2.90.8
- Organization: Thales Sensors (but only on behalf of myself)
- References: <3C207CC2.1050801@fnxweb.com> <87ellr732g.fsf@codematters.co.uk>
- Reply-to: libstdc++ at gcc dot gnu dot org
Around about 12/19/01 13:27, Philip Martin scribbled ...
> I recall gcc 2.95 has a -fhonor-std/-fno-honor-std flag which controls
> whether the compiler puts symbol std::xxx in the std or global
> namespace. If you compile the library with -fhonor-std and compile
> your code with -fno-honor-std I believe you will get this
> error. Running nm -C on the library should tell you whether its
> symbols are in the std namespace.
I remember reading about this now. OK ...
nm -C on my libstdc++.a gives me loads of std:: things.
Looking at the makefile gubbins in the libstdc++ build dir. I
can see -fhonor-std being menioned, so I guess that's happening.
Is it right for std::cout to appear twice - once 'U'
(undefined?) and one actual 'B' definition? Guess so.
However - if I g++ my hello-world prog. with '-fhonor-std' I
get *reams* of errors, which start:
/usr/local/lib/libstdc++.a(ios.o): In function `$_Q23std6locale':
/usr/local/src/gcc/build/gcc/include/exception(.data$_vt$Q23std9exception+0x14):
undefined reference to `std::exception::what(void) const'
/usr/local/lib/libstdc++.a(misc-inst.o): In function `long
std::S_copy_streambufs<char, std::char_traits<char>
>(std::basic_ios<char, std::char_traits<char> > &,
std::basic_streambuf<char, std::char_traits<char> > *,
std::basic_streambuf<char, std::char_traits<char> > *)':
/usr/local/src/gcc/build/i686-pc-cygwin32/libstdc++/src/../../../../gcc/libstdc++/config/cpu/i386/atomicity.h:37:
undefined reference to `std::uncaught_exception(void)'
... and so on.
--
[neil@fnx ~]# rm -f .signature
[neil@fnx ~]# ls -l .signature
ls: .signature: No such file or directory
[neil@fnx ~]# exit