* common.din (__cxa_finalize): Export.

* dcrt0.cc (cygwin_atexit): Use d->handle with __cxa_atexit.
* dll_init.cc (dll_list::detach): Use d->handle with __cxa_finalize.
* include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Use 274 for
__cxa_finalize as well.
This commit is contained in:
Yaakov Selkowitz 2014-08-07 16:25:06 +00:00
parent 85a7b23a5c
commit f9c956a1ff
5 changed files with 14 additions and 5 deletions

View File

@ -1,3 +1,11 @@
2014-08-07 Yaakov Selkowitz <yselkowi@redhat.com>
* common.din (__cxa_finalize): Export.
* dcrt0.cc (cygwin_atexit): Use d->handle with __cxa_atexit.
* dll_init.cc (dll_list::detach): Use d->handle with __cxa_finalize.
* include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Use 274 for
__cxa_finalize as well.
2014-08-04 Anthony Heading <anthony@ajrh.net>
* include/sys/file.h: Add extern "C".

View File

@ -42,6 +42,7 @@ __assertfail NOSIGFE
__b64_ntop NOSIGFE
__b64_pton NOSIGFE
__cxa_atexit SIGFE
__cxa_finalize SIGFE
__dn_comp SIGFE
__dn_expand SIGFE
__dn_skipname SIGFE

View File

@ -1,7 +1,7 @@
/* dcrt0.cc -- essentially the main() for the Cygwin dll
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
2007, 2008, 2009, 2010, 2011, 2012, 2013 Red Hat, Inc.
2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014 Red Hat, Inc.
This file is part of Cygwin.
@ -1240,7 +1240,7 @@ cygwin_atexit (void (*fn) (void))
{
int res;
dll *d = dlls.find ((void *) _my_tls.retaddr ());
res = d ? __cxa_atexit ((void (*) (void *)) fn, NULL, d) : atexit (fn);
res = d ? __cxa_atexit ((void (*) (void *)) fn, NULL, d->handle) : atexit (fn);
return res;
}

View File

@ -1,7 +1,7 @@
/* dll_init.cc
Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
2009, 2010, 2011, 2012, 2013 Red Hat, Inc.
2009, 2010, 2011, 2012, 2013, 2014 Red Hat, Inc.
This software is a copyrighted work licensed under the terms of the
Cygwin license. Please consult the file "CYGWIN_LICENSE" for
@ -401,7 +401,7 @@ dll_list::detach (void *retaddr)
exception protect;
/* Call finalize function if we are not already exiting */
if (!exit_state)
__cxa_finalize (d);
__cxa_finalize (d->handle);
d->run_dtors ();
d->prev->next = d->next;
if (d->next)

View File

@ -449,7 +449,7 @@ details. */
273: Introduce account mapping from Windows account DBs. Add CW_SETENT,
CW_GETENT, CW_ENDENT, CW_GETNSSSEP, CW_GETPWSID, CW_GETGRSID,
CW_CYGNAME_FROM_WINNAME.
274: Export __cxa_atexit.
274: Export __cxa_atexit and __cxa_finalize.
*/
/* Note that we forgot to bump the api for ualarm, strtoll, strtoull */