This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFC] Fix unwind info for sparc -mflat


> 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]