delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/1999/09/28/10:10:39

Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie DOT com AT sourceware DOT cygnus DOT com>
List-Subscribe: <mailto:cygwin-subscribe AT sourceware DOT cygnus DOT com>
List-Archive: <http://sourceware.cygnus.com/ml/cygwin/>
List-Post: <mailto:cygwin AT sourceware DOT cygnus DOT com>
List-Help: <mailto:cygwin-help AT sourceware DOT cygnus DOT com>, <http://sourceware.cygnus.com/ml/#faqs>
Sender: cygwin-owner AT sourceware DOT cygnus DOT com
Delivered-To: mailing list cygwin AT sourceware DOT cygnus DOT com
Date: Tue, 28 Sep 1999 17:08:11 +0300
From: Paul Sokolovsky <paul-ml AT is DOT lg DOT ua>
X-Mailer: The Bat! (v1.32) UNREG / CD5BF9353B3B7091
Reply-To: Paul Sokolovsky <paul-ml AT is DOT lg DOT ua>
X-Priority: 3 (Normal)
Message-ID: <6714.990928@is.lg.ua>
To: Richard <hicklinr AT mcd DOT alcatel DOT be>
CC: cygwin AT sourceware DOT cygnus DOT com
Subject: Re[2]: ld or gcc failing?
In-reply-To: <37EFCBF1.13E7203A@mcd.alcatel.be>
References: <37EFCBF1 DOT 13E7203A AT mcd DOT alcatel DOT be>
Mime-Version: 1.0

Hello Richard,

Richard <hicklinr AT mcd DOT alcatel DOT be> wrote:

>> Richard <hicklinr AT mcd DOT alcatel DOT be> writes:
>> > I must ask: what is relocatable output actually for (that can't be provided by
>> > archives)?
[]
>> More confused yet ;-?

R> I certainly am!  What could be the purpose of this?

   Let me explain how it might be helping me. I experience real burden
*linking* large C++ dll with gnuwin32 ld. Exactly that - linking!
Whole thing (280 files/3.5m) compiles within half an hour, but linking
it, say on 24M RAM box takes more than 2 hours! The cause is that all objects
produced with g++ 2.95 includes all the inline functions and virtual
tables ever were parsed (not even referenced), in separate comdat
section for each. In result, avarage size of object is 300k (cf. 15k for
static). It's hard to blame such method - without it it's impossible to build
generally usable C++ at all. But even on 64mb it takes several minutes
to link - and that's every time something changes! Moreover, this
linking seems to be hi-order problem - adding several objects makes it
trash the swap within half-hour even on those 64m (I now have got
acess to 128m box and there, finally, I can feel comfortably, but RAM became
very expensive now).

     But if partial linking of comdats were supported, it would ease
things a lot - I could link all project in two steps (ten, if needed)
- first, say, 300 objects to 10 and than 10 to dll. If I change
one source, I have to relink only one big chunk and dll. That would be
much faster, I'm sure.




Best regards,
 Paul                            mailto:paul-ml AT is DOT lg DOT ua



--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019