[GHC] #10726: Upgrade MingW-w64 distributions for windows

GHC ghc-devs at haskell.org
Mon Dec 14 12:20:44 UTC 2015


#10726: Upgrade MingW-w64 distributions for windows
-------------------------------------+-------------------------------------
        Reporter:  Phyx-             |                Owner:
            Type:  task              |               Status:  patch
        Priority:  high              |            Milestone:  8.0.1
       Component:  Build System      |              Version:  7.11
      Resolution:                    |             Keywords:
Operating System:  Windows           |         Architecture:
                                     |  Unknown/Multiple
 Type of failure:  None/Unknown      |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:  #9218 #9014       |  Differential Rev(s):  Phab:D1123
  #10435                             |
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by Phyx-):

 @bgamari I've tried 2 approaches which haven't worked completely:

 1) I tried removing the symbols from the export list and adding
 `libmingwex` to the rts's `package.conf`and have it just link against it.
 But turns out the `rts`'s `package.conf` is ignored on all platforms. I
 didn't want to have to make an exception for Windows here and I don't know
 why the other platforms also ignore it so I abandoned this approach.

 2) I tried marking the symbols we're re-exporting as weak symbols, so
 there wouldn't be a change to existing code and would allow you to link
 against `libmingwex`. But unfortunately because of when the other
 libraries specified by `-l` are linked in, some of the symbols have
 already been used and thus aren't weak anymore. So I still get duplicate
 link errors.

 What I want to try now is leaving them as weak symbols, but loading
 `libmingwex.a` at `rts` initialization time. Much like how `kernel32` is
 loaded. This is hopefully early enough that the symbols haven't been used
 yet. I'll give that a try tonight.

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


More information about the ghc-tickets mailing list