/* -----------------------------------------------------------------------------
- * $Id: Rts.h,v 1.25 2004/08/21 12:47:17 panne Exp $
+ * $Id: Rts.h,v 1.26 2004/08/22 16:40:38 panne Exp $
*
* (c) The GHC Team, 1998-1999
*
#endif
/* Initialising the whole adjustor thunk machinery. */
-extern rtsBool initAdjustor(void);
+extern void initAdjustor(void);
extern void stg_exit(int n) GNU_ATTRIBUTE(__noreturn__);
* TODO: Can the code span more than one page? If yes, we need to make two
* pages executable!
*/
-static rtsBool
+static void
execPage (void* addr, pageMode mode)
{
#if defined(i386_TARGET_ARCH) && defined(_WIN32) && 0
sInfo.dwPageSize,
( mode == pageExecuteReadWrite ? PAGE_EXECUTE_READWRITE : PAGE_EXECUTE_READ),
&dwOldProtect) == 0 ) {
-# if 1
DWORD rc = GetLastError();
- prog_belch("execPage: failed to protect 0x%p; error=%lu; old protection: %lu\n", addr, rc, dwOldProtect);
-# endif
- return rtsFalse;
+ barf("execPage: failed to protect 0x%p; error=%lu; old protection: %lu\n", addr, rc, dwOldProtect);
}
- return rtsTrue;
#else
(void)addr; (void)mode; /* keep gcc -Wall happy */
- return rtsTrue;
#endif
}
*
* Perform initialisation of adjustor thunk layer (if needed.)
*/
-rtsBool
+void
initAdjustor(void)
{
#if defined(i386_TARGET_ARCH)
execPage(obscure_ccall_ret_code, pageExecuteRead);
#endif
- return rtsTrue;
}