mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-05 14:21:28 +08:00
i386.c (ix86_supports_split_stack): -fsplit-stack requires assembler support for CFI directives.
gcc/: * config/i386/i386.c (ix86_supports_split_stack): -fsplit-stack requires assembler support for CFI directives. libgcc/: * configure.ac: Test whether assembler supports CFI directives. * config.host: Only add t-stack and i386/t-stack-i386 to tmake_file if libgcc_cv_cfi is "yes". * configure: Rebuild. From-SVN: r164671
This commit is contained in:
parent
9b809695ff
commit
b6110d6d19
@ -1,3 +1,8 @@
|
||||
2010-09-27 Ian Lance Taylor <iant@google.com>
|
||||
|
||||
* config/i386/i386.c (ix86_supports_split_stack): -fsplit-stack
|
||||
requires assembler support for CFI directives.
|
||||
|
||||
2010-09-27 Richard Henderson <rth@redhat.com>
|
||||
|
||||
* dwarf2out.c (dwarf2out_cfi_label): Use ASM_OUTPUT_DEBUG_LABEL.
|
||||
|
@ -8415,6 +8415,14 @@ ix86_supports_split_stack (bool report ATTRIBUTE_UNUSED)
|
||||
if (report)
|
||||
error ("%<-fsplit-stack%> currently only supported on GNU/Linux");
|
||||
ret = false;
|
||||
#else
|
||||
if (!dwarf2out_do_cfi_asm ())
|
||||
{
|
||||
if (report)
|
||||
error ("%<-fsplit-stack%> requires "
|
||||
"assembler support for CFI directives");
|
||||
ret = false;
|
||||
}
|
||||
#endif
|
||||
|
||||
return ret;
|
||||
|
@ -1,3 +1,10 @@
|
||||
2010-09-27 Ian Lance Taylor <iant@google.com>
|
||||
|
||||
* configure.ac: Test whether assembler supports CFI directives.
|
||||
* config.host: Only add t-stack and i386/t-stack-i386 to
|
||||
tmake_file if libgcc_cv_cfi is "yes".
|
||||
* configure: Rebuild.
|
||||
|
||||
2010-09-27 Ian Lance Taylor <iant@google.com>
|
||||
|
||||
* generic-morestack.h: New file.
|
||||
|
@ -602,7 +602,10 @@ case ${host} in
|
||||
i[34567]86-*-linux* | x86_64-*-linux* | \
|
||||
i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu | \
|
||||
i[34567]86-*-gnu*)
|
||||
tmake_file="${tmake_file} t-tls t-stack i386/t-stack-i386"
|
||||
tmake_file="${tmake_file} t-tls"
|
||||
if test "$libgcc_cv_cfi" = "yes"; then
|
||||
tmake_file="{$tmake_file} t-stack i386/t-stack-i386"
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
|
20
libgcc/configure
vendored
20
libgcc/configure
vendored
@ -3707,6 +3707,26 @@ $as_echo "$libgcc_cv_fixed_point" >&6; }
|
||||
fixed_point=$libgcc_cv_fixed_point
|
||||
|
||||
|
||||
# Check for assembler CFI support.
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether assembler supports CFI directives" >&5
|
||||
$as_echo_n "checking whether assembler supports CFI directives... " >&6; }
|
||||
if test "${libgcc_cv_cfi+set}" = set; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
int i = __GCC_HAVE_DWARF2_CFI_ASM;
|
||||
_ACEOF
|
||||
if ac_fn_c_try_compile "$LINENO"; then :
|
||||
libgcc_cv_cfi=yes
|
||||
else
|
||||
libgcc_cv_cfi=no
|
||||
fi
|
||||
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libgcc_cv_cfi" >&5
|
||||
$as_echo "$libgcc_cv_cfi" >&6; }
|
||||
|
||||
# Check 32bit or 64bit for x86.
|
||||
case ${host} in
|
||||
i?86*-*-* | x86_64*-*-*)
|
||||
|
@ -135,6 +135,12 @@ AC_CACHE_CHECK([whether fixed-point is supported], [libgcc_cv_fixed_point],
|
||||
fixed_point=$libgcc_cv_fixed_point
|
||||
AC_SUBST(fixed_point)
|
||||
|
||||
# Check for assembler CFI support.
|
||||
AC_CACHE_CHECK([whether assembler supports CFI directives], [libgcc_cv_cfi],
|
||||
[AC_COMPILE_IFELSE([int i = __GCC_HAVE_DWARF2_CFI_ASM;],
|
||||
[libgcc_cv_cfi=yes],
|
||||
[libgcc_cv_cfi=no])])
|
||||
|
||||
# Check 32bit or 64bit for x86.
|
||||
case ${host} in
|
||||
i?86*-*-* | x86_64*-*-*)
|
||||
|
Loading…
x
Reference in New Issue
Block a user