summaryrefslogtreecommitdiff
path: root/rts/linker/PEi386.h
diff options
context:
space:
mode:
authorZejun Wu <watashi@fb.com>2018-12-28 20:47:33 -0800
committerBen Gamari <ben@smart-cactus.org>2019-01-30 10:06:32 -0500
commit740534d43cf9f1635c60f6311b7e0d89af962617 (patch)
treeeb9c9d3b9fecf99177e160d6ac7c94dff74417f0 /rts/linker/PEi386.h
parente29b1ee72d77d5a06ac949f9dcc80108243a25c0 (diff)
downloadhaskell-740534d43cf9f1635c60f6311b7e0d89af962617.tar.gz
Allocate bss section within proper range of other sections
Summary: This re-applies {D5195} and {D5235}, they were reverted as part of diff stack to unbreak i386. The proper fix is done in {D5289}. 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 Test Plan: 1. `./validate` 2. with ``` DYNAMIC_GHC_PROGRAMS = NO DYNAMIC_BY_DEFAULT = NO ``` `TEST="T15729" make test` passed in both linux (both i386 and x86_64) 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/D5290
Diffstat (limited to 'rts/linker/PEi386.h')
-rw-r--r--rts/linker/PEi386.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/rts/linker/PEi386.h b/rts/linker/PEi386.h
index eb5bec8b78..538f132ab5 100644
--- a/rts/linker/PEi386.h
+++ b/rts/linker/PEi386.h
@@ -57,7 +57,7 @@ bool ocRunInit_PEi386 ( ObjectCode *oc );
bool ocGetNames_PEi386 ( ObjectCode* oc );
bool ocVerifyImage_PEi386 ( ObjectCode* oc );
SymbolAddr *lookupSymbol_PEi386(SymbolName *lbl);
-bool ocAllocateSymbolExtras_PEi386 ( ObjectCode* oc );
+bool ocAllocateExtras_PEi386 ( ObjectCode* oc );
SymbolAddr *lookupSymbolInDLLs ( const SymbolName* lbl );
/* See Note [mingw-w64 name decoration scheme] */
/* We use myindex to calculate array addresses, rather than