This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/14113] [3.3 regression] -O2 corrupts stack
- 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: 11 Feb 2004 21:55:15 -0000
- Subject: [Bug target/14113] [3.3 regression] -O2 corrupts stack
- References: <20040211171342.14113.gcc@cohi.at>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From ebotcazou at gcc dot gnu dot org 2004-02-11 21:55 -------
The culprits are the last 2 remaining define_peepholes of the SPARC port, that I
have already scrapped for GCC 3.4. They change the value of the PC return
register without updating the CFIs, so the unwind mechanism is fooled.
The workaround is to disable them with -fno-peephole. They are already disabled
by default on UltraSPARC because they hurt performance on modern CPUs.
I'll try to get the fix integrated in 3.3.3 but I don't promise anything.
--
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|unassigned at gcc dot gnu |ebotcazou at gcc dot gnu dot
|dot org |org
Status|NEW |ASSIGNED
Component|optimization |target
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14113