This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug rtl-optimization/36419] [4.1/4.3/4.4 Regression] Wrong unwind info with -Os -fasynchronous-unwind-tables
- From: "ebotcazou at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 5 Jun 2008 14:00:31 -0000
- Subject: [Bug rtl-optimization/36419] [4.1/4.3/4.4 Regression] Wrong unwind info with -Os -fasynchronous-unwind-tables
- References: <bug-36419-87@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #6 from ebotcazou at gcc dot gnu dot org 2008-06-05 14:00 -------
> Any ideas about this? Do you think it is ok to just apply 1) or should we
> e.g. try to remove unnecessary stack adjustments before _Unwind_Resume
> (though, _Unwind_Resume is a call, so we probably need to guarantee correct
> stack alignment at least).
Exception propagation is already slow (with DWARF-2 EH) so I don't think we
should bother about performance here; applying 1) as-is seems fine to me.
> For 2) and 3), we might just walk the whole function, noting the level of
> stack pushing for all labels, verify at CALLs that it matches their second
> operand and verify that all jumps to labels have the same level of stack
> pushing.
Why is 2) problematic on principle? I mean, prologue insns are translated
into CFI like non-prologue stack adjustment insns so why is it a problem
that one of the latters "become" one of the formers?
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36419