diff options
author | Zejun Wu <watashi@fb.com> | 2018-10-15 13:52:53 -0400 |
---|---|---|
committer | Ben Gamari <ben@smart-cactus.org> | 2018-10-30 12:21:46 -0400 |
commit | e019ec94f12268dd92ea5d5204e9e57e7ebf10ca (patch) | |
tree | 7c33b231d857973084b04f575ee60960cdf0a5c4 /rts/linker/SymbolExtras.h | |
parent | 5403a8636fe82f971234873564f3a05393b89b7a (diff) | |
download | haskell-wip/fix-i386-2.tar.gz |
Allocate bss section within proper range of other sectionswip/fix-i386-2
Allocate bss section within proper range of other sections:
* when `+RTS -xp` is passed, allocate it contiguously as we did for
jump islands
* when we mmap the code to lower 2Gb, we should allocate bss section
there too
This depends on {D5195}
Test Plan:
1. `./validate`
2.
with
```
DYNAMIC_GHC_PROGRAMS = NO
DYNAMIC_BY_DEFAULT = NO
```
`TEST="T15729" make test` passed in both linux and macos.
3.
Also test in a use case where we used to encouter error like:
```
ghc-iserv-prof: R_X86_64_PC32 relocation out of range: (noname) =
b90282ba
```
and now, everything works fine.
Reviewers: simonmar, bgamari, angerman, erikd
Reviewed By: simonmar
Subscribers: rwbarton, carter
GHC Trac Issues: #15729
Differential Revision: https://phabricator.haskell.org/D5219
Diffstat (limited to 'rts/linker/SymbolExtras.h')
-rw-r--r-- | rts/linker/SymbolExtras.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/rts/linker/SymbolExtras.h b/rts/linker/SymbolExtras.h index 4974c06e7d..af828e66fa 100644 --- a/rts/linker/SymbolExtras.h +++ b/rts/linker/SymbolExtras.h @@ -7,7 +7,7 @@ #if defined(NEED_SYMBOL_EXTRAS) -int ocAllocateSymbolExtras( ObjectCode* oc, int count, int first ); +int ocAllocateExtras(ObjectCode* oc, int count, int first, int bssSize); #if defined(arm_HOST_ARCH) SymbolExtra* makeArmSymbolExtra( ObjectCode const* oc, |