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