diff options
author | Zejun Wu <watashi@fb.com> | 2018-12-29 04:48:31 +0000 |
---|---|---|
committer | Ben Gamari <ben@well-typed.com> | 2019-03-29 17:30:05 -0400 |
commit | 2ed5ad4892dae4905bc9cdd43772499bb0851e87 (patch) | |
tree | 0033a5a8dfc0dc42b921ca36bf0af25bd4f29df1 /compiler/prelude/TysPrim.hs | |
parent | a11b42ebb8970aab2379833336ea568b0f224fa5 (diff) | |
download | haskell-cherry-pick-6e96aa2d.tar.gz |
Don't use X86_64_ELF_NONPIC_HACK for +RTS -xpcherry-pick-6e96aa2d
Summary:
When `+RTS -xp` is passed, when don't need the X86_64_ELF_NONPIC_HACK,
becasue the relocation offset should only be out of range if
* the object file was not compiled with `-fPIC -fexternal-dynamic-refs`;
* ghc generates non-pic code while it should (e.g. #15723)
In either case, we should print an error message rather that silently
attempt to use a hacky workaround that may not work.
This could have made debugging #15723 and #15729 much easier.
Test Plan:
Run this in a case where ghci used to crash becasue of T15723. Now we
see helpful message like:
```
ghc-iserv-prof: R_X86_64_PC32 relocation out of range:
stmzm2zi4zi4zi1zmJQn4hNPyYjP5m9AcbI88Ve_ControlziConcurrentziSTMziTMVar_readTMVar_C61n_cc
= 9b95ffac
```
Reviewers: simonmar, bgamari, erikd
Reviewed By: simonmar, bgamari
Subscribers: rwbarton, carter
Differential Revision: https://phabricator.haskell.org/D5233
(cherry picked from commit 6e96aa2d503ddeeef1fa1f37b45d5c744522b64d)
Diffstat (limited to 'compiler/prelude/TysPrim.hs')
0 files changed, 0 insertions, 0 deletions