[GHC] #15723: -prof -fPIC -fexternal-dynamic-refs generates non-PIC relocations for external symbol
GHC
ghc-devs at haskell.org
Mon Mar 4 18:51:00 UTC 2019
#15723: -prof -fPIC -fexternal-dynamic-refs generates non-PIC relocations for
external symbol
-------------------------------------+-------------------------------------
Reporter: watashi | Owner: watashi
Type: bug | Status: closed
Priority: normal | Milestone: 8.8.1
Component: Compiler | Version: 8.6.1
(CodeGen) |
Resolution: fixed | Keywords:
Operating System: Linux | Architecture: x86_64
| (amd64)
Type of failure: None/Unknown | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s): Phab:D5214
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by Ben Gamari <ben@…>):
In [changeset:"6e96aa2d503ddeeef1fa1f37b45d5c744522b64d/ghc" 6e96aa2/ghc]:
{{{
#!CommitTicketReference repository="ghc"
revision="6e96aa2d503ddeeef1fa1f37b45d5c744522b64d"
Don't use X86_64_ELF_NONPIC_HACK for +RTS -xp
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
}}}
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/15723#comment:6>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list