Snow Leopard GHC
Barney Stratford
barney_stratford at fastmail.fm
Thu Sep 24 18:54:33 EDT 2009
Only limited success with GHCi, I'm afraid. The problem seems to be
that Snow Leopard is much stricter about security than Leopard was.
(Caveat - I don't really know what I'm talking about.) In particular,
I don't think it will let you execute code outside of the __TEXT
segment, which is exactly what GHCi tries to do - hence the bus errors.
I've tried just letting the dynamic linker (dyld) sort everything out
for us, but this failed because not all symbols are dynamically
linked, and the statically linked ones are invisible to it.
One change that will be necessary in any case: towards the end of rts/
Linker.c, change
case X86_64_RELOC_SIGNED:
ASSERT(reloc->r_pcrel);
thing += value - baseValue;
break;
to
case X86_64_RELOC_SIGNED:
case X86_64_RELOC_SIGNED_1:
case X86_64_RELOC_SIGNED_2:
case X86_64_RELOC_SIGNED_4:
ASSERT(reloc->r_pcrel);
thing += value - baseValue;
break;
I won't be able to hack on this any more for a few days, as I'm off to
the mountains. Maybe someone else can try.
Barney.
More information about the Glasgow-haskell-users
mailing list