Hi, compiling the ghc-3.00 source for irix 6.2 fails with the following error: in ghc/runtime: ../../ghc/driver/ghc -I../includes -optc-DGCap -O -optc-DIN_GHC_RTS=1 -I../runtime/storage -optc-DIN_GHC_RTS=1 -c main/StgStartup.hc -o main/StgStartup.o -osuf o main/StgStartup.hc:232: warning: assignment makes integer from pointer without a cast Prologue junk?: .ent ArrayOfData_entry ArrayOfData_entry: #.file 1 "main/StgStartup.hc" .frame $sp,2168,$31 .mask 0x90000000,-4 .fmask 0x00000000,0 .mask 0x80000000,-16 sd $31,0($sp) I assume this is based on the new gcc version i have installed here. gcc-2.8.0 does not support the old irix binary format (o32) but produces the new 32 Bit (n32) and the 64Bit (64) output (and the assembler format has changed) I have started to rebuild most of the libs on my machine in 64 Bit and of course would like to build a 64 Bit version of ghc. I have appended the output of gcc -mabi=64 -S test-arch.c (from ghc/misc) and would be pleased if someone could have a look at the irix port (the gcc call in the ghc driver would have to be changed to 'gcc -mabi=64' to produce 64 bit output). If it helps i could setup an account here (if have been reading you have no irix 6. box around). regards, Fuad #.file 1 "test-arch.c" .option pic2 .section .text .text .align 2 .globl foo .ent foo foo: .frame $fp,112,$31 # vars= 64, regs= 3/0, args= 0, extra= 16 .mask 0xd0000000,-16 .fmask 0x00000000,0 dsubu $sp,$sp,112 sd $31,96($sp) sd $fp,88($sp) sd $28,80($sp) move $fp,$sp .set noat lui $1,%hi(%neg(%gp_rel(foo))) addiu $1,$1,%lo(%neg(%gp_rel(foo))) daddu $gp,$1,$25 .set at sd $4,16($fp) s.d $f13,24($fp) sd $6,32($fp) sd $7,40($fp) s.d $f16,48($fp) sd $9,56($fp) move $2,$10 sd $11,72($fp) sb $2,64($fp) #APP --- BEGIN --- #NO_APP ld $3,40($fp) lbu $2,0($3) l.d $f1,24($fp) cvt.s.d $f0,$f1 move $4,$2 mov.s $f13,$f0 ld $6,16($fp) ld $7,56($fp) ld $8,40($fp) ld $9,40($fp) dla $25,bar jal $31,$25 #APP --- END --- #NO_APP .L1: move $sp,$fp ld $31,96($sp) ld $fp,88($sp) ld $28,80($sp) daddu $sp,$sp,112 j $31 .end foo .align 2 .globl bar .ent bar bar: .frame $fp,96,$31 # vars= 48, regs= 3/0, args= 0, extra= 16 .mask 0xd0000000,-16 .fmask 0x00000000,0 dsubu $sp,$sp,96 sd $31,80($sp) sd $fp,72($sp) sd $28,64($sp) move $fp,$sp .set noat lui $1,%hi(%neg(%gp_rel(bar))) addiu $1,$1,%lo(%neg(%gp_rel(bar))) daddu $gp,$1,$25 .set at move $2,$4 s.s $f13,20($fp) sd $6,24($fp) sd $7,32($fp) sd $8,40($fp) sd $9,48($fp) sb $2,16($fp) #APP --- BEGIN --- #NO_APP l.s $f1,20($fp) cvt.d.s $f0,$f1 lbu $2,16($fp) ld $4,24($fp) mov.d $f13,$f0 move $6,$0 ld $7,40($fp) dmtc1 $0,$f16 ld $9,32($fp) move $10,$2 ld $11,32($fp) dla $25,foo jal $31,$25 #APP --- END --- #NO_APP .L2: move $sp,$fp ld $31,80($sp) ld $fp,72($sp) ld $28,64($sp) daddu $sp,$sp,96 j $31 .end bar .align 2 .globl baz .ent baz baz: .frame $fp,4048,$31 # vars= 4016, regs= 2/0, args= 0, extra= 16 .mask 0x50000000,-8 .fmask 0x00000000,0 dsubu $sp,$sp,4048 sd $fp,4040($sp) sd $28,4032($sp) move $fp,$sp .set noat lui $1,%hi(%neg(%gp_rel(baz))) addiu $1,$1,%lo(%neg(%gp_rel(baz))) daddu $gp,$1,$25 .set at sw $4,16($fp) sw $0,4024($fp) .L4: lw $2,4024($fp) slt $3,$2,1000 bne $3,$0,.L7 b .L5 .L7: lw $2,4024($fp) li $3,4 # 0x00000004 mult $2,$3 daddu $2,$fp,24 mflo $6 dsll $6,$6,32 dsrl $6,$6,32 mfhi $7 dsll $7,$7,32 or $7,$7,$6 daddu $3,$2,$7 lw $2,16($fp) lw $3,0($3) addu $2,$2,$3 sw $2,16($fp) .L6: lw $2,4024($fp) addu $3,$2,1 sw $3,4024($fp) b .L4 .L5: l.s $f1,16($fp) cvt.d.w $f1,$f1 mov.d $f0,$f1 b .L3 .L3: move $sp,$fp ld $fp,4040($sp) ld $28,4032($sp) daddu $sp,$sp,4048 j $31 .end baz