[Git][ghc/ghc][wip/romes/cleanup] cleanup: Drop obsolete DLL_IMPORT_DATA_REF
Rodrigo Mesquita pushed to branch wip/romes/cleanup at Glasgow Haskell Compiler / GHC Commits: 034a1f98 by Rodrigo Mesquita at 2025-09-23T18:16:37+01:00 cleanup: Drop obsolete DLL_IMPORT_DATA_REF This macro no longer makes sense since COMPILING_WINDOWS_DLL was dropped in b8cfa8f741729ef123569fb321c4b2ab4a1a941c. This allows us to get rid of the rts/DLL.h file too. - - - - - 7 changed files: - rts/CloneStack.h - rts/Prelude.h - rts/RtsSymbols.c - rts/include/RtsAPI.h - rts/include/Stg.h - − rts/include/stg/DLL.h - rts/rts.cabal Changes: ===================================== rts/CloneStack.h ===================================== @@ -9,7 +9,7 @@ #pragma once extern StgClosure ghczminternal_GHCziInternalziStackziCloneStack_StackSnapshot_closure; -#define StackSnapshot_constructor_closure DLL_IMPORT_DATA_REF(ghczminternal_GHCziInternalziStackziCloneStack_StackSnapshot_closure) +#define StackSnapshot_constructor_closure (&(ghczminternal_GHCziInternalziStackziCloneStack_StackSnapshot_closure)) StgStack* cloneStack(Capability* capability, const StgStack* stack); ===================================== rts/Prelude.h ===================================== @@ -87,58 +87,58 @@ PRELUDE_INFO(ghczminternal_GHCziInternalziWord_W32zh_con_info); PRELUDE_INFO(ghczminternal_GHCziInternalziWord_W64zh_con_info); PRELUDE_INFO(ghczminternal_GHCziInternalziStable_StablePtr_con_info); -#define Unit_closure DLL_IMPORT_DATA_REF(ghczminternal_GHCziInternalziTuple_Z0T_closure) -#define True_closure DLL_IMPORT_DATA_REF(ghczminternal_GHCziInternalziTypes_True_closure) -#define False_closure DLL_IMPORT_DATA_REF(ghczminternal_GHCziInternalziTypes_False_closure) -#define unpackCString_closure DLL_IMPORT_DATA_REF(ghczminternal_GHCziInternalziPack_unpackCString_closure) -#define runFinalizerBatch_closure DLL_IMPORT_DATA_REF(ghczminternal_GHCziInternalziWeakziFinalizze_runFinalizzerBatch_closure) +#define Unit_closure (&(ghczminternal_GHCziInternalziTuple_Z0T_closure)) +#define True_closure (&(ghczminternal_GHCziInternalziTypes_True_closure)) +#define False_closure (&(ghczminternal_GHCziInternalziTypes_False_closure)) +#define unpackCString_closure (&(ghczminternal_GHCziInternalziPack_unpackCString_closure)) +#define runFinalizerBatch_closure (&(ghczminternal_GHCziInternalziWeakziFinalizze_runFinalizzerBatch_closure)) #define mainIO_closure (&ZCMain_main_closure) -#define runSparks_closure DLL_IMPORT_DATA_REF(ghczminternal_GHCziInternalziConcziSync_runSparks_closure) -#define ensureIOManagerIsRunning_closure DLL_IMPORT_DATA_REF(ghczminternal_GHCziInternalziConcziIO_ensureIOManagerIsRunning_closure) -#define interruptIOManager_closure DLL_IMPORT_DATA_REF(ghczminternal_GHCziInternalziConcziIO_interruptIOManager_closure) -#define ioManagerCapabilitiesChanged_closure DLL_IMPORT_DATA_REF(ghczminternal_GHCziInternalziConcziIO_ioManagerCapabilitiesChanged_closure) -#define runHandlersPtr_closure DLL_IMPORT_DATA_REF(ghczminternal_GHCziInternalziConcziSignal_runHandlersPtr_closure) +#define runSparks_closure (&(ghczminternal_GHCziInternalziConcziSync_runSparks_closure)) +#define ensureIOManagerIsRunning_closure (&(ghczminternal_GHCziInternalziConcziIO_ensureIOManagerIsRunning_closure)) +#define interruptIOManager_closure (&(ghczminternal_GHCziInternalziConcziIO_interruptIOManager_closure)) +#define ioManagerCapabilitiesChanged_closure (&(ghczminternal_GHCziInternalziConcziIO_ioManagerCapabilitiesChanged_closure)) +#define runHandlersPtr_closure (&(ghczminternal_GHCziInternalziConcziSignal_runHandlersPtr_closure)) #if defined(mingw32_HOST_OS) -#define processRemoteCompletion_closure DLL_IMPORT_DATA_REF(ghczminternal_GHCziInternalziEventziWindows_processRemoteCompletion_closure) +#define processRemoteCompletion_closure (&(ghczminternal_GHCziInternalziEventziWindows_processRemoteCompletion_closure)) #endif -#define runAllocationLimitHandler_closure DLL_IMPORT_DATA_REF(ghczminternal_GHCziInternalziAllocationLimitHandler_runAllocationLimitHandler_closure) - -#define flushStdHandles_closure DLL_IMPORT_DATA_REF(ghczminternal_GHCziInternalziTopHandler_flushStdHandles_closure) -#define runMainIO_closure DLL_IMPORT_DATA_REF(ghczminternal_GHCziInternalziTopHandler_runMainIO_closure) - -#define stackOverflow_closure DLL_IMPORT_DATA_REF(ghczminternal_GHCziInternalziIOziException_stackOverflow_closure) -#define heapOverflow_closure DLL_IMPORT_DATA_REF(ghczminternal_GHCziInternalziIOziException_heapOverflow_closure) -#define allocationLimitExceeded_closure DLL_IMPORT_DATA_REF(ghczminternal_GHCziInternalziIOziException_allocationLimitExceeded_closure) -#define blockedIndefinitelyOnMVar_closure DLL_IMPORT_DATA_REF(ghczminternal_GHCziInternalziIOziException_blockedIndefinitelyOnMVar_closure) -#define blockedIndefinitelyOnSTM_closure DLL_IMPORT_DATA_REF(ghczminternal_GHCziInternalziIOziException_blockedIndefinitelyOnSTM_closure) -#define cannotCompactFunction_closure DLL_IMPORT_DATA_REF(ghczminternal_GHCziInternalziIOziException_cannotCompactFunction_closure) -#define cannotCompactPinned_closure DLL_IMPORT_DATA_REF(ghczminternal_GHCziInternalziIOziException_cannotCompactPinned_closure) -#define cannotCompactMutable_closure DLL_IMPORT_DATA_REF(ghczminternal_GHCziInternalziIOziException_cannotCompactMutable_closure) -#define nonTermination_closure DLL_IMPORT_DATA_REF(ghczminternal_GHCziInternalziControlziExceptionziBase_nonTermination_closure) -#define nestedAtomically_closure DLL_IMPORT_DATA_REF(ghczminternal_GHCziInternalziControlziExceptionziBase_nestedAtomically_closure) -#define absentSumFieldError_closure DLL_IMPORT_DATA_REF(ghczminternal_GHCziInternalziPrimziPanic_absentSumFieldError_closure) -#define underflowException_closure DLL_IMPORT_DATA_REF(ghczminternal_GHCziInternalziExceptionziType_underflowException_closure) -#define overflowException_closure DLL_IMPORT_DATA_REF(ghczminternal_GHCziInternalziExceptionziType_overflowException_closure) -#define divZeroException_closure DLL_IMPORT_DATA_REF(ghczminternal_GHCziInternalziExceptionziType_divZZeroException_closure) - -#define blockedOnBadFD_closure DLL_IMPORT_DATA_REF(ghczminternal_GHCziInternalziEventziThread_blockedOnBadFD_closure) - -#define Czh_con_info DLL_IMPORT_DATA_REF(ghczminternal_GHCziInternalziTypes_Czh_con_info) -#define Izh_con_info DLL_IMPORT_DATA_REF(ghczminternal_GHCziInternalziTypes_Izh_con_info) -#define Fzh_con_info DLL_IMPORT_DATA_REF(ghczminternal_GHCziInternalziTypes_Fzh_con_info) -#define Dzh_con_info DLL_IMPORT_DATA_REF(ghczminternal_GHCziInternalziTypes_Dzh_con_info) -#define Wzh_con_info DLL_IMPORT_DATA_REF(ghczminternal_GHCziInternalziTypes_Wzh_con_info) -#define W8zh_con_info DLL_IMPORT_DATA_REF(ghczminternal_GHCziInternalziWord_W8zh_con_info) -#define W16zh_con_info DLL_IMPORT_DATA_REF(ghczminternal_GHCziInternalziWord_W16zh_con_info) -#define W32zh_con_info DLL_IMPORT_DATA_REF(ghczminternal_GHCziInternalziWord_W32zh_con_info) -#define W64zh_con_info DLL_IMPORT_DATA_REF(ghczminternal_GHCziInternalziWord_W64zh_con_info) -#define I8zh_con_info DLL_IMPORT_DATA_REF(ghczminternal_GHCziInternalziInt_I8zh_con_info) -#define I16zh_con_info DLL_IMPORT_DATA_REF(ghczminternal_GHCziInternalziInt_I16zh_con_info) -#define I32zh_con_info DLL_IMPORT_DATA_REF(ghczminternal_GHCziInternalziInt_I32zh_con_info) -#define I64zh_con_info DLL_IMPORT_DATA_REF(ghczminternal_GHCziInternalziInt_I64zh_con_info) -#define I64zh_con_info DLL_IMPORT_DATA_REF(ghczminternal_GHCziInternalziInt_I64zh_con_info) -#define Ptr_con_info DLL_IMPORT_DATA_REF(ghczminternal_GHCziInternalziPtr_Ptr_con_info) -#define FunPtr_con_info DLL_IMPORT_DATA_REF(ghczminternal_GHCziInternalziPtr_FunPtr_con_info) -#define StablePtr_static_info DLL_IMPORT_DATA_REF(ghczminternal_GHCziInternalziStable_StablePtr_static_info) -#define StablePtr_con_info DLL_IMPORT_DATA_REF(ghczminternal_GHCziInternalziStable_StablePtr_con_info) +#define runAllocationLimitHandler_closure (&(ghczminternal_GHCziInternalziAllocationLimitHandler_runAllocationLimitHandler_closure)) + +#define flushStdHandles_closure (&(ghczminternal_GHCziInternalziTopHandler_flushStdHandles_closure)) +#define runMainIO_closure (&(ghczminternal_GHCziInternalziTopHandler_runMainIO_closure)) + +#define stackOverflow_closure (&(ghczminternal_GHCziInternalziIOziException_stackOverflow_closure)) +#define heapOverflow_closure (&(ghczminternal_GHCziInternalziIOziException_heapOverflow_closure)) +#define allocationLimitExceeded_closure (&(ghczminternal_GHCziInternalziIOziException_allocationLimitExceeded_closure)) +#define blockedIndefinitelyOnMVar_closure (&(ghczminternal_GHCziInternalziIOziException_blockedIndefinitelyOnMVar_closure)) +#define blockedIndefinitelyOnSTM_closure (&(ghczminternal_GHCziInternalziIOziException_blockedIndefinitelyOnSTM_closure)) +#define cannotCompactFunction_closure (&(ghczminternal_GHCziInternalziIOziException_cannotCompactFunction_closure)) +#define cannotCompactPinned_closure (&(ghczminternal_GHCziInternalziIOziException_cannotCompactPinned_closure)) +#define cannotCompactMutable_closure (&(ghczminternal_GHCziInternalziIOziException_cannotCompactMutable_closure)) +#define nonTermination_closure (&(ghczminternal_GHCziInternalziControlziExceptionziBase_nonTermination_closure)) +#define nestedAtomically_closure (&(ghczminternal_GHCziInternalziControlziExceptionziBase_nestedAtomically_closure)) +#define absentSumFieldError_closure (&(ghczminternal_GHCziInternalziPrimziPanic_absentSumFieldError_closure)) +#define underflowException_closure (&(ghczminternal_GHCziInternalziExceptionziType_underflowException_closure)) +#define overflowException_closure (&(ghczminternal_GHCziInternalziExceptionziType_overflowException_closure)) +#define divZeroException_closure (&(ghczminternal_GHCziInternalziExceptionziType_divZZeroException_closure)) + +#define blockedOnBadFD_closure (&(ghczminternal_GHCziInternalziEventziThread_blockedOnBadFD_closure)) + +#define Czh_con_info (&(ghczminternal_GHCziInternalziTypes_Czh_con_info)) +#define Izh_con_info (&(ghczminternal_GHCziInternalziTypes_Izh_con_info)) +#define Fzh_con_info (&(ghczminternal_GHCziInternalziTypes_Fzh_con_info)) +#define Dzh_con_info (&(ghczminternal_GHCziInternalziTypes_Dzh_con_info)) +#define Wzh_con_info (&(ghczminternal_GHCziInternalziTypes_Wzh_con_info)) +#define W8zh_con_info (&(ghczminternal_GHCziInternalziWord_W8zh_con_info)) +#define W16zh_con_info (&(ghczminternal_GHCziInternalziWord_W16zh_con_info)) +#define W32zh_con_info (&(ghczminternal_GHCziInternalziWord_W32zh_con_info)) +#define W64zh_con_info (&(ghczminternal_GHCziInternalziWord_W64zh_con_info)) +#define I8zh_con_info (&(ghczminternal_GHCziInternalziInt_I8zh_con_info)) +#define I16zh_con_info (&(ghczminternal_GHCziInternalziInt_I16zh_con_info)) +#define I32zh_con_info (&(ghczminternal_GHCziInternalziInt_I32zh_con_info)) +#define I64zh_con_info (&(ghczminternal_GHCziInternalziInt_I64zh_con_info)) +#define I64zh_con_info (&(ghczminternal_GHCziInternalziInt_I64zh_con_info)) +#define Ptr_con_info (&(ghczminternal_GHCziInternalziPtr_Ptr_con_info)) +#define FunPtr_con_info (&(ghczminternal_GHCziInternalziPtr_FunPtr_con_info)) +#define StablePtr_static_info (&(ghczminternal_GHCziInternalziStable_StablePtr_static_info)) +#define StablePtr_con_info (&(ghczminternal_GHCziInternalziStable_StablePtr_con_info)) ===================================== rts/RtsSymbols.c ===================================== @@ -1054,9 +1054,9 @@ RTS_ARM_OUTLINE_ATOMIC_SYMBOLS #define SymI_HasDataProto(vvv) { MAYBE_LEADING_UNDERSCORE_STR(#vvv), \ (void*)(&(vvv)), STRENGTH_NORMAL, SYM_TYPE_DATA }, #define SymE_HasProto(vvv) { MAYBE_LEADING_UNDERSCORE_STR(#vvv), \ - (void*)DLL_IMPORT_DATA_REF(vvv), STRENGTH_NORMAL, SYM_TYPE_CODE }, + (void*)(&(vvv)), STRENGTH_NORMAL, SYM_TYPE_CODE }, #define SymE_HasDataProto(vvv) { MAYBE_LEADING_UNDERSCORE_STR(#vvv), \ - (void*)DLL_IMPORT_DATA_REF(vvv), STRENGTH_NORMAL, SYM_TYPE_DATA }, + (void*)(&(vvv)), STRENGTH_NORMAL, SYM_TYPE_DATA }, #define SymI_NeedsProto(vvv) SymI_HasProto(vvv) #define SymI_NeedsDataProto(vvv) SymI_HasDataProto(vvv) ===================================== rts/include/RtsAPI.h ===================================== @@ -587,8 +587,8 @@ void rts_done (void); extern StgClosure ghczminternal_GHCziInternalziTopHandler_runIO_closure; extern StgClosure ghczminternal_GHCziInternalziTopHandler_runNonIO_closure; -#define runIO_closure DLL_IMPORT_DATA_REF(ghczminternal_GHCziInternalziTopHandler_runIO_closure) -#define runNonIO_closure DLL_IMPORT_DATA_REF(ghczminternal_GHCziInternalziTopHandler_runNonIO_closure) +#define runIO_closure (&(ghczminternal_GHCziInternalziTopHandler_runIO_closure)) +#define runNonIO_closure (&(ghczminternal_GHCziInternalziTopHandler_runNonIO_closure)) /* ------------------------------------------------------------------------ */ ===================================== rts/include/Stg.h ===================================== @@ -352,7 +352,6 @@ external prototype return neither of these types to workaround #11395. Other Stg stuff... -------------------------------------------------------------------------- */ -#include "stg/DLL.h" #include "stg/MachRegsForHost.h" #include "stg/Regs.h" #include "stg/Ticky.h" ===================================== rts/include/stg/DLL.h deleted ===================================== @@ -1,26 +0,0 @@ -/* ----------------------------------------------------------------------------- - * - * (c) The GHC Team, 1998-2009 - * - * Support for Windows DLLs. - * - * Do not #include this file directly: #include "Rts.h" instead. - * - * To understand the structure of the RTS headers, see the wiki: - * https://gitlab.haskell.org/ghc/ghc/wikis/commentary/source-tree/includes - * - * ---------------------------------------------------------------------------*/ - -#pragma once - -# define DLL_IMPORT_DATA_REF(x) (&(x)) - -/* The view of the rts/include/ header files differ ever so - slightly depending on whether the RTS is being compiled - or not - so we're forced to distinguish between two. - [oh, you want details :) : Data symbols defined by the RTS - have to be accessed through an extra level of indirection - when compiling generated .hc code compared to when the RTS - sources are being processed. This is only the case when - using Win32 DLLs. ] -*/ ===================================== rts/rts.cabal ===================================== @@ -334,7 +334,6 @@ library rts/storage/InfoTables.h rts/storage/MBlock.h rts/storage/TSO.h - stg/DLL.h stg/MachRegs.h stg/MachRegs/arm32.h stg/MachRegs/arm64.h View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/034a1f98f7e7053b3c5ac2ec8ef49fad... -- View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/034a1f98f7e7053b3c5ac2ec8ef49fad... You're receiving this email because of your account on gitlab.haskell.org.
participants (1)
-
Rodrigo Mesquita (@alt-romes)