diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/config.in | 6 | ||||
-rwxr-xr-x | gcc/configure | 38 | ||||
-rw-r--r-- | gcc/configure.ac | 9 | ||||
-rw-r--r-- | gcc/dwarf2out.c | 2 |
5 files changed, 63 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 80794e3..641e359 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2018-09-20 Alexandre Oliva <aoliva@redhat.com> + + 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. + 2018-09-20 Segher Boessenkool <segher@kernel.crashing.org> * config/rs6000/rs6000.opt (misel=no, misel=yes): Delete. diff --git a/gcc/config.in b/gcc/config.in index 2856e72..775536e 100644 --- a/gcc/config.in +++ b/gcc/config.in @@ -1297,6 +1297,12 @@ #endif +/* Define if your assembler supports the .loc is_stmt sub-directive. */ +#ifndef USED_FOR_TARGET +#undef HAVE_GAS_LOC_STMT +#endif + + /* Define if your assembler supports specifying the maximum number of bytes to skip when using the GAS .p2align command. */ #ifndef USED_FOR_TARGET 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 : diff --git a/gcc/configure.ac b/gcc/configure.ac index fceab2f..92cecbd 100644 --- a/gcc/configure.ac +++ b/gcc/configure.ac @@ -3146,6 +3146,15 @@ case "${target}" in ;; esac +gcc_GAS_CHECK_FEATURE([line table is_stmt support], + gcc_cv_as_is_stmt, + [2,16,92],, +[ .text + .file 1 "conf.c" + .loc 1 1 0 is_stmt 1],, +[AC_DEFINE(HAVE_GAS_LOC_STMT, 1, + [Define if your assembler supports the .loc is_stmt sub-directive.])]) + gcc_GAS_CHECK_FEATURE([line table discriminator support], gcc_cv_as_discriminator, [2,19,51],, diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index 48c5037..55fcb7b 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -27931,8 +27931,10 @@ dwarf2out_source_line (unsigned int line, unsigned int column, if (is_stmt != table->is_stmt) { +#if HAVE_GAS_LOC_STMT fputs (" is_stmt ", asm_out_file); putc (is_stmt ? '1' : '0', asm_out_file); +#endif } if (SUPPORTS_DISCRIMINATOR && discriminator != 0) { |