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] |
On Tue, Feb 02, 2010 at 09:36:54AM +0000, Andrew West wrote:
O.k. I've changed remove_dll_atexit to;
remove_dll_atexit (const dll *d) {
unsigned char *dll_beg = (unsigned char *) d->handle + 0x1000;
unsigned char *dll_end = (unsigned char *) d->p.data_start;
According to gdb, setting dll_end to this is functionally equivalent to using AllocationBase + RegionSize. I thought you tried that already.
But, anyway...
I tested my changes against my simple test case and against my full program and they
both seems to work fine.
I've gotten rid of remove_dll_atexit and implemented Dave's other idea of specifically calling cxa_atexit when atexit is called from a DLL. I realize this morning that this might require some additional tweaking to preserve the same order of calling but that's easily done.
I'm waiting for approval on a newlib patch before rolling a new snapshot for this.
-- 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] |