summaryrefslogtreecommitdiff
path: root/rts/Linker.c
diff options
context:
space:
mode:
authorSimon Marlow <marlowsd@gmail.com>2016-05-21 18:36:49 +0200
committerBen Gamari <ben@smart-cactus.org>2016-05-21 19:10:59 +0200
commitda3c1ebb8a57e81f12c5be192e477f79158a2398 (patch)
tree6fcc2d9a2f8f6706cceee043f256d6758c86c020 /rts/Linker.c
parentcf1efc7f0f97f272645af93491ca890137df3704 (diff)
downloadhaskell-da3c1ebb8a57e81f12c5be192e477f79158a2398.tar.gz
Enable checkProddableBlock on x86_64
We've been seeing some memory corruption after using the linker, and I want to enable this to see if it catches anything. Test Plan: * validate * modified the linker_unload test to remove the performGC calls to use as a benchmark, saw no significant difference after this change. Reviewers: bgamari, erikd, austin Reviewed By: austin Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D2245
Diffstat (limited to 'rts/Linker.c')
-rw-r--r--rts/Linker.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/rts/Linker.c b/rts/Linker.c
index 61b10d8e0e..e867d04781 100644
--- a/rts/Linker.c
+++ b/rts/Linker.c
@@ -4034,7 +4034,7 @@ ocGetNames_PEi386 ( ObjectCode* oc )
if (kind != SECTIONKIND_OTHER && end >= start) {
addSection(&sections[i], kind, SECTION_NOMEM, start, sz, 0, 0, 0);
- addProddableBlock(oc, start, end - start + 1);
+ addProddableBlock(oc, start, sz);
}
stgFree(secname);
@@ -5756,7 +5756,7 @@ do_Elf_Rela_relocations ( ObjectCode* oc, char* ehdrC,
IF_DEBUG(linker,debugBelch("Reloc: P = %p S = %p A = %p\n",
(void*)P, (void*)S, (void*)A ));
- /* checkProddableBlock ( oc, (void*)P ); */
+ checkProddableBlock(oc, (void*)P, sizeof(Elf_Word));
#if defined(sparc_HOST_ARCH) || defined(powerpc_HOST_ARCH) || defined(x86_64_HOST_ARCH)
value = S + A;