On Thu, Dec 22, 2011 at 8:47 PM, Aldy Hernandez <al...@redhat.com> wrote:
> The problem here is that with -fnon-call-exceptions, a memory dereference
> may trap, but when we instrument the store, we have lost the landing pad
> information.
>
> One solution would be to move the EH information to the TM load/store
> instrumentation builtins, but that doesn't get us around the fact that
> libitm is not exception safe, and we have no mechanism for taking and
> exception (and propagating it) in the middle of a transaction.
>
> Richard has suggested that another alternative could be to support the
> exception case for NULL, but non-null faulting memory references would still
> cause a crash.  In this case we would simply test for NULL at the start of
> the accessors and explicitly throw the exception.
>
> And yet a third alternative, is to disable the -fgnu-tm and
> -fnon-call-exceptions combination.  I have implemented this one, as I'd
> rather have it not work, than work half-way.
>
> Torvald, do you have any thoughts on the matter?
>
> Attached patch for disabling the feature, if you both agree on this
> approach.

I think this should be documented at the place -fgnu-tm is documented.

Richard.

Reply via email to