This is the mail archive of the gcc-bugs@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]

Re: Make bootstrap for gcc-2.95.2 fails at stage3 for VAX Ultrix 4.3


In looking into the rtl generated at stage 2 and 3 in compiling cccp.c,
I realized that the problem looked similar to one seen with gcc-2.8.1.
For this, the following patch fixed the problem:

Wed Feb 18 07:14:47 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* reload.c (find_reloads): Always convert address reload for
	non-reloaded operand to RELOAD_FOR_OPERAND_ADDRESS.

--- reload.c.orig	Wed Jul 14 18:29:48 1999
+++ reload.c	Fri Apr  7 15:48:47 2000
@@ -4042,11 +4042,8 @@
 		  = RELOAD_FOR_OPADDR_ADDR;
 	    }
 
-	  if (reload_when_needed[i] == RELOAD_FOR_INPADDR_ADDRESS
-	      || reload_when_needed[i] == RELOAD_FOR_OUTADDR_ADDRESS)
-	    reload_when_needed[i] = RELOAD_FOR_OPADDR_ADDR;
-	  else
-	    reload_when_needed[i] = RELOAD_FOR_OPERAND_ADDRESS;
+
+	  reload_when_needed[i] = RELOAD_FOR_OPERAND_ADDRESS;
 	}
 
       if ((reload_when_needed[i] == RELOAD_FOR_INPUT_ADDRESS

It is not installed in the main or gcc-2.95 branch.  However, while the
build goes further into stage3 with this patch, there are still problems:

...
stage2/xgcc -Bstage2/ -B/usr/local/vax-dec-ultrix4.3/bin/ -c  -DIN_GCC     -g -O3 -W -Wall  -DHAVE_CONFIG_H    -I. -I../../gcc -I../../gcc/config -I../../gcc/../include ../../gcc/gengenrtl.c
stage2/xgcc -Bstage2/ -B/usr/local/vax-dec-ultrix4.3/bin/  -DIN_GCC     -g -O3 -W -Wall  -DHAVE_CONFIG_H  -o gengenrtl \
 gengenrtl.o ` case "obstack.o" in ?*) echo obstack.o ;; esac ` ` case "" in ?*) echo  ;; esac ` ` case "" in ?*) echo  ;; esac `  ` case "" in ?*) echo  ;; esac ` ` case "" in ?*) echo  ;; esac ` 
./gengenrtl tmp-genrtl.h tmp-genrtl.c
make[2]: *** [s-genrtl] Segmentation fault (core dumped)
make[2]: Leaving directory `/usr/local/src/gnu/gcc-2.95.2/objdir/gcc'
make[1]: *** [bootstrap] Error 2
make[1]: Leaving directory `/usr/local/src/gnu/gcc-2.95.2/objdir/gcc'
make: *** [bootstrap] Error 2

The segmentation fault occurs in find_formats.  Comparison of the code
generated at stage2 and 3, shows that they differ considerably.  Most of
the object files generated at stage2 differ from those at stage3.

Any thoughts from the experts?

-- 
J. David Anglin                                  dave.anglin@nrc.ca
National Research Council of Canada              (613) 990-0752 (FAX: 952-6605)

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