[GHC] #13606: GHCi segfaults on Windows with D3D code
GHC
ghc-devs at haskell.org
Fri Jun 2 16:27:59 UTC 2017
#13606: GHCi segfaults on Windows with D3D code
----------------------------------+----------------------------------------
Reporter: RyanGlScott | Owner: Phyx-
Type: bug | Status: patch
Priority: normal | Milestone: 8.4.1
Component: GHCi | Version: 8.2.1-rc2
Resolution: | Keywords:
Operating System: Windows | Architecture: Unknown/Multiple
Type of failure: GHCi crash | Test Case:
Blocked By: | Blocking:
Related Tickets: #12499 #12498 | Differential Rev(s): Phab:D3513
Wiki Page: |
----------------------------------+----------------------------------------
Comment (by Ben Gamari <ben@…>):
In [changeset:"93489cd3b4c1b0d17506a12a9b964c0082ddb7a8/ghc"
93489cd3/ghc]:
{{{
#!CommitTicketReference repository="ghc"
revision="93489cd3b4c1b0d17506a12a9b964c0082ddb7a8"
Better import library support for Windows
The import library support added for 7.10.3 was only a partial one.
This support was predicated on using file extensions to determine
whether or not a library was an import library. It also couldn't handle
libraries with multiple dll pointers.
This is a rewrite of that patch and fully integrating it into the normal
archive parsing and loading routines. This solves a host of issues,
among others allowing us to finally use `-lgcc_s`.
This also fixes a problem with our previous implementation, where we
just loaded the DLL and moved on. Doing this had the potential of using
the wrong symbol at resolve time. Say a DLL already loaded (A.dll) has
symbol a exported (dependency of another dll perhaps).
We find an import library `B.lib` explicitly defining an export of `a`.
we load `B.dll` but this gets put after `A.dll`, at resolve time we
would use the value from `A` instead of `B` which is what we wanted.
Test Plan: ./valide and make test TEST=13606
Reviewers: austin, bgamari, erikd, simonmar
Reviewed By: bgamari
Subscribers: rwbarton, RyanGlScott, thomie, #ghc_windows_task_force
GHC Trac Issues: #13606, #12499, #12498
Differential Revision: https://phabricator.haskell.org/D3513
}}}
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/13606#comment:5>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list