This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [1.7] Possible dynamic linker error


Charles Plager wrote:
> David Korn wrote:
>>> - I ran rebaseall on cygwin and all of the dlls in questions.  It still
>>> crashes, but now crashes somewhere else.
>>
>>   Ah!  Reinstall your libstdc++ dll.  Yaakov spotted that the 4.3.4-1
>> libstdc++ dll isn't rebaseable, as it turns out there's a bug in LD(*).
>>
>> I'm just doing final testing on a new release to fix the problem, but
>> until that's out, the current libstdc++ dll will have to be reinstalled
>> if it gets rebased.
> 
> O.k.  Copying 'cygstdc++-6.dll' did "restore" the original problem (as
> well as allowed the "statically-linked" executable to work again).

  Wait, what?  Are you employing the Chewbacca defense here? :-)

> From my friend Chris:
>>     The edm::ValueMap is not a 'derivation' of std::map, in fact it
>> doesn't even use it.  Also, finishConstruction() is not inlined [since
>> it is defined in a .cc file] and therefore has to be called directly.

  'k, that rules that one out.

> So between the fact that the statically linked executable works and the
> above, it really does look like the code is jumping to the wrong
> function.  I'm attaching the another gdb session where I look at $eip
> before and after to see if that provides any clues.  Do you have any
> other ideas?  Is the dll simply too big?

  Ping!  (lightbulb appearing noise)  Do you suppose there are > 65536 exports
in the DLL?  That will /definitely/ break, and will do so in a
random-jumps-into-space sort of way.

> * "statically linked" just means that we don't dynamically link to the
> 400 Mb dll, but rather compile in those .o files.  We still statically
> link to the rest of the libraries shown in:
> http://cygwin.com/ml/cygwin/2009-12/msg00275.html

  Ah, that explains the Chewbacca defense!

> p.s. Since I'm not on the mailing list, is there a way to have a
> particular message sent to me so I can respond to it and not screw up
> the threading?

  Yeah.  You need to figure out the message number by looking in the archive
at the headers of the raw text view of the post in question.  For instance,
your post which I'm replying to here is at:

http://cygwin.com/ml/cygwin/2009-12/msg00397.html

  Following the "Other format: Raw text" link in the nav header takes us to:

http://cygwin.com/cgi-bin/get-raw-msg?listname=cygwin&date=2009-12&msgid=4B228BB8.8060107%40fnal.gov

and then you're looking for the number embedded in the From/Return path headers:

> From cygwin-return-157411-listarch-cygwin=sourceware dot org at cygwin dot com Fri Dec 11 18:14:07 2009
> Return-Path: <cygwin-return-157411-listarch-cygwin=sourceware dot org at cygwin dot com>

  So that was message #157411.  To get an individual copy sent to you, send
blank email to <cygwin-get.157411@X.Y> (where X is cygwin and Y is com, to
fool spam harvesters).  You can then reply to the returned copy and the
threading will all work right.

  For full instructions on how to send commands to the list manager software,
send blank email to <cygwin-info@X.Y>, with the same X and Y as before.

    cheers,
      DaveK


--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]