Subject: Fixing libiostream.a and _rtti_
From: [email-masked] ("Michael E. Flaster")

27 Nov 1996 09:09:20 -0800
Sender: [email-masked]
Approved: [email-masked]
Distribution: cygnus
Message-ID: <[email-masked]>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-Mailer: Mozilla 3.0 (WinNT; I)
Original-To: [email-masked]
Original-Sender: [email-masked]

Well, I guess I'm going to try to figure out why executables
linked against libstdc++.a in beta 16 will not execute,
or at least figure out a workaround (I only really need
libiostream.a).  (BTW, renaming the executable from
a.out to a.exe did not work for me.)

If I just build libiostream.a, there are many undefined
references to _rtti_ stuff, which I guess stands for
"run time type info".  It seems that these references
automatically get inserted by the compiler whenever
there is a virtual destructor in a class.

Now, I've noticed that their definition is in the
stdc++ library.  But I thought that the iostream lib
would be self contained, and wouldn't need the stdc++ lib.
Are the _rtti_ references necessary?  If they're not, is
there some compiler flag that will turn them off?

FYI, I have been able to link an executable against
the iostream lib + stdexcepti.o + exceptioni.o + typeinfoi.o
(+ a stub for Strings) from the stdc++ library.  The resulting
executable would still not execute.  This seems to imply
that the problem is with either
1. run-time type info
2. Exceptions
3. iostream lib
I'd guess it's 1 or 2, but unfortunately, as I've probably already
demonstrated, I know nothing about them...  :-(

Thanks in advance!

Mike
-
For help on using this list, send a message to
"[email-masked]" with one line of text: "help".