Commit 16a5bb82 authored by Simon Marlow's avatar Simon Marlow
Browse files

remove OpenBSD-specific initAdjustor() code that shouldn't be required now

Submitted by: Matthias Kilian <kili@outback.escape.de>
parent 051f5e48
......@@ -84,10 +84,6 @@ static void GNUC3_ATTRIBUTE(used) obscure_ccall_wrapper(void)
}
extern void obscure_ccall_ret_code(void);
#if defined(openbsd_HOST_OS)
static unsigned char *obscure_ccall_ret_code_dyn;
#endif
#endif
#if defined(x86_64_HOST_ARCH)
......@@ -322,11 +318,7 @@ createAdjustor(int cconv, StgStablePtr hptr,
adj_code[0x0a] = (unsigned char)0x68; /* pushl obscure_ccall_ret_code */
*((StgFunPtr*)(adj_code + 0x0b)) =
#if !defined(openbsd_HOST_OS)
(StgFunPtr)obscure_ccall_ret_code;
#else
(StgFunPtr)obscure_ccall_ret_code_dyn;
#endif
adj_code[0x0f] = (unsigned char)0xff; /* jmp *%eax */
adj_code[0x10] = (unsigned char)0xe0;
......@@ -1099,21 +1091,3 @@ if ( *(unsigned char*)ptr != 0xe8 ) {
freeExec(ptr);
}
/*
* Function: initAdjustor()
*
* Perform initialisation of adjustor thunk layer (if needed.)
*/
void
initAdjustor(void)
{
#if defined(i386_HOST_ARCH) && defined(openbsd_HOST_OS)
obscure_ccall_ret_code_dyn = allocateExec(4);
obscure_ccall_ret_code_dyn[0] = ((unsigned char *)obscure_ccall_ret_code)[0];
obscure_ccall_ret_code_dyn[1] = ((unsigned char *)obscure_ccall_ret_code)[1];
obscure_ccall_ret_code_dyn[2] = ((unsigned char *)obscure_ccall_ret_code)[2];
obscure_ccall_ret_code_dyn[3] = ((unsigned char *)obscure_ccall_ret_code)[3];
#endif
}
......@@ -213,9 +213,6 @@ hs_init(int *argc, char **argv[])
synchroniseSystem(); // calls initParallelSystem etc
#endif /* PAR */
/* Perform initialisation of adjustor thunk layer. */
initAdjustor();
/* initialise scheduler data structures (needs to be done before
* initStorage()).
*/
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment