From 872f026857a8c854691a363acd27ef65bf9ecd56 Mon Sep 17 00:00:00 2001 From: Andreas Klebinger Date: Sat, 25 Jan 2020 20:38:15 +0100 Subject: Add IntLike Constructor and Module --- libraries/ghc-prim/GHC/Intlike.hs | 20 +++++++++++++------- libraries/ghc-prim/changelog.md | 6 ++++++ rts/StgMiscClosures.cmm | 7 ++++--- rts/package.conf.in | 3 ++- rts/rts.cabal.in | 2 ++ rts/win32/libHSghc-prim.def | 2 +- 6 files changed, 28 insertions(+), 12 deletions(-) diff --git a/libraries/ghc-prim/GHC/Intlike.hs b/libraries/ghc-prim/GHC/Intlike.hs index eca7bb7c2f..d8a911670a 100644 --- a/libraries/ghc-prim/GHC/Intlike.hs +++ b/libraries/ghc-prim/GHC/Intlike.hs @@ -1,7 +1,13 @@ -{-# LANGUAGE MagicHash, NoImplicitPrelude #-} - -module Intlike where - --- See Note [INTLIKE closures] in StcMiscClosures.cmm --- for more details. -data StaticBoxedWordType = BWT# Word# +{-# LANGUAGE MagicHash, NoImplicitPrelude #-} + +module GHC.Intlike where + +import GHC.Prim + +-- It seems the definition below triggers loading of the GHC.Types .hi file +-- We make sure that's compiled first by importing it here. +import GHC.Types () + +-- See Note [INTLIKE closures] in StcMiscClosures.cmm +-- for more details. +data StaticIntLike = ConstILike# Word# diff --git a/libraries/ghc-prim/changelog.md b/libraries/ghc-prim/changelog.md index cf14d21c81..0c587b1455 100644 --- a/libraries/ghc-prim/changelog.md +++ b/libraries/ghc-prim/changelog.md @@ -1,3 +1,9 @@ +## 0.6.2 (edit as necessary) + +- Shipped with GHC 8.X + +- Add (non-exposed) Intlike module used by the GHC RTS. + ## 0.6.1 (edit as necessary) - Shipped with GHC 8.10.1 diff --git a/rts/StgMiscClosures.cmm b/rts/StgMiscClosures.cmm index 80e3c4314b..26790626f2 100644 --- a/rts/StgMiscClosures.cmm +++ b/rts/StgMiscClosures.cmm @@ -760,13 +760,14 @@ INFO_TABLE( stg_COMPACT_NFDATA_DIRTY, 0, 8, COMPACT_NFDATA, "COMPACT_NFDATA", "C */ // #warning Is this correct? _imp is a pointer! #define Int_hash_con_info _imp__ghczmprim_GHCziTypes_Izh_con_info -#define BWT_hash_con_info _imp__ghczmprim_GHCziTypes_BWTzh_con_info +#define ConstILike_hash_con_info _imp__ghczmprim_GHCziIntlike_ConstILikezh_con_info #else #define Int_hash_con_info ghczmprim_GHCziTypes_Izh_con_info -#define BWT_hash_con_info ghczmprim_GHCziTypes_BWTzh_con_info +#define ConstILike_hash_con_info ghczmprim_GHCziIntlike_ConstILikezh_con_info + #endif -#define INTLIKE_HDR(n) CLOSURE(BWT_hash_con_info, n) +#define INTLIKE_HDR(n) CLOSURE(ConstILike_hash_con_info, n) #if !(defined(COMPILING_WINDOWS_DLL)) section "data" { diff --git a/rts/package.conf.in b/rts/package.conf.in index 21021932a7..f24ce0d329 100644 --- a/rts/package.conf.in +++ b/rts/package.conf.in @@ -112,6 +112,7 @@ ld-options: , "-Wl,-u,_ghczmprim_GHCziTypes_Fzh_con_info" , "-Wl,-u,_ghczmprim_GHCziTypes_Dzh_con_info" , "-Wl,-u,_ghczmprim_GHCziTypes_Wzh_con_info" + , "-Wl,-u,_ghczmprim_GHCziIntlike_ConstILikezh_con_info" , "-Wl,-u,_base_GHCziPtr_Ptr_con_info" , "-Wl,-u,_base_GHCziPtr_FunPtr_con_info" , "-Wl,-u,_base_GHCziInt_I8zh_con_info" @@ -215,7 +216,7 @@ ld-options: , "-Wl,-u,ghczmprim_GHCziTypes_Fzh_con_info" , "-Wl,-u,ghczmprim_GHCziTypes_Dzh_con_info" , "-Wl,-u,ghczmprim_GHCziTypes_Wzh_con_info" - , "-Wl,-u,ghczmprim_GHCziTypes_BWTzh_con_info" + , "-Wl,-u,ghczmprim_GHCziIntlike_ConstILikezh_con_info" , "-Wl,-u,base_GHCziPtr_Ptr_con_info" , "-Wl,-u,base_GHCziPtr_FunPtr_con_info" , "-Wl,-u,base_GHCziInt_I8zh_con_info" diff --git a/rts/rts.cabal.in b/rts/rts.cabal.in index b9a67c7ca1..2018589722 100644 --- a/rts/rts.cabal.in +++ b/rts/rts.cabal.in @@ -233,6 +233,7 @@ library "-Wl,-u,_ghczmprim_GHCziTypes_Fzh_con_info" "-Wl,-u,_ghczmprim_GHCziTypes_Dzh_con_info" "-Wl,-u,_ghczmprim_GHCziTypes_Wzh_con_info" + "-Wl,-u,_ghczmprim_GHCziIntlike_ConstILikezh_con_info" "-Wl,-u,_base_GHCziPtr_Ptr_con_info" "-Wl,-u,_base_GHCziPtr_FunPtr_con_info" "-Wl,-u,_base_GHCziInt_I8zh_con_info" @@ -309,6 +310,7 @@ library "-Wl,-u,ghczmprim_GHCziTypes_Fzh_con_info" "-Wl,-u,ghczmprim_GHCziTypes_Dzh_con_info" "-Wl,-u,ghczmprim_GHCziTypes_Wzh_con_info" + "-Wl,-u,ghczmprim_GHCziIntlike_ConstILikezh_con_info" "-Wl,-u,base_GHCziPtr_Ptr_con_info" "-Wl,-u,base_GHCziPtr_FunPtr_con_info" "-Wl,-u,base_GHCziInt_I8zh_con_info" diff --git a/rts/win32/libHSghc-prim.def b/rts/win32/libHSghc-prim.def index e6b5e059c7..8b8c85ec92 100644 --- a/rts/win32/libHSghc-prim.def +++ b/rts/win32/libHSghc-prim.def @@ -7,10 +7,10 @@ EXPORTS ghczmprim_GHCziTypes_False_closure ghczmprim_GHCziTypes_Czh_con_info ghczmprim_GHCziTypes_Izh_con_info - ghczmprim_GHCziTypes_BWTzh_con_info ghczmprim_GHCziTypes_Fzh_con_info ghczmprim_GHCziTypes_Dzh_con_info ghczmprim_GHCziTypes_Wzh_con_info ghczmprim_GHCziTypes_Czh_static_info ghczmprim_GHCziTypes_Izh_static_info + ghczmprim_GHCziIntlike_ConstILikezh_con_info -- cgit v1.2.1