yet another ppc constant_p fix [Re: glibc fclose prob?]
Franz Sirl
Franz.Sirl-kernel@lauterbach.com
Tue Jan 26 04:38:00 GMT 1999
At 07:22 26.01.99 , Richard Henderson wrote:
>On Mon, Jan 25, 1999 at 05:11:58PM +0100, Franz Sirl wrote:
>> ../../../egcsm/gcc/varasm.c:3265: Internal compiler error in function
>> decode_rtx_const
>
>Bother. I'd only tested the 21 Jan patch without -fpic. :-P
OK, this does the trick, thanks. But I still can't bootstrap:
stage1/xgcc -Bstage1/ -B/usr/ppc-redhat-linux/bin/ -c -DIN_GCC -DHAIFA
-W -Wall -O2 -g -O2 -DHAVE_CO
NFIG_H -I. -I../../../egcsm/gcc -I../../../egcsm/gcc/config
-I../../../egcsm/gcc/../include ../../../e
gcsm/gcc/genrecog.c
stage1/xgcc -Bstage1/ -B/usr/ppc-redhat-linux/bin/ -DIN_GCC -DHAIFA -W
-Wall -O2 -g -O2 -DHAVE_CONFIG_H -o genrecog \
genrecog.o rtl.o bitmap.o print-rtl.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 `
./genrecog ../../../egcsm/gcc/config/rs6000/rs6000.md > tmp-recog.c
make[2]: *** [s-recog] Error 139
make[2]: Leaving directory `/home/fsirl/obj/cvsm/gcc'
make[1]: *** [bootstrap-lean] Error 2
make[1]: Leaving directory `/home/fsirl/obj/cvsm/gcc'
make: *** [bootstrap-lean] Error 2
Further investigation with gdb shows that add_to_sequence is called with an
invalid pattern. I didn't investigate yet if this is a miscompilation of
genrecog or a bug in genrecog itself.
Richard, David, the kernel machine is stable again and I hope I've restored
your accounts properly. All this stuff is in ~fsirl/egcsm (source) and
~fsirl/obj/cvsm (buildtree), and I had the statically compiled gas-981227
in my path (~fsirl/gnubin/bin). You should have full access to my homedir.
Franz.
(gdb)
Continuing.
Breakpoint 4, add_to_sequence (pattern=0x1854bc8, last=0x7ffffb18,
position=0x18085a8 "")
at ../../../egcsm/gcc/genrecog.c:331
331 = (struct decision *) xmalloc (sizeof (struct decision));
(gdb)
Continuing.
Breakpoint 4, add_to_sequence (pattern=0x45545f50, last=0x1856478,
position=0x7ffffa20 "a")
at ../../../egcsm/gcc/genrecog.c:331
331 = (struct decision *) xmalloc (sizeof (struct decision));
(gdb) bt
#0 add_to_sequence (pattern=0x45545f50, last=0x1856478,
position=0x7ffffa20 "a")
at ../../../egcsm/gcc/genrecog.c:331
#1 0x180162c in add_to_sequence (pattern=0x1854bc8, last=0x0, position=0x0)
at ../../../egcsm/gcc/genrecog.c:598
#2 0x1800c8c in make_insn_sequence (insn=0x1854bc8, type=SPLIT) at
../../../egcsm/gcc/genrecog.c:255
#3 0x1803b34 in main (argc=25512536, argv=0x7ffffc14) at
../../../egcsm/gcc/genrecog.c:1785
#4 0x16e07d4 in __libc_start_main () at
../sysdeps/powerpc/elf/libc-start.c:106
(gdb) c
Continuing.
Program received signal SIGSEGV, Segmentation fault.
add_to_sequence (pattern=0x45545f50, last=0x1856478, position=0x7ffffa20 "a")
at ../../../egcsm/gcc/genrecog.c:380
380 new->code = code = GET_CODE (pattern);
(gdb)
More information about the Gcc-patches
mailing list