This is the mail archive of the cygwin@sourceware.cygnus.com 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]

egcs1.0.2mingw32 c++ dll crashes @new


One of my pet projects is building perl 5 modules with egcs.  My current 
roadblock is a module written in C++ which crashes perl with an access 
violation when run.  I've traced the execution to a point where 'new' is 
called to create an instance of a class (::cMom = new CMom;), and there is
no 
user-defined new operator.  I've also tried disabling the 
constructor by returning immediately ... no help.

I see 2 possibilities:
1)   the crash occurs in the act of calling or inside of __builtin_new;
2)   the crash occurs in the act of calling the constructor because its 
address is getting munged.

Things to consider:
- the module in question is built as a DLL which perl loads with 
LoadLibraryEx;
- perl itself contains no C++ code. Is memory allocation coordinated 
automatically between C and C++ code in gnu-win32/egcs?

At this point I'm stuck.  I don't know enough about the guts of egcs, and I 
haven't found an answer in the archives.

Anyone got any clues?



-
For help on using this list (especially unsubscribing), send a message to
"gnu-win32-request@cygnus.com" with one line of text: "help".


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