[GHC] #5987: Too many symbols in ghc package DLL
GHC
ghc-devs at haskell.org
Tue Aug 29 22:09:28 UTC 2017
#5987: Too many symbols in ghc package DLL
-------------------------------------+-------------------------------------
Reporter: igloo | Owner: Phyx-
Type: bug | Status: patch
Priority: normal | Milestone: 8.4.1
Component: Compiler | Version: 7.5
Resolution: | Keywords:
Operating System: Windows | Architecture:
| Unknown/Multiple
Type of failure: None/Unknown | Test Case:
Blocked By: 10352 | Blocking: 5355
Related Tickets: | Differential Rev(s): Phab:D2592
Wiki Page: | Phab:D3883 Phab:D3882
-------------------------------------+-------------------------------------
Comment (by Tamar Christina <tamar@…>):
In [changeset:"5f6a82040694f7c8c2b394c1b418c0167b963e0b/ghc"
5f6a8204/ghc]:
{{{
#!CommitTicketReference repository="ghc"
revision="5f6a82040694f7c8c2b394c1b418c0167b963e0b"
Add gen-dll as replacement for dll-split
Summary:
This tool can be used to generate dll's for any list of object files
given to it. It will then repartition them automatically to fit within
a dll and generates as many dll's as needed to do this. Cyclic
dependencies
between these generated dlls are handle automatically so there is no need
to tell it how to partition.
It is also a lot more general than `dll-split` as it is able to split any
package not just `libGHC`. It also uses a trick using GNU style import
libraries
to hide the splitting from the rest of the pipeline. Which means come
linking time
you don't need to know which dll contains what symbol or how many split
dlls were
created.
The import libraries are by default created with libtool. However since
libtool is BFD
based it is very slow. So if present and detected by configure the
`genlib` tool
from the msys2 project is used. This makes a difference of about ~45
minutes when compiling.
To install `genlib` run `pacman -Sy mingw-w64-$(uname -m)-tools-git`.
More detailed explaination of the process can be found here
https://ghc.haskell.org/trac/ghc/wiki/WindowsDynamicLinking
Test Plan: ./validate
Reviewers: austin, hvr, bgamari, erikd, simonmar
Reviewed By: bgamari
Subscribers: snowleopard, rwbarton, thomie, erikd, #ghc_windows_task_force
GHC Trac Issues: #5987
Differential Revision: https://phabricator.haskell.org/D3883
}}}
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/5987#comment:67>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list