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

             Bug #: 53271
           Summary: powerpc-eabispe build fails with ice on unwind-dw2.c
    Classification: Unclassified
           Product: gcc
           Version: 4.8.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
        AssignedTo: unassig...@gcc.gnu.org
        ReportedBy: hain...@gcc.gnu.org


Using an up to date trunk on a x86-linux host or alike,
assuming cross binutils for powerpc-eabispe available in
$prefix.

 $gccsrcdir/configure --target=powerpc-eabispe --enable-languages=c
--disable-libada --prefix=$prefix
 make CFLAGS="-O0 -g"

fails with

<< In file included from .../libgcc/unwind-dw2.c:1633:0:
.../libgcc/unwind.inc: In function ‘_Unwind_RaiseException’:
.../libgcc/unwind.inc:136:1: internal compiler error: in emit_frame_save, at
config/rs6000/rs6000.c:18979
>>

Visible using the reproducer below:

  void install (long offset, void * handler)
  {
    volatile int x [4096];
    __builtin_eh_return (offset, handler);
  }

./cc1 ice.c       
...
ice.c: In function "install":
ice.c:6:1: internal compiler error: in emit_frame_save, at
config/rs6000/rs6000.c:18979

Presumably a fallout of rev 186797 (from
http://gcc.gnu.org/ml/gcc-patches/2012-04/msg01014.html),
in particular:

    (emit_frame_save): Don't handle reg+reg addressing.

Olivier

Reply via email to