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

Reply via email to