sim-card
/
qemu
Archived
10
0
Fork 0

configure: Check whether makecontext() is a glibc stub function

On some systems (notably ARM Linux) glibc provides implementations
of makecontext(), getcontext() and friends which are stubs which
always return failure. Make the configure test for makecontext()
also check for the presence of the __stub_makecontext macro which
indicates the presence of these stubs, so we can avoid trying to use
them and fall back to a different coroutine implementation instead.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
Peter Maydell 2012-02-23 16:20:05 +00:00 committed by Anthony Liguori
parent 967c0da73a
commit cdf84806a1
1 changed files with 4 additions and 0 deletions

4
configure vendored
View File

@ -2723,11 +2723,15 @@ fi
##########################################
# check if we have makecontext
# (and that it's not a glibc stub which always returns -1)
ucontext_coroutine=no
if test "$darwin" != "yes"; then
cat > $TMPC << EOF
#include <ucontext.h>
#ifdef __stub_makecontext
#error Ignoring glibc stub makecontext which will always fail
#endif
int main(void) { makecontext(0, 0, 0); return 0; }
EOF
if compile_prog "" "" ; then