summaryrefslogtreecommitdiff
path: root/rts
diff options
context:
space:
mode:
authorAustin Seipp <aseipp@pobox.com>2013-08-23 12:27:53 -0500
committerAustin Seipp <aseipp@pobox.com>2013-08-23 12:29:48 -0500
commit22625f7213ea6619e5b1d7248cb47439036aac47 (patch)
tree2a0987330b99db731d25f61681158133c7edf476 /rts
parent95ebff9aed3e8570c7ac51148594c48a812c5b19 (diff)
downloadhaskell-22625f7213ea6619e5b1d7248cb47439036aac47.tar.gz
Fix build for i386/windows.
symbol_extras is only part of ObjectCode on certain platforms. Signed-off-by: Austin Seipp <aseipp@pobox.com>
Diffstat (limited to 'rts')
-rw-r--r--rts/Linker.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/rts/Linker.c b/rts/Linker.c
index fe0a7ed947..b193149184 100644
--- a/rts/Linker.c
+++ b/rts/Linker.c
@@ -2046,9 +2046,8 @@ mmap_again:
void freeObjectCode (ObjectCode *oc)
{
- int pagesize, size, r;
-
#ifdef USE_MMAP
+ int pagesize, size, r;
pagesize = getpagesize();
size = ROUND_UP(oc->fileSize, pagesize);
@@ -2067,7 +2066,13 @@ void freeObjectCode (ObjectCode *oc)
#else
stgFree(oc->image);
+
+#if defined(powerpc_HOST_ARCH) || defined(x86_64_HOST_ARCH) || defined(arm_HOST_ARCH)
+#if !defined(x86_64_HOST_ARCH) || !defined(mingw32_HOST_OS)
stgFree(oc->symbol_extras);
+#endif
+#endif
+
#endif