simonpj at microsoft.com
Thu Apr 5 04:11:05 EDT 2007
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.
| -----Original Message-----
| From: Tim Chevalier [mailto:catamorphism at gmail.com]
| Sent: 04 April 2007 19:21
| To: Simon Peyton-Jones
| Cc: cvs-ghc at haskell.org
| Subject: Re: ticky
| On 4/4/07, Simon Peyton-Jones <simonpj at microsoft.com> 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.)
| Tim Chevalier * chevalier at alum.wellesley.edu * Often in error, never in doubt
| Confused? See http://catamorphism.org/transition.html
More information about the Cvs-ghc