[patch PR libstdc++/51135]: Fix [4.7 Regression] SIGSEGV during exception cleanup on win32

Jonathan Wakely jwakely.gcc@gmail.com
Mon Dec 12 11:50:00 GMT 2011


On 12 December 2011 11:29, Kai Tietz <ktietz70@googlemail.com> wrote:
> 2011/12/12 Paolo Carlini <paolo.carlini@oracle.com>:
>> On 12/12/2011 12:11 PM, Kai Tietz wrote:
>>>
>>> Hi,
>>>
>>> so as no other review happend, I changed patch as you suggested.
>>
>> Well, sorry for not noticing earlier, but here, as in many other cases, I
>> think it would be much cleaner to have the pre-processor games in the mingw
>> config header, define a macro name there (normally undefined) and then use
>> it here.
>>
>> Paolo.
>
> Well, this was my initial attempt to solve it. The issue here is that
> libsupc++ doesn't use the the os-header-file and I am not sure if it
> is wise to introduce it here.  To add it to the cxxabi.h header, which
> claims to reflect ABI issue, looks sensible as alternative to me here.

I think Paolo means:

#ifdef _GLIBCXX_USE_THISCALL_ON_DTOR
typedef void (__thiscall *__cxxabi_dtor_type) (void *);
#else
typedef void (*__cxxabi_dtor_type) (void *);
#endif

instead of testing __MINGW32__ and __i386__

Also, my suggestion of __cxxabi_dtor_type would be more consistent it
was spelled __cxa not __cxxabi (sorry, it was just a quick suggestion,
not a request to actually use that name!)



More information about the Gcc-patches mailing list