libgo: check for makecontext in -lucontext

Patch from Sören Tempel.

Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/458396
This commit is contained in:
Ian Lance Taylor 2022-12-19 10:37:06 -08:00
parent fb73bfdb67
commit 2b1a604a9b
3 changed files with 61 additions and 1 deletions

View file

@ -1,4 +1,4 @@
9906861dc86c1733bb304d3d45b1534adb32712c
ecc2a2e70e44fa76a75b12d0893bc1702b72a1b4
The first line of this file holds the git revision number of the last
merge done from the gofrontend repository.

57
libgo/configure vendored
View file

@ -14818,6 +14818,63 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing makecontext" >&5
$as_echo_n "checking for library containing makecontext... " >&6; }
if ${ac_cv_search_makecontext+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_func_search_save_LIBS=$LIBS
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern "C"
#endif
char makecontext ();
int
main ()
{
return makecontext ();
;
return 0;
}
_ACEOF
for ac_lib in '' ucontext; do
if test -z "$ac_lib"; then
ac_res="none required"
else
ac_res=-l$ac_lib
LIBS="-l$ac_lib $ac_func_search_save_LIBS"
fi
if ac_fn_c_try_link "$LINENO"; then :
ac_cv_search_makecontext=$ac_res
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext
if ${ac_cv_search_makecontext+:} false; then :
break
fi
done
if ${ac_cv_search_makecontext+:} false; then :
else
ac_cv_search_makecontext=no
fi
rm conftest.$ac_ext
LIBS=$ac_func_search_save_LIBS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_makecontext" >&5
$as_echo "$ac_cv_search_makecontext" >&6; }
ac_res=$ac_cv_search_makecontext
if test "$ac_res" != no; then :
test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing sched_yield" >&5
$as_echo_n "checking for library containing sched_yield... " >&6; }
if ${ac_cv_search_sched_yield+:} false; then :

View file

@ -570,6 +570,9 @@ PTHREAD_LIBS=
AC_CHECK_LIB([pthread], [pthread_create], PTHREAD_LIBS=-lpthread)
AC_SUBST(PTHREAD_LIBS)
dnl Test if -lucontext is required for makecontext.
AC_SEARCH_LIBS([makecontext], [ucontext])
dnl Test if -lrt is required for sched_yield or nanosleep or clock_gettime.
AC_SEARCH_LIBS([sched_yield], [rt])
AC_SEARCH_LIBS([nanosleep], [rt])