public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Iain Buclaw <ibuclaw@gdcproject.org>
To: Jakub Jelinek <jakub@redhat.com>
Cc: Ramana Radhakrishnan <ramana.radhakrishnan@foss.arm.com>,
		Kyrylo Tkachov <kyrylo.tkachov@arm.com>,
	Richard Earnshaw <richard.earnshaw@arm.com>,
		Jonathan Wakely <jwakely@redhat.com>,
	Eric Botcazou <ebotcazou@libertysurf.fr>,
		Ian Lance Taylor <iant@google.com>,
	gcc-patches <gcc-patches@gcc.gnu.org>
Subject: Re: [PATCH] Fix ARM exception handling (PR target/89093)
Date: Mon, 22 Apr 2019 10:33:00 -0000	[thread overview]
Message-ID: <CABOHX+fJSbacbYqyoAgnr7iYCtXmFg8yRx+VMfihYV-aC1DN3Q@mail.gmail.com> (raw)
In-Reply-To: <20190422091450.GM21066@tucnak>

On Mon, 22 Apr 2019 at 11:15, Jakub Jelinek <jakub@redhat.com> wrote:
>
> Not sure about libphobos D stuff, does it need to go through upstream and
> is libdruntime/gcc/deh.d compiled by compilers other than GDC?
>

It is not part of upstream, I could make that clearer in
libphobos/README.gcc if there's uncertainty.

> --- libphobos/libdruntime/gcc/deh.d     (revision 270444)
> +++ libphobos/libdruntime/gcc/deh.d     (working copy)
> @@ -28,6 +28,7 @@ import gcc.unwind;
>  import gcc.unwind.pe;
>  import gcc.builtins;
>  import gcc.config;
> +import gcc.attribute;
>
>  extern(C)
>  {
> @@ -519,10 +520,19 @@ extern(C) void _d_throw(Throwable object)
>      terminate("unwind error", __LINE__);
>  }
>
> +static if (GNU_ARM_EABI_Unwinder)
> +{
> +    enum personality_fn_attributes = attribute("target", ("general-regs-only"));
> +}
> +else
> +{
> +    enum personality_fn_attributes = "";
> +}
>
>  /**
>   * Read and extract information from the LSDA (.gcc_except_table section).
>   */
> +@personality_fn_attributes
>  _Unwind_Reason_Code scanLSDA(const(ubyte)* lsda, _Unwind_Exception_Class exceptionClass,
>                               _Unwind_Action actions, _Unwind_Exception* unwindHeader,
>                               _Unwind_Context* context, _Unwind_Word cfa,
> @@ -772,6 +782,7 @@ int actionTableLookup(_Unwind_Action actions, _Unw
>   * Called when the personality function has found neither a cleanup or handler.
>   * To support ARM EABI personality routines, that must also unwind the stack.
>   */
> +@personality_fn_attributes
>  _Unwind_Reason_Code CONTINUE_UNWINDING(_Unwind_Exception* unwindHeader, _Unwind_Context* context)
>  {
>      static if (GNU_ARM_EABI_Unwinder)
> @@ -814,6 +825,7 @@ else
>  static if (GNU_ARM_EABI_Unwinder)
>  {
>      pragma(mangle, PERSONALITY_FUNCTION)
> +    @personality_fn_attributes
>      extern(C) _Unwind_Reason_Code gdc_personality(_Unwind_State state,
>                                                    _Unwind_Exception* unwindHeader,
>                                                    _Unwind_Context* context)
> @@ -873,6 +885,7 @@ else
>      }
>  }
>
> +@personality_fn_attributes
>  private _Unwind_Reason_Code __gdc_personality(_Unwind_Action actions,
>                                                _Unwind_Exception_Class exceptionClass,
>                                                _Unwind_Exception* unwindHeader,

No problem with this part from myself.

-- 
Iain

  reply	other threads:[~2019-04-22 10:32 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-22 10:32 Jakub Jelinek
2019-04-22 10:33 ` Iain Buclaw [this message]
2019-04-23  8:25 ` Ramana Radhakrishnan
2019-04-23 10:24   ` Jakub Jelinek
2019-04-23  9:55 ` Jonathan Wakely
2019-04-24  7:33 ` Eric Botcazou
2019-04-24 12:49 ` Ian Lance Taylor

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CABOHX+fJSbacbYqyoAgnr7iYCtXmFg8yRx+VMfihYV-aC1DN3Q@mail.gmail.com \
    --to=ibuclaw@gdcproject.org \
    --cc=ebotcazou@libertysurf.fr \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=iant@google.com \
    --cc=jakub@redhat.com \
    --cc=jwakely@redhat.com \
    --cc=kyrylo.tkachov@arm.com \
    --cc=ramana.radhakrishnan@foss.arm.com \
    --cc=richard.earnshaw@arm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).