This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [RFC] Fix unwind info for sparc -mflat
- From: Eric Botcazou <ebotcazou at adacore dot com>
- To: Richard Henderson <rth at twiddle dot net>
- Cc: laurent dot rouge at menta dot fr, GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Tue, 21 Jun 2011 09:27:59 +0200
- Subject: Re: [RFC] Fix unwind info for sparc -mflat
- References: <4DFFE6DE.9050207@twiddle.net>
> I tried to figure out why things had been done in this
> slightly convoluted manner and failed. It seems to me that
> this is easily represented with the individual instructions.
I wanted to avoid the back-and-forth game on the CFA offset and emit the same
CFIs as in the normal case. Your solution is probably better in the end, but
please add a comment in sparc_flat_expand_prologue explaining why we play this
game to establish the frame.
> A comment indicated that there had been problems with the
> copy to %o7 being deleted. Elsewhere we have successfully
> used a naked USE pattern to keep such things from being
> deleted.
Fine, thanks for cleaning up the whole thing.
> Unfortunately, I can't seem to get -mflat to bootstrap on
> gcc62 (as sparc-linux, not sparc64) either before or after
> this patch, so I'm not sure what sort of pre-requisite I'm
> missing in order to be able to test it...
Just run the C testsuite, bi-arch preferably, with -mflat; it should be clean.
It contains some unwinding tests. You can also run the C++ testsuite, but
there are about 20 (known) failures without -mflat multilibs.
I didn't try a bootstrap, but it probably doesn't work because the models are
fully intermixable only if you insert flushw instructions at the boundaries.
--
Eric Botcazou