public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug middle-end/32761]  New: build broke: var_tracking loses track of fp-elimination, crashes in find_src_set_src on parallel set
@ 2007-07-14  2:05 hp at gcc dot gnu dot org
  2007-07-14  2:07 ` [Bug middle-end/32761] " hp at gcc dot gnu dot org
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: hp at gcc dot gnu dot org @ 2007-07-14  2:05 UTC (permalink / raw)
  To: gcc-bugs

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


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug middle-end/32761] build broke: var_tracking loses track of fp-elimination, crashes in find_src_set_src on parallel set
  2007-07-14  2:05 [Bug middle-end/32761] New: build broke: var_tracking loses track of fp-elimination, crashes in find_src_set_src on parallel set hp at gcc dot gnu dot org
@ 2007-07-14  2:07 ` hp at gcc dot gnu dot org
  2007-07-14  2:16 ` hp at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: hp at gcc dot gnu dot org @ 2007-07-14  2:07 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from hp at gcc dot gnu dot org  2007-07-14 02:07 -------
Created an attachment (id=13912)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13912&action=view)
Preprocessed code

cc1 -O2 -g mprec.i


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32761


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug middle-end/32761] build broke: var_tracking loses track of fp-elimination, crashes in find_src_set_src on parallel set
  2007-07-14  2:05 [Bug middle-end/32761] New: build broke: var_tracking loses track of fp-elimination, crashes in find_src_set_src on parallel set hp at gcc dot gnu dot org
  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
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: hp at gcc dot gnu dot org @ 2007-07-14  2:16 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from hp at gcc dot gnu dot org  2007-07-14 02:15 -------
Sorry, s/fp-relative/ap-relative/


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32761


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug middle-end/32761] [4,3 Regression] build broke: var_tracking loses track of register elimination, crashes in find_src_set_src on parallel set
  2007-07-14  2:05 [Bug middle-end/32761] New: build broke: var_tracking loses track of fp-elimination, crashes in find_src_set_src on parallel set hp at gcc dot gnu dot org
  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 ` pinskia at gcc dot gnu dot org
  2007-07-15  0:52 ` danglin at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2007-07-14  5:15 UTC (permalink / raw)
  To: gcc-bugs



-- 

pinskia at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |pinskia at gcc dot gnu dot
                   |                            |org
           Keywords|                            |ice-on-valid-code
            Summary|build broke: var_tracking   |[4,3 Regression] build
                   |loses track of register     |broke: var_tracking loses
                   |elimination, crashes in     |track of register
                   |find_src_set_src on parallel|elimination, crashes in
                   |set                         |find_src_set_src on parallel
                   |                            |set
   Target Milestone|---                         |4.3.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32761


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug middle-end/32761] [4,3 Regression] build broke: var_tracking loses track of register elimination, crashes in find_src_set_src on parallel set
  2007-07-14  2:05 [Bug middle-end/32761] New: build broke: var_tracking loses track of fp-elimination, crashes in find_src_set_src on parallel set hp at gcc dot gnu dot org
                   ` (2 preceding siblings ...)
  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
  5 siblings, 0 replies; 7+ messages in thread
From: danglin at gcc dot gnu dot org @ 2007-07-15  0:52 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from danglin at gcc dot gnu dot org  2007-07-15 00:52 -------
Seeing something similar on hppa-unknown-linux-gnu.


-- 

danglin at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |danglin at gcc dot gnu dot
                   |                            |org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32761


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug middle-end/32761] [4.3 Regression] build broke: var_tracking loses track of register elimination, crashes in find_src_set_src on parallel set
  2007-07-14  2:05 [Bug middle-end/32761] New: build broke: var_tracking loses track of fp-elimination, crashes in find_src_set_src on parallel set hp at gcc dot gnu dot org
                   ` (3 preceding siblings ...)
  2007-07-15  0:52 ` danglin at gcc dot gnu dot org
@ 2007-07-19 13:31 ` rask at sygehus dot dk
  2007-07-24  0:59 ` hp at gcc dot gnu dot org
  5 siblings, 0 replies; 7+ messages in thread
From: rask at sygehus dot dk @ 2007-07-19 13:31 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from rask at sygehus dot dk  2007-07-19 13:31 -------
Created an attachment (id=13939)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13939&action=view)
Test case for frv-unknown-elf with -O2 -g -mcpu=fr400

It breaks on frv-unknown-elf as well:

Program received signal SIGSEGV, Segmentation fault.
find_src_set_src (set=0xdf05a0, loc=0x2b2c3b921760, insn=<value optimized out>)
at /n/12/rask/src/all/gcc/var-tracking.c:1865
1865      if (REG_P (src))
(gdb) call debug_rtx(src)
(nil)


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32761


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Bug middle-end/32761] [4.3 Regression] build broke: var_tracking loses track of register elimination, crashes in find_src_set_src on parallel set
  2007-07-14  2:05 [Bug middle-end/32761] New: build broke: var_tracking loses track of fp-elimination, crashes in find_src_set_src on parallel set hp at gcc dot gnu dot org
                   ` (4 preceding siblings ...)
  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
  5 siblings, 0 replies; 7+ messages in thread
From: hp at gcc dot gnu dot org @ 2007-07-24  0:59 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from hp at gcc dot gnu dot org  2007-07-24 00:58 -------
Caroline Tice, by the lack of comments I kind of doubt you're reading this, but
for the record, there should have been a PR middle-end/32761 marker in the
ChangeLog entry and one for PR32764; there are several examples of the format.
I'm closing this PR as it was fixed by revision 126731.


-- 

hp at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|                            |FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32761


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2007-07-24  0:59 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-07-14  2:05 [Bug middle-end/32761] New: build broke: var_tracking loses track of fp-elimination, crashes in find_src_set_src on parallel set hp at gcc dot gnu dot org
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

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).