Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , 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 X-Mailer: The Bat! (v1.32) UNREG / CD5BF9353B3B7091 Reply-To: Paul Sokolovsky X-Priority: 3 (Normal) Message-ID: <6714.990928@is.lg.ua> To: Richard 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 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Hello Richard, Richard wrote: >> Richard 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