--- Comment #20 from jason at gcc dot gnu dot org 2006-09-12 18:02 ---
Subject: Bug 28493
Author: jason
Date: Tue Sep 12 18:02:36 2006
New Revision: 116900
URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=116900
Log:
PR middle-end/28493
* builtins.c
--- Comment #19 from jason at gcc dot gnu dot org 2006-09-09 07:16 ---
Yep, after merging the 101673 change back in, the compiler works up until
101467, at which point Jakub's ppc sfp change seems to break the testcase (at
-O1).
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28493
--- Comment #15 from jason at gcc dot gnu dot org 2006-09-08 07:14 ---
The bug is in expand_builtin_setjmp_receiver:
/* Now put in the code to restore the frame pointer, and argument
pointer, if needed. */
[...]
emit_move_insn (virtual_stack_vars_rtx, hard_frame_pointer_rtx);
--- Comment #16 from jason at gcc dot gnu dot org 2006-09-08 07:37 ---
The line in question dates back to when __builtin_setjmp was first added in
1996.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28493
--- Comment #17 from jason at gcc dot gnu dot org 2006-09-08 22:37 ---
Hmm, it seems things are a bit more complicated than I thought. Without my
change to expand_builtin_setjmp_receiver, Janis's test passes at -O0 and fails
at -O1; the adjustment of r31 at -O0 is actually correct.
--- Comment #18 from jason at gcc dot gnu dot org 2006-09-08 22:52 ---
Janis: the most part of the -fstack-protector patch that seems plausible for
causing this problem was the change to expand_function_end to call
sjlj_emit_function_exit_after at a different point. But that section of
--
jason at gcc dot gnu dot org changed:
What|Removed |Added
AssignedTo|unassigned at gcc dot gnu |jason at gcc dot gnu dot org
|dot org
--
mmitchel at gcc dot gnu dot org changed:
What|Removed |Added
Priority|P3 |P1
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28493
--- Comment #14 from atgraham at gmail dot com 2006-08-14 18:16 ---
The following patch to the 4.1.1 release code appears to fix the problem.
Though I have not been able to convince myself that this is the CORRECT
solution to the problem (and am doubtful that it is), testing this fix
--- Comment #13 from atgraham at gmail dot com 2006-08-11 02:42 ---
The problem goes away (at least in this case) at optimization levels -O[s123]
(but remains at -O0) when compiling with -fstack-protector. Of course, that's
not really an acceptable workaround for most people affected
--
pinskia at gcc dot gnu dot org changed:
What|Removed |Added
CC||pinskia at gcc dot gnu dot
|
--- Comment #12 from atgraham at gmail dot com 2006-08-09 01:30 ---
(In reply to comment #11)
[...]
it may be a problem with WRS running initializers or
initializing the frame tables.
Both of the gcc builds I'm testing with are cross compilers (host
i686-pc-linux-gnu):
$
12 matches
Mail list logo