[Q] CMM error (cross-powerpc-linux backend)

Gabor Greif ggreif at gmail.com
Wed Jan 4 16:48:33 CET 2012


Hi hackers,

I got my cross-ghc so far that it compiles its own libraries, now onto the rts!

All goes right, until I get:

"inplace/bin/ghc-stage1"   -H64m -O0 -fasm -Iincludes -Irts
-Irts/dist/build -DCOMPILING_RTS -package-name rts  -dcmm-lint      -i
-irts -irts/dist/build -irts/dist/build/autogen -Irts/dist/build
-Irts/dist/build/autogen        -optc-DCOMPILING_GHC    -optc-O2   -c
rts/Apply.cmm -o rts/dist/build/Apply.o
Cmm lint error:
  in proc stg_AP_STACK_entry
    in basic block c2g
      in assignment:
        _c21::I32 = I64[_c20::I32 + 4 + 8];
        Reg ty: I32
        Rhs ty: I64


For some reason I64 appears but that should be avoided in the
powerpc-linux backend :-(
My --host is x86_64-linux, so it may creep in from there.

So my question, which include I should look at? I am pretty newbie with CMM.

Cheers and thanks,

    Gabor


PS: include/ghcautoconf.h (almost) looks good:


/* The size of a `char', as computed by sizeof. */
#define SIZEOF_CHAR 1

/* The size of a `double', as computed by sizeof. */
#define SIZEOF_DOUBLE 8

/* The size of a `float', as computed by sizeof. */
#define SIZEOF_FLOAT 4

/* The size of a `int', as computed by sizeof. */
#define SIZEOF_INT 4

/* The size of a `long', as computed by sizeof. */
#define SIZEOF_LONG 4

/* The size of a `long long', as computed by sizeof. */
#define SIZEOF_LONG_LONG 8

/* The size of a `short', as computed by sizeof. */
#define SIZEOF_SHORT 2

/* The size of a `unsigned char', as computed by sizeof. */
#define SIZEOF_UNSIGNED_CHAR 1

/* The size of a `unsigned int', as computed by sizeof. */
#define SIZEOF_UNSIGNED_INT 4

/* The size of a `unsigned long', as computed by sizeof. */
#define SIZEOF_UNSIGNED_LONG 4

/* The size of a `unsigned long long', as computed by sizeof. */
#define SIZEOF_UNSIGNED_LONG_LONG 8

/* The size of a `unsigned short', as computed by sizeof. */
#define SIZEOF_UNSIGNED_SHORT 2

/* The size of a `void *', as computed by sizeof. */
#define SIZEOF_VOID_P 4



More information about the Cvs-ghc mailing list