Permalink
Cannot retrieve contributors at this time
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
glibc/sysdeps/nptl/configure.ac
Go to fileThis commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
49 lines (45 sloc)
1.64 KB
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
dnl configure fragment for new libpthread implementation. | |
GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory. | |
if test "x$libc_cv_gcc___thread" != xyes; then | |
AC_MSG_ERROR(compiler support for __thread is required) | |
fi | |
if test "x${libc_cv_visibility_attribute}" != xyes || | |
test "x${libc_cv_broken_visibility_attribute}" != xno; then | |
AC_MSG_ERROR(working compiler support for visibility attribute is required) | |
fi | |
if test "x$libc_cv_asm_cfi_directives" != xyes; then | |
dnl We need this only for some architectures. | |
case "$base_machine" in | |
i386 | x86_64 | powerpc | s390) | |
AC_MSG_ERROR(CFI directive support in assembler is required) ;; | |
*) ;; | |
esac | |
fi | |
dnl Iff <unwind.h> is available, make sure it is the right one and it | |
dnl contains struct _Unwind_Exception. | |
AC_CACHE_CHECK(dnl | |
for forced unwind support, libc_cv_forced_unwind, [dnl | |
AC_TRY_COMPILE([#include <unwind.h>], [ | |
struct _Unwind_Exception exc; | |
struct _Unwind_Context *context; | |
_Unwind_GetCFA (context)], | |
libc_cv_forced_unwind=yes, libc_cv_forced_unwind=no)]) | |
if test $libc_cv_forced_unwind = yes; then | |
AC_DEFINE(HAVE_FORCED_UNWIND) | |
dnl Check for C cleanup handling. | |
old_CFLAGS="$CFLAGS" | |
CFLAGS="$CFLAGS -Werror -fexceptions" | |
AC_CACHE_CHECK([for C cleanup handling], libc_cv_c_cleanup, [dnl | |
AC_TRY_COMPILE([ | |
extern void some_function (void); | |
void cl (void *a) { }], [ | |
int a __attribute__ ((cleanup (cl))); | |
some_function ()], | |
libc_cv_c_cleanup=yes, libc_cv_c_cleanup=no)]) | |
CFLAGS="$old_CFLAGS" | |
if test $libc_cv_c_cleanup = no; then | |
AC_MSG_ERROR([the compiler must support C cleanup handling]) | |
fi | |
else | |
AC_MSG_ERROR(forced unwind support is required) | |
fi |