summaryrefslogtreecommitdiff
path: root/utils/deriveConstants
diff options
context:
space:
mode:
authorSimon Marlow <marlowsd@gmail.com>2015-07-06 14:09:50 +0100
committerSimon Marlow <marlowsd@gmail.com>2015-07-06 15:16:06 +0100
commit9180df19dd938901791b84ef7f260f7e2f1f894f (patch)
treef6956c83ac5a7d04fa08c491c62bc04093731b4d /utils/deriveConstants
parenta07898e47709d643ffba1bffd83411fc3146ed27 (diff)
downloadhaskell-9180df19dd938901791b84ef7f260f7e2f1f894f.tar.gz
Fix offset calculation in __stg_gc_fun
Summary: We were not treating the offset as a signed field in this rare case, so it would blow up if the offset was negative. Test Plan: Looked at the assembly Reviewers: austin, bgamari, rwbarton Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D1042
Diffstat (limited to 'utils/deriveConstants')
-rw-r--r--utils/deriveConstants/DeriveConstants.hs1
1 files changed, 1 insertions, 0 deletions
diff --git a/utils/deriveConstants/DeriveConstants.hs b/utils/deriveConstants/DeriveConstants.hs
index ccf9028904..65635506e2 100644
--- a/utils/deriveConstants/DeriveConstants.hs
+++ b/utils/deriveConstants/DeriveConstants.hs
@@ -568,6 +568,7 @@ wanteds = concat
,structField C "StgFunInfoExtraRev" "fun_type"
,structFieldH Both "StgFunInfoExtraRev" "arity"
,structField_ C "StgFunInfoExtraRev_bitmap" "StgFunInfoExtraRev" "b.bitmap"
+ ,structField_ C "StgFunInfoExtraRev_bitmap_offset" "StgFunInfoExtraRev" "b.bitmap_offset"
,structField C "StgLargeBitmap" "size"
,fieldOffset C "StgLargeBitmap" "bitmap"