Set $1_$2_SplitSections in distdir-opts.mk not build-package.mk
authorReid Barton <rwbarton@gmail.com>
Thu, 23 Feb 2017 18:41:55 +0000 (13:41 -0500)
committerBen Gamari <ben@smart-cactus.org>
Thu, 23 Feb 2017 22:26:44 +0000 (17:26 -0500)
commit3cb9b52fba92a0799d0c21f4ea247493dd0b811b
treecd9bd2af1bd8fcebcf786ecac8a8e31ec2efb274
parenta20433326eabd759502d9c170c3cc44ce6128a04
Set $1_$2_SplitSections in distdir-opts.mk not build-package.mk

After commit a50082c11 we use -ffunction-sections -fdata-sections
for all C compilations, when $1_$2_SplitSections is set. But that
variable was set in build-package.mk which is not run for the RTS.
As a result the RTS was not being split, leading to larger binaries.

This commit fixes RTS splitting by moving the definition of
$1_$2_SplitSections to distdir-opts.mk, which is run for the RTS
(and also from build-package.mk).

Test Plan:
manual ./validate and check that RTS and base .c files
are split, but not object files in the compiler

Reviewers: austin, bgamari

Reviewed By: bgamari

Subscribers: thomie, snowleopard, olsner

Differential Revision: https://phabricator.haskell.org/D3137
rules/build-package.mk
rules/distdir-opts.mk