This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: sjlj-exceptions ICE. simplified test case
In article <u9d7ncg073.fsf@yorick.cygnus.com> you write:
>>>>>> Marc Espie <espie@quatramaran.ens.fr> writes:
>
> > Or are you volunteering to get OpenBSD platforms to handle non-sjlj
> > exceptions ?
>
>Why doesn't OpenBSD already support non-sjlj exceptions? The comment says
>
>/* All configurations that don't use elf must be explicit about not using
> dwarf unwind information. egcs doesn't try too hard to check internal
> configuration files... */
>
>but as Richard mentioned, non-elf configs should already work fine with
>table-driven EH.
I've just checked with gcc 2.95.2 on i386, it seems to work now.
I don't remember why it didn't work in the past, maybe I got better at
understanding this stuff.
One possible explanation is that the various UNALIGNED_* are not at all
documented... I think that, when I set to figuring out what each macro did,
I got a bunch of UNALIGNED_* not defined from dwarfout.c, figured that my
box did not support dwarf, and so that must be what was wrong.
Look at gcc's documentation, the `exception support' part... try to take
that from the point of view of someone who doesn't understand what's going
on perfectly (gcc being somewhat largish...) and try to figure out what you
need to do.
Similarly, the OpenBSD project ran into shared libraries + constructor
issues a while ago... turns out this is handled by collect2, but it needs
-shared to be activated correctly, which we thoroughly missed, since
collect2 code is... hard to follow, and very poorly documented as well.
Well. There's a high chance all will be well for 3.0. Of course, we still
have to check that all OpenBSD architectures will be happy with non-sjlj
exceptions.
Bad luck, as the OpenBSD project is near a formal release. So I definitely
can't tweak the gcc configuration this late in the release cycle, and it will
be a month before I can actually get enough feedback about this...