This is the mail archive of the mailing list for the GCC 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]

[PATCH] _cxa_thread_atexit fixes for Cygwin/MinGW-w64

The attached patch implements premature DLL unloading prevention in __cxa_thread_atexit for Cygwin and MinGW-w64 targets. The target is welcome to do the same in their os_defines.h, but this code does require Windows XP/2003, and they have historically catered to older platforms.

MinGW cannot practically implement __cxa_thread_atexit_impl because it has no control over the contents of its libc (msvcrt), and implementing this in the (static) mingw32 support library would be of little benefit because it would still end up statically linked into libstdc++. Also, the GPL-with-exceptions libstdc++ implementation cannot be copied as a basis of our own __cxa_thread_atexit_impl due to licensing conflicts with both Cygwin (copyright assignment) and MinGW (public domain).

The testsuite shows no regressions with this patch.

Yaakov Selkowitz
Associate Software Engineer, ARM
Red Hat, Inc.

Attachment: 0006-libsupc-atexit_thread-cygming.patch
Description: Text document

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