This is the mail archive of the libc-alpha@sources.redhat.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: glibc-2.2.92 stpcpy test failure and gcc patch


Aloha,

I have also run into the stpcpy testsuite failure in glibc-2.2.92.
My system is i586-pc-linux-gnu with gcc-3.2.1 (cvs) and binutils-2.13.90.0.4.
I'm testing the following patch to gcc to fix the problem:

ChangeLog
===================================================================
2002-09-02  Glen Nakamura  <glen@imodulo.com>

	* sched-deps.c (sched_analyze_insn): Make sure to add insn
	to reg_last->sets after flushing the dependency lists to guarantee
	that subsequent clobbers will be dependent on it.

Index: sched-deps.c
===================================================================
RCS file: /cvsroot/gcc/gcc/gcc/sched-deps.c,v
retrieving revision 1.34.6.1
diff -c -3 -p -u -r1.34.6.1 sched-deps.c
--- sched-deps.c	19 Aug 2002 18:59:31 -0000	1.34.6.1
+++ sched-deps.c	2 Sep 2002 06:35:15 -0000
@@ -1118,8 +1118,6 @@ sched_analyze_insn (deps, x, insn, loop_
 	  EXECUTE_IF_SET_IN_REG_SET (reg_pending_clobbers, 0, i,
 	    {
 	      struct deps_reg *reg_last = &deps->reg_last[i];
-	      add_dependence_list (insn, reg_last->sets, REG_DEP_OUTPUT);
-	      add_dependence_list (insn, reg_last->uses, REG_DEP_ANTI);
 	      if (reg_last->uses_length > MAX_PENDING_LIST_LENGTH
 		  || reg_last->clobbers_length > MAX_PENDING_LIST_LENGTH)
 		{
@@ -1129,6 +1127,7 @@ sched_analyze_insn (deps, x, insn, loop_
 						REG_DEP_ANTI);
 		  add_dependence_list_and_free (insn, &reg_last->clobbers,
 						REG_DEP_OUTPUT);
+		  reg_last->sets = alloc_INSN_LIST (insn, reg_last->sets);
 		  reg_last->clobbers_length = 0;
 		  reg_last->uses_length = 0;
 		}

I've also filed a bug report for gcc (PR/7814):
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=7814

- glen


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