mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-30 08:40:07 +00:00
a8779c28a8
This patch removes configure tests for assembler CFI support (and thereby eliminates an architecture-specific case in the main configure.ac), instead assuming that support is present unconditionally. The main test was added in 2003 around the time CFI support was added to the assembler. cfi_personality and cfi_lsda support were added to the assembler in 2006. cfi_sections support was added in 2009, a few weeks before binutils 2.20 was released; it's in 2.20, the minimum supported version, so even that configure test is obsolete. Tested x86_64 that the installed shared libraries are unchanged by this patch. * configure.ac (libc_cv_asm_cfi_directives): Remove configure test. * configure: Regenerated. * config.h.in (HAVE_ASM_CFI_DIRECTIVES): Remove macro undefine. * sysdeps/arm/configure.ac (libc_cv_asm_cfi_directive_sections): Remove configure test. * sysdeps/arm/configure: Regenerated. * sysdeps/nptl/configure.ac: Do not check libc_cv_asm_cfi_directives. * sysdeps/nptl/configure: Regenerated. * sysdeps/x86_64/nptl/configure.ac: Remove file. * sysdeps/x86_64/nptl/configure: Remove generated file. * b/sysdeps/generic/sysdep.h [HAVE_ASM_CFI_DIRECTIVES]: Make code unconditional. [!HAVE_ASM_CFI_DIRECTIVES]: Remove conditional code.
41 lines
1.4 KiB
Plaintext
41 lines
1.4 KiB
Plaintext
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
|
|
|
|
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
|