Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT sources DOT redhat DOT com Delivered-To: mailing list cygwin AT sources DOT redhat DOT com Date: Fri, 8 Sep 2000 23:00:49 -0400 From: Chris Faylor To: "Cygwin (E-mail)" Subject: Re: problem with dynamic_cast Message-ID: <20000908230049.A21412@cygnus.com> Reply-To: cygwin AT sources DOT redhat DOT com Mail-Followup-To: "Cygwin (E-mail)" References: <20000908124631 DOT C13006 AT cygnus DOT com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.3.6i In-Reply-To: <20000908124631.C13006@cygnus.com>; from cgf@cygnus.com on Fri, Sep 08, 2000 at 12:46:31PM -0400 On Fri, Sep 08, 2000 at 12:46:31PM -0400, Chris Faylor wrote: >On Fri, Sep 08, 2000 at 10:18:42AM -0400, Fleischer, Karsten (K.) wrote: >>How about including the stub libraries in the distribution, rather than the >>symlinks? > >The reason for the symlinks is that some packages search libc.a and libm.a >for symbols. > >If linking libc.a twice causes problems, then it *is* a bug in either gcc or >ld. > >Mumit had vowed once to fix this problem but then he disappeared... Ok, I looked into this. It is a linker problem. Specifying -lm or -lc on the command line causes ld to put symbols into the import section in improperly sorted order. This confuses the Windows "dynamic loader" (and I use the term loosely) so that certain function calls (namely strcmp and strlen) are not resolved. So when a function in libgcc needs to call strcmp it ends up jumping into unallocated memory, causing a SIGSEGV. That's the analysis. I have no idea how to fix this, but I've sent some details to DJ in the hopes that he'll be able to do something about this. cgf -- Want to unsubscribe from this list? Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com