summaryrefslogtreecommitdiff
path: root/includes/Rts.h
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2020-09-09 15:39:59 -0400
committerMarge Bot <ben+marge-bot@smart-cactus.org>2020-09-18 15:56:25 -0400
commitc492134912e5270180881b7345ee86dc32756bdd (patch)
tree00e738e307bb6ad44b1c52d70374d29cebd86712 /includes/Rts.h
parent0799b3de3e3462224bddc0e4b6a3156d04a06361 (diff)
downloadhaskell-c492134912e5270180881b7345ee86dc32756bdd.tar.gz
rts: Refactor foreign export tracking
This avoids calling `libc` in the initializers which are responsible for registering foreign exports. We believe this should avoid the corruption observed in #18548. See Note [Tracking foreign exports] in rts/ForeignExports.c for an overview of the new scheme.
Diffstat (limited to 'includes/Rts.h')
-rw-r--r--includes/Rts.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/includes/Rts.h b/includes/Rts.h
index 989394b590..589ef8b82c 100644
--- a/includes/Rts.h
+++ b/includes/Rts.h
@@ -212,6 +212,9 @@ void _assertFail(const char *filename, unsigned int linenum)
#include "rts/storage/GC.h"
#include "rts/NonMoving.h"
+/* Foreign exports */
+#include "rts/ForeignExports.h"
+
/* Other RTS external APIs */
#include "rts/Parallel.h"
#include "rts/Signals.h"