trouble linking with -O and unboxed tuple

Bernard James POPE bjpop@cs.mu.OZ.AU
Tue, 18 Mar 2003 22:38:24 +1100 (EST)


Hi all,

With ghc 5.04.2 I'm having some trouble linking (debian linux).

Here's the error I get:

   /home/bjpop/woo/lib/buddha-0.5/libbuddha_p.a(Partial.o): 
   In function `s1jZ_fast1':
   Partial.o(.text+0xa44): undefined reference to `GHCziPrim_zdwZ2H_entry'

This is repeated about 4 times for different locations, but the same symbol.

Unfortunately I can't repeat the problem in a small program. 
So instead, I'll point out the things I know, in case any of them help.

   1) libbuddha_p.a is a library built from a number of modules. Each of these
      modules is compiled with:
      -O -cpp -prof -fglasgow-exts -package lang -package-name buddha

   2) The problem occurs when I try to use an unboxed tuple in one of the
      modules:

      newtype Comp a = C (CompState -> (# a, CompState #))

      If I remove the unboxing, the linking problem disappears

   3) removing the -prof flag doesn't seem to fix anything 

   4) compiling without -O fixes the problem 

I'm sorry I can't be clearer than this. I'm hoping someone understands
what that symbol means, which might help to understand the problem.

My suspicion is that it is something to do with inter-module optimisations
and the boxed tuple, but of course I'm only guessing.

Cheers,
Bernie.