From cbe4400d2690104053ec544cf7d0a9a13ee914ee Mon Sep 17 00:00:00 2001
From: Sylvain Henry <sylvain@haskus.fr>
Date: Fri, 6 Oct 2023 18:12:38 +0200
Subject: [PATCH] Rts: expose rtsOutOfBoundsAccess symbol

---
 rts/RtsMessages.c          | 9 ---------
 rts/RtsSymbols.c           | 3 +++
 rts/include/rts/Messages.h | 6 +++++-
 3 files changed, 8 insertions(+), 10 deletions(-)

diff --git a/rts/RtsMessages.c b/rts/RtsMessages.c
index 6d8a524c4c9d..cb2481860661 100644
--- a/rts/RtsMessages.c
+++ b/rts/RtsMessages.c
@@ -326,27 +326,18 @@ rtsDebugMsgFn(const char *s, va_list ap)
 }
 
 
-// Used in stg_badAlignment_entry defined in StgStartup.cmm.
-void rtsBadAlignmentBarf(void) STG_NORETURN;
-
 void
 rtsBadAlignmentBarf(void)
 {
     barf("Encountered incorrectly aligned pointer. This can't be good.");
 }
 
-// Used by code generator
-void rtsOutOfBoundsAccess(void) STG_NORETURN;
-
 void
 rtsOutOfBoundsAccess(void)
 {
     barf("Encountered out of bounds array access.");
 }
 
-// Used by code generator
-void rtsMemcpyRangeOverlap(void) STG_NORETURN;
-
 void
 rtsMemcpyRangeOverlap(void)
 {
diff --git a/rts/RtsSymbols.c b/rts/RtsSymbols.c
index 4d0cb87c1f13..e49f19c500ef 100644
--- a/rts/RtsSymbols.c
+++ b/rts/RtsSymbols.c
@@ -947,6 +947,9 @@ extern char **environ;
       SymI_HasProto(arenaFree)                                          \
       SymI_HasProto(rts_clearMemory)                                    \
       SymI_HasProto(setKeepCAFs)                                        \
+      SymI_HasProto(rtsBadAlignmentBarf)                                \
+      SymI_HasProto(rtsOutOfBoundsAccess)                               \
+      SymI_HasProto(rtsMemcpyRangeOverlap)                              \
       RTS_USER_SIGNALS_SYMBOLS                                          \
       RTS_INTCHAR_SYMBOLS
 
diff --git a/rts/include/rts/Messages.h b/rts/include/rts/Messages.h
index 62323a93ed14..f5cc75380485 100644
--- a/rts/include/rts/Messages.h
+++ b/rts/include/rts/Messages.h
@@ -78,7 +78,6 @@ void debugBelch(const char *s, ...)
 
 int vdebugBelch(const char *s, va_list ap);
 
-
 /* Hooks for redirecting message generation: */
 
 typedef void RtsMsgFunction(const char *, va_list);
@@ -94,3 +93,8 @@ extern RtsMsgFunction rtsFatalInternalErrorFn;
 extern RtsMsgFunctionRetLen rtsDebugMsgFn;
 extern RtsMsgFunction rtsErrorMsgFn;
 extern RtsMsgFunction rtsSysErrorMsgFn;
+
+/* Used by code generator */
+void rtsBadAlignmentBarf(void) STG_NORETURN;
+void rtsOutOfBoundsAccess(void) STG_NORETURN;
+void rtsMemcpyRangeOverlap(void) STG_NORETURN;
-- 
GitLab