public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
From: "hp at gcc dot gnu dot org" <gcc-bugzilla@gcc.gnu.org> To: gcc-bugs@gcc.gnu.org Subject: [Bug middle-end/32761] New: build broke: var_tracking loses track of fp-elimination, crashes in find_src_set_src on parallel set Date: Sat, 14 Jul 2007 02:05:00 -0000 [thread overview] Message-ID: <bug-32761-507@http.gcc.gnu.org/bugzilla/> (raw) Build for cris-axis-elf broke with a change in the range 126627:126630, of which the var_tracking patch is the only suspect, broke build for cris-axis-elf: /tmp/hpautotest-gcc1/cris-elf/gccobj/./gcc/xgcc -B/tmp/hpautotest-gcc1/cris-elf/gccobj/./gcc/ -nostdinc -B/tmp/hpautotest-gcc1/cr\ is-elf/gccobj/cris-elf/v10/newlib/ -isystem /tmp/hpautotest-gcc1/cris-elf/gccobj/cris-elf/v10/newlib/targ-include -isystem /tmp/h\ pautotest-gcc1/gcc/newlib/libc/include -B/tmp/hpautotest-gcc1/cris-elf/pre/cris-elf/bin/ -B/tmp/hpautotest-gcc1/cris-elf/pre/cris\ -elf/lib/ -isystem /tmp/hpautotest-gcc1/cris-elf/pre/cris-elf/include -isystem /tmp/hpautotest-gcc1/cris-elf/pre/cris-elf/sys-inc\ lude -march=v10 -mbest-lib-options -DPACKAGE_NAME=\"newlib\" -DPACKAGE_TARNAME=\"newlib\" -DPACKAGE_VERSION=\"1.15.0\" -DPACKAGE\ _STRING=\"newlib\ 1.15.0\" -DPACKAGE_BUGREPORT=\"\" -I. -I/tmp/hpautotest-gcc1/gcc/newlib/libc/stdlib -O2 -DHAVE_RENAME -D_USE_W\ RITE -DCOMPACT_CTYPE -fno-builtin -O2 -g -O2 -march=v10 -mbest-lib-options -c -o lib_a-mprec.o `test -f 'mprec.c' || echo \ '/tmp/hpautotest-gcc1/gcc/newlib/libc/stdlib/'`mprec.c /tmp/hpautotest-gcc1/gcc/newlib/libc/stdlib/mprec.c: In function '__d2b': /tmp/hpautotest-gcc1/gcc/newlib/libc/stdlib/mprec.c:905: internal compiler error: Segmentation fault I had a look with gdb to see if I could spot anything trivial (needed to recompile var-tracking with CFLAGS=-g to get a debuggable cc1): Program received signal SIGSEGV, Segmentation fault. 0x00000000007fd943 in find_src_set_src (set=0xbecaf8, loc=0x2ab48c49cca0, insn=0x2ab48c493d20) at /tmp/hpautotest-gcc1/gcc/gcc/var-tracking.c:1865 1865 if (REG_P (src)) (gdb) p insn $1 = (rtx) 0x2ab48c493d20 (gdb) pr (insn 200 22 25 2 /tmp/hpautotest-gcc1/gcc/newlib/libc/stdlib/mprec.c:787 (parallel [ (set (mem/c/i:SI (plus:SI (reg/f:SI 14 sp) (const_int 28 [0x1c])) [7 z+0 S4 A16]) (reg:SI 13 r13 [orig:34 z.37 ] [34])) (set (reg/f:SI 3 r3 [93]) (plus:SI (reg/f:SI 14 sp) (const_int 28 [0x1c]))) ]) 25 {*mov_sidesisf_mem} (nil)) (gdb) p loc $2 = (rtx) 0x2ab48c49cca0 (gdb) pr (mem/c/i:SI (plus:SI (reg/f:SI 18 faked_ap) (const_int -12 [0xfffffffffffffff4])) [7 z+0 S4 A16]) It looks as if find_src_set_src encounters a sp-relative set but expects the original non-eliminated fp-relative set. For plain single_set sets it uses that, and apparently copes with a sp-relative setting, but for a parallel set, it looks it can't match the set and so src remains NULL, hence the REG_P causes a SEGV. I'm not sure if the method of finding the loc in the set is at fault, or if the bug is earlier and both the loc and the SET_DEST should be equally eliminated at the time of the call. I'm attaching the preprocessed mprec.i, repeat with "cc1 -O2 -g < mprec.i" for a --target=cris-axis-elf. -- Summary: build broke: var_tracking loses track of fp-elimination, crashes in find_src_set_src on parallel set Product: gcc Version: 4.3.0 Status: UNCONFIRMED Keywords: build Severity: normal Priority: P3 Component: middle-end AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: hp at gcc dot gnu dot org GCC host triplet: x86_64-unknown-linux-gnu GCC target triplet: cris-axis-elf http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32761
next reply other threads:[~2007-07-14 2:05 UTC|newest] Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top 2007-07-14 2:05 hp at gcc dot gnu dot org [this message] 2007-07-14 2:07 ` [Bug middle-end/32761] " hp at gcc dot gnu dot org 2007-07-14 2:16 ` hp at gcc dot gnu dot org 2007-07-14 5:15 ` [Bug middle-end/32761] [4,3 Regression] build broke: var_tracking loses track of register elimination, " pinskia at gcc dot gnu dot org 2007-07-15 0:52 ` danglin at gcc dot gnu dot org 2007-07-19 13:31 ` [Bug middle-end/32761] [4.3 " rask at sygehus dot dk 2007-07-24 0:59 ` hp at gcc dot gnu dot org
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=bug-32761-507@http.gcc.gnu.org/bugzilla/ \ --to=gcc-bugzilla@gcc.gnu.org \ --cc=gcc-bugs@gcc.gnu.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).