[GHC] #12186: Windows linker stack commit setting causing issues

GHC ghc-devs at haskell.org
Sat Oct 1 22:01:49 UTC 2016


#12186: Windows linker stack commit setting causing issues
-------------------------------------+-------------------------------------
        Reporter:  tim-m89           |                Owner:  Phyx-
            Type:  bug               |               Status:  patch
        Priority:  normal            |            Milestone:
       Component:  Compiler          |              Version:  8.0.1
  (Linking)                          |
      Resolution:                    |             Keywords:
Operating System:  Windows           |         Architecture:
 Type of failure:  Incorrect result  |  Unknown/Multiple
  at runtime                         |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:  #8870             |  Differential Rev(s):  Phab:D2535
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by Tamar Christina <tamar@…>):

 In [changeset:"1e795a008da8ab2ae88cca04aca01c50967b4397/ghc"
 1e795a00/ghc]:
 {{{
 #!CommitTicketReference repository="ghc"
 revision="1e795a008da8ab2ae88cca04aca01c50967b4397"
 Use check stacking on Windows.

 Summary:
 #8870 added as a temporary work around a much higher initial reserve
 and committed stack space of 2mb. This is causing problems with other
 windows applications.

 The hack was supposed to be temporary untill we could emit `__chkstk`
 instructions.
 But GCC can emit stack checks automatically for us if `-fstack-check` is
 passed.

 This will then emit calls to `___chkstk_ms` before stack allocations.

 ```
   633de0:       48 83 e0 f0             and    $0xfffffffffffffff0,%rax
   633de4:       e8 07 0c 0d 00          callq  7049f0 <___chkstk_ms>
   633de9:       48 29 c4                sub    %rax,%rsp
 ```

 The hack is now no longer needed.

 Test Plan: ./validate

 Reviewers: austin, erikd, awson, bgamari

 Reviewed By: bgamari

 Subscribers: thomie, #ghc_windows_task_force

 Differential Revision: https://phabricator.haskell.org/D2535

 GHC Trac Issues: #12186
 }}}

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/12186#comment:13>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list