This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Transactional Memory: Support __cxa_free_exception and fix exception handling.
- From: Peter Bergner <bergner at vnet dot ibm dot com>
- To: Torvald Riegel <triegel at redhat dot com>, GCC Patches <gcc-patches at gcc dot gnu dot org>
- Cc: Jason Merrill <jason at redhat dot com>, Richard Henderson <rth at redhat dot com>
- Date: Thu, 19 Nov 2015 09:40:19 -0600
- Subject: Re: [PATCH] Transactional Memory: Support __cxa_free_exception and fix exception handling.
- Authentication-results: sourceware.org; auth=none
- References: <1447888923 dot 25500 dot 108 dot camel at localhost dot localdomain>
On Thu, 2015-11-19 at 09:35 -0600, Torvald Riegel wrote:
> The EH scheme that we had been using for TM / libitm doesn't work
> properly. We fail to handle throwing exceptions whose constructors may
> throw themselves. We also do not clean up properly in all situations
> when a transactions abort while being in the process of throwing an
> exception.
> This patch solves this particular problem by adding a transactional
> wrapper for __cxa_free_exception and changing the EH scheme in libitm.
>
> Follow-up patches will fix other issues that we have identified. Some
> of the changes to the libitm.texi ABI docs added in this patch already
> take this future work into account.
>
> Tested using the libitm testsuite on x86_64-linux.
I have fired off a test on powerpc64le-linux and will report back
on its status when it's done.
Peter