[patch] Fialure with -fstack-protector
Kaz Kojima
kkojima@rr.iij4u.or.jp
Thu Jul 28 00:27:00 GMT 2005
Hi,
I've noticed that some tests started to fail at
make check RUNTESTFLAGS=--target_board=unix/-fstack-protector
on i686-pc-linux-gnu. I've got same failures on
sh4-unknown-linux-gnu and powerpc-apple-darwin7.9.0 with
-fstack-protector. The first failure is
FAIL: gcc.c-torture/compile/20030224-1.c -O3 -fomit-frame-pointer -funroll-loops (test for excess errors)
with
gcc/gcc/testsuite/gcc.c-torture/compile/20030224-1.c: In function 'zzz':
gcc/gcc/testsuite/gcc.c-torture/compile/20030224-1.c:17: internal compiler error: in df_uses_record, at df.c:1062
and gdb says that the ICE occurs when df_uses_record processes
(set (scratch:SI) (const_int 0 [0x0])).
It seems that df_uses_record doesn't handle the case that
SCRATCH is the destination of SET. The patch below is to
handle this case. It's tested with bootstrap and the toplevel
"make -k check" without regressions on i686-pc-linux-gnu.
Regards,
kaz
--
2005-07-27 Kaz Kojima <kkojima@gcc.gnu.org>
* df.c (df_uses_record): Handle SCRATCH.
--- ORIG/gcc/gcc/df.c 2005-06-26 12:57:25.000000000 +0900
+++ LOCAL/gcc/gcc/df.c 2005-07-25 09:32:47.000000000 +0900
@@ -1034,6 +1034,7 @@ df_uses_record (struct df *df, rtx *loc,
/* Fall through. */
case REG:
case PARALLEL:
+ case SCRATCH:
case PC:
case CC0:
break;
More information about the Gcc-patches
mailing list