Commit 6e97481b by Jakub Jelinek Committed by Jakub Jelinek

re PR target/37610 (FAIL: g++.dg/eh/pr29166.C execution test)

	PR target/37610
	* configure.ac (gcc_cv_readelf): Look for readelf.
	(gcc_cv_as_cfi_advance_working): Check for working
	cfi advances with code alignment factor > 1.
	(HAVE_GAS_CFI_DIRECTIVE): Don't define if cfi advances
	don't work properly.
	* configure: Regenerated.

From-SVN: r142389
parent 0ce2b299
2008-12-03 Jakub Jelinek <jakub@redhat.com>
PR target/37610
* configure.ac (gcc_cv_readelf): Look for readelf.
(gcc_cv_as_cfi_advance_working): Check for working
cfi advances with code alignment factor > 1.
(HAVE_GAS_CFI_DIRECTIVE): Don't define if cfi advances
don't work properly.
* configure: Regenerated.
2008-12-03 Eric Botcazou <ebotcazou@adacore.com>
Jakub Jelinek <jakub@redhat.com>
Andrew Pinski <andrew_pinski@playstation.sony.com>
......@@ -2005,6 +2005,29 @@ else
AC_MSG_RESULT($gcc_cv_objdump)
fi
# Figure out what readelf we will be using.
AS_VAR_SET_IF(gcc_cv_readelf,, [
if test -f $gcc_cv_binutils_srcdir/configure.in \
&& test -f ../binutils/Makefile \
&& test x$build = x$host; then
# Single tree build which includes binutils.
gcc_cv_readelf=../binutils/readelf$build_exeext
elif test -x readelf$build_exeext; then
gcc_cv_readelf=./readelf$build_exeext
else
AC_PATH_PROG(gcc_cv_readelf, readelf)
fi])
AC_MSG_CHECKING(what readelf to use)
if test "$gcc_cv_readelf" = ../binutils/readelf$build_exeext; then
# Single tree build which includes binutils.
AC_MSG_RESULT(newly built readelf)
elif test x$gcc_cv_readelf = x; then
AC_MSG_RESULT(not found)
else
AC_MSG_RESULT($gcc_cv_readelf)
fi
# Figure out what assembler alignment features are present.
gcc_GAS_CHECK_FEATURE([.balign and .p2align], gcc_cv_as_balign_and_p2align,
[2,6,0],,
......@@ -2234,8 +2257,29 @@ gcc_GAS_CHECK_FEATURE([cfi directives], gcc_cv_as_cfi_directive,
gcc_cv_as_cfi_directive=yes
;;
esac])
if test $gcc_cv_as_cfi_directive = yes && test x$gcc_cv_readelf != x; then
gcc_GAS_CHECK_FEATURE([working cfi advance], gcc_cv_as_cfi_advance_working,
,,
[ .text
.cfi_startproc
.cfi_adjust_cfa_offset 64
.skip 512, 0
.cfi_adjust_cfa_offset 128
.cfi_endproc],
[
changequote(,)dnl
if $gcc_cv_readelf -wf conftest.o 2>/dev/null \
| grep 'DW_CFA_advance_loc[12]:[ ][ ]*512[ ]' >/dev/null; then
gcc_cv_as_cfi_advance_working=yes
fi
changequote([,])dnl
])
else
gcc_cv_as_cfi_advance_working=yes
fi
AC_DEFINE_UNQUOTED(HAVE_GAS_CFI_DIRECTIVE,
[`if test $gcc_cv_as_cfi_directive = yes; then echo 1; else echo 0; fi`],
[`if test $gcc_cv_as_cfi_directive = yes \
&& test $gcc_cv_as_cfi_advance_working = yes; then echo 1; else echo 0; fi`],
[Define 0/1 if your assembler supports CFI directives.])
gcc_GAS_CHECK_FEATURE([cfi personality directive],
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment