This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH][Ada] arm-linux sjlj port
- From: Mikael Pettersson <mikpe at it dot uu dot se>
- To: laurent at guerby dot net
- Cc: Richard Earnshaw <rearnsha at arm dot com>, aph at redhat dot com, Julian Brown <julian at codesourcery dot com>, Arnaud Charlet <charlet at adacore dot com>, gcc-patches at gcc dot gnu dot org, Matthias Klose <doko at debian dot org>, Martin Guy <martinwguy at gmail dot com>, Joel Sherrill <joel dot sherrill at oarcorp dot com>, Ludovic Brenta <ludovic at ludovic-brenta dot org>, Geert Bosch <bosch at adacore dot com>, Olivier Hainque <hainque at adacore dot com>, Mikael Pettersson <mikpe at it dot uu dot se>, Eric Botcazou <ebotcazou at adacore dot com>
- Date: Mon, 7 Sep 2009 13:31:16 +0200
- Subject: Re: [PATCH][Ada] arm-linux sjlj port
- References: <4A82D295.4030907@oarcorp.com> <56d259a00908121407h19820522y850231afa937ed3a@mail.gmail.com> <4A832F30.3000708@debian.org> <19081.10792.105185.512212@pilspetsen.it.uu.se> <1250976793.17842.404.camel@localhost> <1251517614.5049.91.camel@localhost> <19097.768.413069.836610@pilspetsen.it.uu.se> <19099.37987.927752.847987@pilspetsen.it.uu.se> <1252319138.5049.1764.camel@localhost> <1252319604.17746.2.camel@e200601-lin.cambridge.arm.com> <1252320407.5049.1775.camel@localhost>
Laurent GUERBY writes:
> > Although this patch is completely in the Ada backend, and thus has very
> > little to do with the ARM port maintenance, I'm concerned that we are
> > trying to create an SJLJ port of GCC for ARM linux. Why is that needed?
> > Why aren't we using the unwind tables?
> >
> > Having an SJLJ port (in addition to being very poor performance) seems
> > the wrong way to go to me, as it will just cause confusion for our
> > users.
>
> A non-SJLJ (ZCX in Ada terminology) port would need someone writting the
> personality routine for Ada, that is to say add some stuff in
> gcc/ada/raise-gcc.c for arm EABI. I might get enough time in the future
> to try to do so but I've zero experience in this area (both on the Ada
> side and on the EH side) so even if the patch will likely end up
> trivial it will take me a long while to figure it out.
I had a look last week at gcc's EH handling. For c++, java, and obj-c
the ARM EABI support looks pretty much the same, and while not small
(much #ifdef code) does look simple enough. The Ada EH code looks
entirely different and frankly I have absolutely no clue where or how
to modify it for ARM EABI.
So right now we have a choice of (a) no Ada for ARM EABI, or (b)
an SJLJ Ada for ARM EABI. With (b) we at least have a working and
testable system until someone can work out the ZCX EH details.
/Mikael