From: Georg-Johann Lay Date: Wed, 11 Mar 2015 18:35:52 +0000 (+0000) Subject: re PR target/65296 ([avr] fix various issues with specs file generation) X-Git-Tag: releases/gcc-4.9.3~281 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b933ee423d2910001a5ab569bb87eeb59fd8ce27;p=thirdparty%2Fgcc.git re PR target/65296 ([avr] fix various issues with specs file generation) gcc/ PR target/65296 * configure.ac [avr]: Check as for option -mrmw. * configure: Regenerate. * config.in: Regenerate. * config/avr/driver-avr.c (avr_device_to_as): Don't add -mrmw to assembler options if not HAVE_AS_AVR_MRMW_OPTION. From-SVN: r221354 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 59ee3fd80cda..19363ac2b594 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2015-03-11 Georg-Johann Lay + + PR target/65296 + * configure.ac [avr]: Check as for option -mrmw. + * configure: Regenerate. + * config.in: Regenerate. + * config/avr/driver-avr.c (avr_device_to_as): Don't add -mrmw to + assembler options if not HAVE_AS_AVR_MRMW_OPTION. + 2015-03-11 Marek Polacek Backported from mainline diff --git a/gcc/config.in b/gcc/config.in index de4f09017f4e..ba3b7fc8bb5c 100644 --- a/gcc/config.in +++ b/gcc/config.in @@ -211,6 +211,12 @@ #endif +/* Define if your assembler supports -mrmw option. */ +#ifndef USED_FOR_TARGET +#undef HAVE_AS_AVR_MRMW_OPTION +#endif + + /* Define if your assembler supports cmpb. */ #ifndef USED_FOR_TARGET #undef HAVE_AS_CMPB @@ -235,6 +241,12 @@ #endif +/* Define if your assembler supports .module. */ +#ifndef USED_FOR_TARGET +#undef HAVE_AS_DOT_MODULE +#endif + + /* Define if your assembler supports DSPR1 mult. */ #ifndef USED_FOR_TARGET #undef HAVE_AS_DSPR1_MULT @@ -447,12 +459,6 @@ #endif -/* Define if the assembler understands .module. */ -#ifndef USED_FOR_TARGET -#undef HAVE_AS_DOT_MODULE -#endif - - /* Define if your assembler supports the -no-mul-bug-abort option. */ #ifndef USED_FOR_TARGET #undef HAVE_AS_NO_MUL_BUG_ABORT_OPTION diff --git a/gcc/config/avr/driver-avr.c b/gcc/config/avr/driver-avr.c index 76c8b398064f..2d95f1b797c0 100644 --- a/gcc/config/avr/driver-avr.c +++ b/gcc/config/avr/driver-avr.c @@ -60,7 +60,10 @@ avr_device_to_as (int argc, const char **argv) return concat ("-mmcu=", avr_current_arch->arch_name, avr_current_device->dev_attribute & AVR_ERRATA_SKIP ? "" : " -mno-skip-bug", - avr_current_device->dev_attribute & AVR_ISA_RMW ? " -mrmw" : "", NULL); +#ifdef HAVE_AS_AVR_MRMW_OPTION + avr_current_device->dev_attribute & AVR_ISA_RMW ? " -mrmw" : "", +#endif // have as -mrmw + NULL); } /* Returns command line parameters to pass to ld. */ diff --git a/gcc/configure b/gcc/configure index fbfbdbb53ede..64d0c50c5cec 100755 --- a/gcc/configure +++ b/gcc/configure @@ -24155,6 +24155,39 @@ if test $gcc_cv_as_cris_no_mul_bug = yes; then $as_echo "#define HAVE_AS_NO_MUL_BUG_ABORT_OPTION 1" >>confdefs.h +fi + ;; + + avr-*-*) + { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler for -mrmw option" >&5 +$as_echo_n "checking assembler for -mrmw option... " >&6; } +if test "${gcc_cv_as_avr_mrmw+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + gcc_cv_as_avr_mrmw=no + if test x$gcc_cv_as != x; then + $as_echo '.text' > conftest.s + if { ac_try='$gcc_cv_as $gcc_cv_as_flags -mrmw -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_avr_mrmw=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_avr_mrmw" >&5 +$as_echo "$gcc_cv_as_avr_mrmw" >&6; } +if test $gcc_cv_as_avr_mrmw = yes; then + +$as_echo "#define HAVE_AS_AVR_MRMW_OPTION 1" >>confdefs.h + fi ;; diff --git a/gcc/configure.ac b/gcc/configure.ac index 792e9bb3d65f..8fec18253028 100644 --- a/gcc/configure.ac +++ b/gcc/configure.ac @@ -3603,6 +3603,13 @@ AS_HELP_STRING([--disable-fix-cortex-a53-835769], [Define if your assembler supports the -no-mul-bug-abort option.])]) ;; + avr-*-*) + gcc_GAS_CHECK_FEATURE([-mrmw option], gcc_cv_as_avr_mrmw,, + [-mrmw], [.text],, + [AC_DEFINE(HAVE_AS_AVR_MRMW_OPTION, 1, + [Define if your assembler supports -mrmw option.])]) + ;; + sparc*-*-*) gcc_GAS_CHECK_FEATURE([.register], gcc_cv_as_sparc_register_op,,, [.register %g2, #scratch],,