This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: Make bootstrap for gcc-2.95.2 fails at stage3 for VAX Ultrix 4.3
- To: dave at hiauly1 dot hia dot nrc dot ca (John David Anglin)
- Subject: Re: Make bootstrap for gcc-2.95.2 fails at stage3 for VAX Ultrix 4.3
- From: "John David Anglin" <dave at hiauly1 dot hia dot nrc dot ca>
- Date: Sun, 9 Apr 2000 15:31:08 -0400 (EDT)
- Cc: egcs-bugs at egcs dot cygnus dot com
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)