Implement split-sections support for windows.
authorTamar Christina <tamar@zhox.com>
Sun, 26 Mar 2017 18:05:46 +0000 (19:05 +0100)
committerTamar Christina <tamar@zhox.com>
Fri, 7 Jul 2017 23:02:36 +0000 (00:02 +0100)
commitbd4fdc6aa34a85268f3e9a2bd3f4142a97724ce4
tree984a144a47f4045b226a1511442bb13fd3a8a3cb
parent99adcc8804e91161b35ff1d0e5f718d18fcaa66a
Implement split-sections support for windows.

Summary:
Initial implementation of split-section on Windows.

This also corrects section namings and uses the platform
convention of `$` instead of `.` to separate sections.

Implementation is based on @awson's patches to binutils.

Binutils requires some extra help when compiling the libraries
for GHCi usage. We drop the `-T` and use implicit scripts to amend
the linker scripts instead of replacing it.

Because of these very large GHCi object files, we need big-obj support,
which will be added by another patch.

Test Plan: ./validate

Reviewers: awson, austin, bgamari

Subscribers: dfeuer, rwbarton, thomie, snowleopard, #ghc_windows_task_force

GHC Trac Issues: #12913

Differential Revision: https://phabricator.haskell.org/D3383
compiler/llvmGen/LlvmCodeGen/Data.hs
compiler/nativeGen/PprBase.hs
docs/users_guide/8.4.1-notes.rst
driver/utils/merge_sections_pe.ld [new file with mode: 0644]
mk/config.mk.in
rules/build-package-way.mk