problem with dynamic_cast

Chris Faylor cgf@cygnus.com
Fri Sep 8 20:01:00 GMT 2000


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@sourceware.cygnus.com



More information about the Cygwin mailing list