delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2009/12/08/22:46:20

X-Recipient: archive-cygwin AT delorie DOT com
X-SWARE-Spam-Status: No, hits=-2.6 required=5.0 tests=BAYES_00,SPF_PASS
X-Spam-Check-By: sourceware.org
Date: Tue, 08 Dec 2009 21:46:05 -0600
From: Charles Plager <cplager+cygwin AT fnal DOT gov>
Subject: Re: [1.7] Possible dynamic linker error
To: cygwin AT cygwin DOT com, cdj+cygwin AT fnal DOT gov
Message-id: <4B1F1D7D.1000100@fnal.gov>
MIME-version: 1.0
User-Agent: Thunderbird 2.0.0.23 (Windows/20090812)
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com

Hi Dave,

Dave Korn wrote:

>> libraries were compiled by me on the same machine using gcc4.3.4).  When
>> looking at the problem using GDB, it says it is now going to jump to
>> subroutine A (finishConstruction()), but instead jumps to subroutine B
>> (edm::ValueMap<double>::operator+=).
> 
>   This could be just the ordinary sort of thing that goes on when you compile
> with optimisation (and hence inlining) turned on.  It looks from the earlier
> lines like it's just constructed a std::map as part of the PluginFactory or
> PluginFactoryBase constructors, so if that edm::ValueMap is a derivation of
> std::map it might well be that finishConstruction() is correctly invoking the
> += operator to append an item, and gdb is showing you the source of the
> inlined operator function.

Here's a few pieces of additional information:

- I see this behavior with both "standard" level of optimization 
(whatever that is) and -O0.

- If instead of using the 400 Mb DLL, I compile the executable including 
all of those .o files directly, the program doesn't crash.

- I ran rebaseall on cygwin and all of the dlls in questions.  It still 
crashes, but now crashes somewhere else.

>   So I think first thing you need to do is figure out if maybe it's actually
> going the right code path, and has gotten something wrong with the value of j.
>  Check the value of $eip before and after that final step command and find out
> exactly where you're running.

I'll try this when I get back to my office.

Thanks!

Charles


--
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

- Raw text -


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