Pass -no-pie to GCC
authorBen Gamari <bgamari.foss@gmail.com>
Fri, 11 Nov 2016 17:05:21 +0000 (12:05 -0500)
committerBen Gamari <ben@smart-cactus.org>
Fri, 11 Nov 2016 17:05:40 +0000 (12:05 -0500)
commitd421a7e22e0be3de32376970b8c38ec308f959da
tree80e298beed878f74532e46d2249c78ab0a8e3630
parentec0bf8117d1aefd20711a6152ebbca63f3bd0774
Pass -no-pie to GCC

Certain distributions (e.g. Debian and Ubuntu) have enabled PIE be
default in their GCC packaging. This breaks our abuse of GCC as a linker
which requires that we pass -Wl,-r, which is incompatible with
PIE (since the former implies that we are generating a relocatable
object file and the latter an executable).

This is a second attempt at D2691. This attempt constrasts with D2691 in that
it preserves the "does gcc support -no-pie" flag in settings, allowing this to
be reconfigured by `configure` during installation of a binary distribution.
Thanks for @rwbarton for drawing attention to this issue.

Test Plan: Validate

Reviewers: austin, hvr, erikd

Reviewed By: erikd

Subscribers: thomie, rwbarton, erikd

Differential Revision: https://phabricator.haskell.org/D2693

GHC Trac Issues: #12759
aclocal.m4
compiler/main/DriverPipeline.hs
compiler/main/DynFlags.hs
compiler/main/SysTools.hs
configure.ac
distrib/configure.ac.in
settings.in