Bug 239003 - internal compiler error: in set_variable_part, at var-tracking.c:1981
Summary: internal compiler error: in set_variable_part, at var-tracking.c:1981
Status: CLOSED INSUFFICIENT_DATA
Alias: None
Product: Fedora
Classification: Fedora
Component: gcc
Version: rawhide
Hardware: All
OS: Linux
high
medium
Target Milestone: ---
Assignee: Jakub Jelinek
QA Contact:
URL:
Whiteboard: bzcl34nup
Keywords:
Depends On:
Blocks: 238890
TreeView+ depends on / blocked
 
Reported: 2007-05-04 13:08 UTC by Tim Waugh
Modified: 2008-05-07 01:39 UTC (History)
2 users (show)

(edit)
Clone Of:
(edit)
Last Closed: 2008-05-07 01:39:21 UTC


Attachments (Terms of Use)
bit-ops.c (pre-processed) (160.37 KB, text/x-csrc)
2007-05-04 13:08 UTC, Tim Waugh
no flags Details

Description Tim Waugh 2007-05-04 13:08:32 UTC
Description of problem:
While building gutenprint for Fedora 7 I get this:

http://koji.fedoraproject.org/koji/getfile?taskID=2240&name=build.log

gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../../include -I../../include -Wall
-Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations
-Wnested-externs -Wwrite-strings -Werror-implicit-function-declaration -Winline
-Wformat=2 -finline-limit=1048576 -Disfinite=finite -O2 -g -pipe -Wall
-Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4
-m64 -mminimal-toc -O6 -c bit-ops.c  -fPIC -DPIC -o .libs/bit-ops.o
bit-ops.c: In function 'stp_unpack_16':
bit-ops.c:1054: internal compiler error: in set_variable_part, at
var-tracking.c:1981
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://bugzilla.redhat.com/bugzilla> for instructions.
Preprocessed source stored into /tmp/ccOUSSRk.out file, please attach this to
your bugreport.
make[3]: *** [bit-ops.lo] Error 1

Version-Release number of selected component (if applicable):
Not entirely sure, but I suppose gcc-4.1.2-11 (that's what 'koji latest-pkg
f7-final gcc' says).

How reproducible:
100%

Comment 1 Tim Waugh 2007-05-04 13:08:32 UTC
Created attachment 154115 [details]
bit-ops.c (pre-processed)

Comment 2 Tim Waugh 2007-05-04 15:15:53 UTC
Also happens with this command line:

gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../../include -I../../include
-Disfinite=finite -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions
-fstack-protector --param=ssp-buffer-size=4 -m64 -mminimal-toc -c bit-ops.c 
-fPIC -DPIC -o .libs/bit-ops.o

i.e. without -O6.

Comment 3 Jakub Jelinek 2007-05-04 15:43:43 UTC
Reduced testcase (gcc -O2 -m64 -g on ppc*):
void
foo (int l, const unsigned char *i, unsigned char *o0, unsigned char *o1,
     unsigned char *o2, unsigned char *o3, unsigned char *o4,
     unsigned char *o5, unsigned char *o6, unsigned char *o7,
     unsigned char *o8, unsigned char *o9, unsigned char *o10,
     unsigned char *o11, unsigned char *o12, unsigned char *o13,
     unsigned char *o14, unsigned char *o15)
{
  unsigned char u;
  unsigned char t[16];

  __builtin_memset (t, 0, 16);
  for (; l > 0; l--)
    {
      u = *i++;
      if (u & 192)
        t[0] |= (u & 192);
      *o0++ = t[0];
      *o1++ = t[1];
      *o2++ = t[2];
      *o3++ = t[3];
      *o4++ = t[4];
      *o5++ = t[5];
      *o6++ = t[6];
      *o7++ = t[7];
      *o8++ = t[8];
      *o9++ = t[9];
      *o10++ = t[10];
      *o11++ = t[11];
      *o12++ = t[12];
      *o13++ = t[13];
      *o14++ = t[14];
      *o15++ = t[15];
    }
}

Reload changes:
239003.i.36.lreg-(insn:HI 56 53 47 2 239003.i:17 (set (reg:SI 151)
239003.i.36.lreg:        (ior:SI (reg:SI 148)
239003.i.36.lreg-            (subreg:SI (reg:QI 185 [ t ]) 0))) 104
{*boolsi3_internal1} (insn_list:REG_DEP_TRUE 53 (nil))
239003.i.36.lreg-    (expr_list:REG_DEAD (reg:SI 148)
239003.i.36.lreg-        (nil)))
into:
239003.i.37.greg-(insn:HI 56 53 47 2 239003.i:17 (set (reg:SI 0 0 [151])
239003.i.37.greg:        (ior:SI (reg:SI 0 0 [148])
239003.i.37.greg-            (reg:SI 6 6 [orig:185 t+-3 ] [185]))) 104
{*boolsi3_internal1} (insn_list:REG_DEP_TRUE 53 (nil))
239003.i.37.greg-    (nil))
as this is big endian (note, t is a char array and so t+-3 makes some sense,
as only the low 8 bits of the 32-bit register contain t (== t+0).
This is generated all the way through current trunk, but only 4.1-rh ICEs on
this in var_tracking, though so far I haven't seen anything that would look like
a fix for this in 4.2+.

Comment 4 Jeremy Hinegardner 2007-07-10 07:46:27 UTC
I have also just encountered this bug when building libtomcrypt for ppc64. 
Here's the build log:

http://koji.fedoraproject.org/koji/getfile?taskID=61676&name=build.log

Comment 5 Jeremy Hinegardner 2007-07-10 09:29:51 UTC
I was able to use Tim's build trick and get the output dumped to the log.  This
build log should be more useful.

http://koji.fedoraproject.org/koji/getfile?taskID=61751&name=build.log

Comment 6 Bug Zapper 2008-04-04 00:29:29 UTC
Based on the date this bug was created, it appears to have been reported
against rawhide during the development of a Fedora release that is no
longer maintained. In order to refocus our efforts as a project we are
flagging all of the open bugs for releases which are no longer
maintained. If this bug remains in NEEDINFO thirty (30) days from now,
we will automatically close it.

If you can reproduce this bug in a maintained Fedora version (7, 8, or
rawhide), please change this bug to the respective version and change
the status to ASSIGNED. (If you're unable to change the bug's version
or status, add a comment to the bug and someone will change it for you.)

Thanks for your help, and we apologize again that we haven't handled
these issues to this point.

The process we're following is outlined here:
http://fedoraproject.org/wiki/BugZappers/F9CleanUp

We will be following the process here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping to ensure this
doesn't happen again.

Comment 7 Bug Zapper 2008-05-07 01:39:19 UTC
This bug has been in NEEDINFO for more than 30 days since feedback was
first requested. As a result we are closing it.

If you can reproduce this bug in the future against a maintained Fedora
version please feel free to reopen it against that version.

The process we're following is outlined here:
http://fedoraproject.org/wiki/BugZappers/F9CleanUp


Note You need to log in before you can comment on or make changes to this bug.