[oe] gcc ICE (gcc 4.1.2, nios2), test program included

Frans Meulenbroeks fransmeulenbroeks at gmail.com
Thu Mar 3 18:48:30 UTC 2011


Dear all,

I've bumped onto an issue that I seem unable to resolv.
With gcc 4.1.2, target nios2, I get an ICE when compiling dbus:

I've reduced the failing program to a 16 line test program (using
repeated calls to delta and some hand reduction):

typedef struct DBusCredentials DBusCredentials;
typedef struct { } DBusAuthStateData;
typedef struct
{
  const DBusAuthStateData *state;
  DBusCredentials *authorized_identity;
} DBusAuth;
static const DBusAuthStateData common_state_authenticated = { };
_dbus_auth_set_credentials (DBusAuth *auth)
{
    if (auth->state == &common_state_authenticated)
    {
      return auth->authorized_identity;
    }
    return auth->authorized_identity;
}

This gives (when compiled):

frans at frans-desktop:/tmp$
/home/frans/workspace/tmp/sysroots/x86_64-linux/usr/nios2/bin/nios2-linux-gcc
-fPIC -O2 -o tst.o tst.c
tst.c: In function '_dbus_auth_set_credentials':
tst.c:13: warning: return makes integer from pointer without a cast
tst.c:15: warning: return makes integer from pointer without a cast
tst.c:16: error: Attempt to delete prologue/epilogue insn:
(insn 55 54 56 0 (set:SI (reg:SI 22 r22)
        (mem/c:SI (plus:SI (reg/f:SI 27 sp)
                (const_int 0 [0x0])) [6 S4 A32])) -1 (nil)
    (nil))
tst.c:16: internal compiler error: in propagate_one_insn, at flow.c:1699
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.


Anyone an idea on how to tackle this.

BTW: this applies with the nios code for gcc in OE, I have also tried
it with the latest altera version and I get the same problem.

Best regards, Frans.




More information about the Openembedded-devel mailing list