Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
Alex D
GHC
Commits
16a5bb82
Commit
16a5bb82
authored
Jun 01, 2007
by
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
Changes
2
Hide whitespace changes
Inline
Side-by-side
rts/Adjustor.c
View file @
16a5bb82
...
...
@@ -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
}
rts/RtsStartup.c
View file @
16a5bb82
...
...
@@ -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()).
*/
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment