[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