more info... The seg fault was because I was on a 64-bit machine. StgEntCounter (defined in Rts.h) used some 32-bit fields. The asm code emitted by CgTicky to statically-allocate the record put the 32-bit words end to end, followed the 64-bit words. No padding. (The via-c route generates entirely bogus code for such mixed-size data chunks.) But the C compiler adds padding.
I fixed this by making the 32-bit words into native words. Lesson: I guess packing must be done manually if it's to be portable. Presumably info tables do this. the other problems are still there. Simon | -----Original Message----- | From: Tim Chevalier [mailto:[EMAIL PROTECTED] | Sent: 04 April 2007 19:21 | To: Simon Peyton-Jones | Cc: [email protected] | Subject: Re: ticky | | On 4/4/07, Simon Peyton-Jones <[EMAIL PROTECTED]> wrote: | > Do you think ticky is working in the HEAD? | | Well, apparently not! (I swear, it was working when I checked it in...) | | > Any chance you could patch it up? | > | | I'll look at it sometime over the next couple days and if I can't fix | it, I'll at least explain on the mailing list what I think is wrong. | | (Note the name change, btw.) | | Cheers, | Tim | | -- | Tim Chevalier * [EMAIL PROTECTED] * Often in error, never in doubt | Confused? See http://catamorphism.org/transition.html _______________________________________________ Cvs-ghc mailing list [email protected] http://www.haskell.org/mailman/listinfo/cvs-ghc
