Just to further elaborate, as I am the one who tested this for ppc64: On 3/21/06 9:30 AM, "Simon Marlow" <[EMAIL PROTECTED]> wrote:
> On 20 March 2006 19:47, Duncan Coutts wrote: > >> On Thu, 2006-03-16 at 17:19 +0000, Duncan Coutts wrote: >> >>>>> We have some arch-specific defaults for wether to enable certain >>>>> ghc features. I think these would be suitable defaults for >>>>> everyone: >>>>> >>>>> alpha, hppa and ppc64 should use GhcWithInterpreter=NO >>>> >>>> This corresponds to the current default except for ppc64. Does >>>> GHCi not work on ppc64? (I don't see any ppc64-specific stuff in >>>> rts/Linker.c, so maybe). >>> >>> I can double check. The ppc64 ABI is somewhat different to that of >>> ppc. >> >> We tested this again and ghci does not work "out of the box" on ppc64 >> with ghc-6.4.1. We think this is related to a "TOC overflow" problem >> that we get with the ppc64 ABI. >> >> The ppc64 ABI has this limited-size TOC table for referencing global >> symbols. The gnu binutils has some support for making more TOCs when >> they overflow so most of the time one can ignore the TOC size >> restriction. Unfortunately this doesn't seem to work when all the >> little .o files in a package are linked together into one GHCi-style >> .o file. Since the GHCi .o files are unusable, GHCi itself becomes >> unusable. > > Thanks, I've added a ticket (#731) The gcc flag in question to work around the TOC overflow issue is -mminimal-toc, which of course translates to -optc-mminimal-toc as a flag for the ghc driver. Unfortunately, using this flag causes problems with the mangler, as gcc emits additional code in the prelude and/or postlude for each function that the mangler does not understand how to handle. I will send an assembly snippet of a function compiled both with and without -mminimal-toc, so you can see the differences between the two, and hopefully modify the mangler accordingly. Unfortunately, my G5 is booted into Mac OS X at the moment, so it will have to wait until this evening. Cheers, +chris _______________________________________________ Cvs-ghc mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/cvs-ghc
