[PATCH] Fix -unawareness of large-addresses on mingw (#8520)

kyra kyrab at mail.ru
Sun Jun 8 09:23:36 UTC 2014


There is a problem here.

While setting LARGEADDRESSAWARE apparently works for GHC *itself*, we 
can't be sure it works for any GHC-generated executable because it can 
potentially be linked with some *foreign* code which is not 
LARGEADDRESSAWARE compatible (see 
https://ghc.haskell.org/trac/ghc/ticket/8520#comment:6).

So, perhaps, we should not apply this patch, but only set this flag for 
GHC *itself*.

After all it's possible to feed GHC with something like '-optl-Xlinker 
-optl--large-address-aware' to set this flag on the particular 
executable if necessary.

Cheers,
Kyra

On 6/8/2014 12:30, Simon Marlow wrote:
> If someone validates this on Windows it could go in.  Add it to #8520 
> and put the ticket in the patch state?
>
> On 04/06/2014 10:15, kyra wrote:
>> LARGEADDRESSAWARE flag if set in executable's header tells the OS that
>> the application can handle addresses larger than 2GB.
>>
>> For 32-bit executables it is disabled usually. To enable it we must tell
>> linker to enable it or manually edit an executable - for example,
>> peflags of editbin (from Microsoft) utilities could be used.
>>
>> Cheers,
>> Kyra
>>
>> On 6/4/2014 11:23, Simon Marlow wrote:
>>> I don't know what this does, and there doesn't seem to be any info in
>>> #8520 either.
>>>
>>> Could you add the patch to the ticket, and help us out by saying why
>>> this fixes the problem (and if possible, explain why it won't break
>>> anything else)?
>>>
>>> On 03/06/2014 07:06, transfuturist wrote:
>>>> ---
>>>>   compiler/main/SysTools.lhs | 1 +
>>>>   1 file changed, 1 insertion(+)
>>>>
>>>> diff --git a/compiler/main/SysTools.lhs b/compiler/main/SysTools.lhs
>>>> index dc9642d..1cf1155 100644
>>>> --- a/compiler/main/SysTools.lhs
>>>> +++ b/compiler/main/SysTools.lhs
>>>> @@ -740,6 +740,7 @@ getLinkerInfo' dflags = do
>>>>                      [ -- Reduce ld memory usage
>>>>                        "-Wl,--hash-size=31"
>>>>                      , "-Wl,--reduce-memory-overheads"
>>>> +                   , "-Wl,--large-address-aware" --Trac #8520
>>>>                        -- Increase default stack, see
>>>>                        -- Note [Windows stack usage]
>>>>                      , "-Xlinker", "--stack=0x800000,0x800000" ]
>>>>
>>> _______________________________________________
>>> ghc-devs mailing list
>>> ghc-devs at haskell.org
>>> http://www.haskell.org/mailman/listinfo/ghc-devs
>>>
>>
>> _______________________________________________
>> ghc-devs mailing list
>> ghc-devs at haskell.org
>> http://www.haskell.org/mailman/listinfo/ghc-devs
> _______________________________________________
> ghc-devs mailing list
> ghc-devs at haskell.org
> http://www.haskell.org/mailman/listinfo/ghc-devs
>



More information about the ghc-devs mailing list