diff options
author | Alexandre Oliva <aoliva@redhat.com> | 2018-09-20 19:34:30 +0000 |
---|---|---|
committer | Alexandre Oliva <aoliva@gcc.gnu.org> | 2018-09-20 19:34:30 +0000 |
commit | 894f597f8fb8693a5d0f5834e98a8ccebbbb9106 (patch) | |
tree | aa13ba0a1197e59239ebf0dab931b47a5b780549 /gcc/configure | |
parent | 2eb3745a7bcd7f326b44f784d2f0ca6a2fd4080d (diff) | |
download | gcc-894f597f8fb8693a5d0f5834e98a8ccebbbb9106.zip gcc-894f597f8fb8693a5d0f5834e98a8ccebbbb9106.tar.gz gcc-894f597f8fb8693a5d0f5834e98a8ccebbbb9106.tar.bz2 |
[PR87013] check for .loc is_stmt support in the assembler
Back when we had the logic to output is_stmt but never exercised it,
it didn't matter that we didn't test for assembler support for it.
But there are still assemblers out there that do not support it, so
now that we enable the formerly latent is_stmt logic, we'd better make
sure the assembler can deal with it.
for gcc/ChangeLog
PR bootstrap/87013
* configure.ac: Check for .loc is_stmt support.
* configure, config.in: Rebuilt.
* dwarf2out.c (dwarf2out_source_line): Skip is_stmt
if not supported.
From-SVN: r264449
Diffstat (limited to 'gcc/configure')
-rwxr-xr-x | gcc/configure | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/gcc/configure b/gcc/configure index 5ae43ec..b3205ad 100755 --- a/gcc/configure +++ b/gcc/configure @@ -23942,6 +23942,44 @@ _ACEOF ;; esac +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler for line table is_stmt support" >&5 +$as_echo_n "checking assembler for line table is_stmt support... " >&6; } +if test "${gcc_cv_as_is_stmt+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + gcc_cv_as_is_stmt=no + if test $in_tree_gas = yes; then + if test $gcc_cv_gas_vers -ge `expr \( \( 2 \* 1000 \) + 16 \) \* 1000 + 92` + then gcc_cv_as_is_stmt=yes +fi + elif test x$gcc_cv_as != x; then + $as_echo ' .text + .file 1 "conf.c" + .loc 1 1 0 is_stmt 1' > conftest.s + if { ac_try='$gcc_cv_as $gcc_cv_as_flags -o conftest.o conftest.s >&5' + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 + (eval $ac_try) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; } + then + gcc_cv_as_is_stmt=yes + else + echo "configure: failed program was" >&5 + cat conftest.s >&5 + fi + rm -f conftest.o conftest.s + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_as_is_stmt" >&5 +$as_echo "$gcc_cv_as_is_stmt" >&6; } +if test $gcc_cv_as_is_stmt = yes; then + +$as_echo "#define HAVE_GAS_LOC_STMT 1" >>confdefs.h + +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler for line table discriminator support" >&5 $as_echo_n "checking assembler for line table discriminator support... " >&6; } if test "${gcc_cv_as_discriminator+set}" = set; then : |