<HTML><BODY style="word-wrap: break-word; -khtml-nbsp-mode: space; -khtml-line-break: after-white-space; "><DIV><BR class="khtml-block-placeholder"></DIV>Hi Ian,<DIV><BR><DIV><DIV>On Apr 9, 2007, at 12:21 PM, Ian Lynagh wrote:</DIV><BLOCKQUOTE type="cite"><BLOCKQUOTE type="cite"><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><FONT class="Apple-style-span" color="#000000"><BR class="khtml-block-placeholder"></FONT></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">With this patch, we are pretty close.<SPAN class="Apple-converted-space">  </SPAN>However, there still seems to be</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">something wrong with the splitter.<SPAN class="Apple-converted-space">  </SPAN>I can make a working registerized</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">compiler if I set splitObjs=NO in build.mk, but it seems as if <SPAN class="Apple-converted-space"> </SPAN></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">whatever is</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">wrong with ghc-split shouldn't be too hard to fix.</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><BR></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">I've glanced at ghc-split.lprl, but on what files is it invoked? Can</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">I run it from the command line on a file and see check what comes out?</DIV> </BLOCKQUOTE><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><BR></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">If you compile a module with</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><BR></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><SPAN class="Apple-converted-space">    </SPAN>ghc -v -keep-tmp-files</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><BR></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">then you should see the commandline it is using, and it should leave the</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">files for you to examine, and rerun the commands on, afterwards.</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><BR></DIV></BLOCKQUOTE></DIV><BR></DIV><DIV>I did this and immediately discovered that the problem is not with ghc-split</DIV><DIV>but with ghc-asm.  ".globl" directives are being deleted when they shouldn't be.</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>This is somewhat reminiscent of bug #1167, except that it seems to happen</DIV><DIV>far more frequently on amd64.  Perhaps someone has an idea of the top</DIV><DIV>of their head for this one.  I wouldn't be surprised if the fix for this also</DIV><DIV>took care of the bug on the less loved linux-ppc platform.</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>Best Wishes.</DIV><DIV>Greg</DIV><DIV><BR class="khtml-block-placeholder"></DIV></BODY></HTML>