[GHC] #13210: Can't run terminfo code in GHCi on Windows

GHC ghc-devs at haskell.org
Sun Feb 26 16:51:26 UTC 2017


#13210: Can't run terminfo code in GHCi on Windows
-------------------------------------+-------------------------------------
        Reporter:  RyanGlScott       |                Owner:  Phyx-
            Type:  bug               |               Status:  patch
        Priority:  normal            |            Milestone:  8.4.1
       Component:  Runtime System    |              Version:  8.0.2
  (Linker)                           |
      Resolution:                    |             Keywords:
Operating System:  Windows           |         Architecture:
 Type of failure:  GHC rejects       |  Unknown/Multiple
  valid program                      |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):  Phab:D3154
       Wiki Page:                    |  Phab:D3155
-------------------------------------+-------------------------------------

Comment (by Ben Gamari <ben@…>):

 In [changeset:"9968502d075e3a714913e14cd96a7d6b7ac7b5e7/ghc"
 9968502d/ghc]:
 {{{
 #!CommitTicketReference repository="ghc"
 revision="9968502d075e3a714913e14cd96a7d6b7ac7b5e7"
 Make list of deprecated symbols on Windows weak.

 We have a unfortunate workaround in place for the fact that most
 packages out there use POSIX names for symbols even on Windows.  This
 means that we have to recognize e.g. both `_ungetch` and `ungetch`.

 The former is the actual symbol name on windows and the latter is the
 POSIX variant. The problem is that on normal windows programs `ungetch`
 should not be in the global namespace.

 To work around this, we now mark the deprecated symbols as weak symbols
 in the global namespace. This provides the flexibility we need:

 * If you use the symbol without defining it, we assume you meant to use
   the POSIX variant.
 * If you actually define the symbol, we'll hence forth use that
   definition and assume you didn't mean to use POSIX code. This is how
   MingW64's wrapper also works.

 This requires D3028.

 Fixes #13210.

 Test Plan: ./validate

 Reviewers: austin, bgamari, erikd, simonmar

 Reviewed By: bgamari

 Subscribers: thomie, #ghc_windows_task_force

 Differential Revision: https://phabricator.haskell.org/D3154
 }}}

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


More information about the ghc-tickets mailing list