]> git.lizzy.rs Git - rust.git/commit
Let `-Crelocation-model` better control `-pie` linking
authorJosh Stone <jistone@redhat.com>
Fri, 3 Mar 2017 19:39:11 +0000 (11:39 -0800)
committerJosh Stone <jistone@redhat.com>
Fri, 3 Mar 2017 19:39:11 +0000 (11:39 -0800)
commit111fbe7921a7de649a9b76b3f247fc8762217819
treea1cc5206bc301cef503184d3f1f0f7f492e2ecb8
parentf0b514524fed8c8cca369a51feece8be50f8b82b
Let `-Crelocation-model` better control `-pie` linking

Prior to this, if relocation model in the target options was "pic", as
most targets have it, then the user's `-Crelocation-model` had no effect
on whether `-pie` would be used.  Only `-Clink-arg=-static` would have a
further override here.

Now we use `context::get_reloc_model`, which gives precedence to the
user's option, and if it's `RelocMode::PIC` we enable `-pie`.  This is
the same test as `context::is_pie_binary`, except that folds across all
`sess.crate_types`, not just the current one.
src/librustc_trans/back/link.rs