Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

BUG in 5.3 C++ prelinker

4 views
Skip to first unread message

Shankar Unni

unread,
Apr 24, 1995, 3:00:00 AM4/24/95
to
Seth Teller (se...@larch.lcs.mit.edu) wrote:

> C++ prelinker: error: bad instantiation information file
> -- instantiation assigned to more than one file

You are probably linking the same .o file into two or more a.out files.

Currently, this is broken in the 5.3 C++ compiler: it assumes a model where
each .o is linked into exactly one a.out or shared library. If you link
the same .o into two a.out's, the prelinker gets all confused, and emits
that message.

The only workaround for now is as follows:

(a) Take the common .o's (the ones that are linked into all the
applications) and put them into a .a file.

*BUT* before that step,

(b) Run the prelinker by hand on those .o's, as in (makefile parlance):

libcommon.a: $(COMMON_OBJECTS)
/usr/lib/DCC/edg_prelink $(COMMON_OBJECTS)
ar cruv libcommon.a $(COMMON_OBJECTS)

(c) Now link your multiple targets against this .a file.

We are addressing this issue for a future release, and are trying to decide
the best way to support such functionality..
--
Shankar Unni E-Mail: sha...@sgi.com
Silicon Graphics Inc. Phone: +1-415-390-2072
URL: http://reality.sgi.com/employees/shankar

0 new messages