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]

[PATCH] Fix ggc ICE


Hi!

ggc_mark_rtx_children does not mark NOTE_INSN_EXPECTED_VALUE's rtx argument,
I've seen it when compiling sparc 32bit glibc with 64bit gcc, where
NOTE_EXPECTED_VALUE argument contained random garbage.
IMHO NOTE_INSN_DELETED_LABEL needs similar treatment.
Ok to commit?

2000-05-18  Jakub Jelinek  <jakub@redhat.com>

	* gcc-common.c (ggc_mark_rtx_children): Mark NOTE_EXPECTED_VALUE
	from NOTE_INSN_EXPECTED_VALUE notes and NOTE_SOURCE_FILE from
	NOTE_INSN_DELETED_LABEL.

--- gcc/ggc-common.c.jj	Tue Apr 25 21:02:54 2000
+++ gcc/ggc-common.c	Thu May 18 18:55:58 2000
@@ -247,6 +247,7 @@ ggc_mark_rtx_children (r)
 	    case NOTE_INSN_RANGE_BEG:
 	    case NOTE_INSN_RANGE_END:
 	    case NOTE_INSN_LIVE:
+	    case NOTE_INSN_EXPECTED_VALUE:
 	      ggc_mark_rtx (NOTE_RANGE_INFO (r));
 	      break;
 
@@ -257,7 +258,10 @@ ggc_mark_rtx_children (r)
 
 	    default:
 	      if (NOTE_LINE_NUMBER (r) >= 0)
-		ggc_mark_string (NOTE_SOURCE_FILE (r));
+		{
+	    case NOTE_INSN_DELETED_LABEL:
+		  ggc_mark_string (NOTE_SOURCE_FILE (r));
+		}
 	      break;
 	    }
 	  break;

	Jakub

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