Re: [AArch64] Add --enable-fix-cortex-a53-835769 configure-time option

2014-10-27 Thread Kyrill Tkachov


On 27/10/14 11:41, Gerald Pfeifer wrote:

Hi Kyrill,

On Monday 2014-10-20 10:41, Kyrill Tkachov wrote:

Thank you.  Can you please also update gcc-5/changes.html on the
web side of things?

Sure, but I'm not sure how to get access to the web pages cvs.
Could you point me to the magic runes please?

does https://gcc.gnu.org/about.html help?


Thanks, that helps. I'll whip something up.

Kyrill



I'd really love to migrate the pages to SVN as well, but haven't
had much time lately and importing the tree with history also seems
a bit tricky.  Any volunteers for that?

Gerald






Re: [AArch64] Add --enable-fix-cortex-a53-835769 configure-time option

2014-10-27 Thread Gerald Pfeifer
Hi Kyrill,

On Monday 2014-10-20 10:41, Kyrill Tkachov wrote:
>> Thank you.  Can you please also update gcc-5/changes.html on the
>> web side of things?
> Sure, but I'm not sure how to get access to the web pages cvs.
> Could you point me to the magic runes please?

does https://gcc.gnu.org/about.html help?

I'd really love to migrate the pages to SVN as well, but haven't
had much time lately and importing the tree with history also seems
a bit tricky.  Any volunteers for that?

Gerald


Re: [AArch64] Add --enable-fix-cortex-a53-835769 configure-time option

2014-10-20 Thread Kyrill Tkachov


On 19/10/14 21:31, Gerald Pfeifer wrote:

On Friday 2014-10-10 11:53, Kyrill Tkachov wrote:

This adds a new configure-time option --enable-fix-cortex-a53-835769 that
will enable the Cortex-A53 erratum fix by default
so you don't have to specify -mfix-cortex-a53-835769 every time.

Documentation in install.texi is added.

Thank you.  Can you please also update gcc-5/changes.html on the
web side of things?


Sure, but I'm not sure how to get access to the web pages cvs.
Could you point me to the magic runes please?

Thanks,
Kyrill



Gerald






Re: [AArch64] Add --enable-fix-cortex-a53-835769 configure-time option

2014-10-19 Thread Gerald Pfeifer

On Friday 2014-10-10 11:53, Kyrill Tkachov wrote:

This adds a new configure-time option --enable-fix-cortex-a53-835769 that
will enable the Cortex-A53 erratum fix by default
so you don't have to specify -mfix-cortex-a53-835769 every time.

Documentation in install.texi is added.


Thank you.  Can you please also update gcc-5/changes.html on the
web side of things?

Gerald


Re: [AArch64] Add --enable-fix-cortex-a53-835769 configure-time option

2014-10-10 Thread Marcus Shawcroft
On 10 October 2014 13:38, Kyrill Tkachov  wrote:

> Thanks Marcus, committed as r216076.
> Can this go to the 4.9 branch as well? It applies cleanly there (with
> appropriately regenerated configure) and I tested it there with bootstraps
> with and without the option.

Yes that's ok /Marcus


Re: [AArch64] Add --enable-fix-cortex-a53-835769 configure-time option

2014-10-10 Thread Kyrill Tkachov


On 10/10/14 13:25, Marcus Shawcroft wrote:

On 10 October 2014 11:53, Kyrill Tkachov  wrote:

Hi all,

This adds a new configure-time option --enable-fix-cortex-a53-835769 that
will enable the Cortex-A53 erratum fix by default
so you don't have to specify -mfix-cortex-a53-835769 every time.

Documentation in install.texi is added.

Ok for trunk?

Thanks,
Kyrill

 2014-10-10  Kyrylo Tkachov  

 * configure.ac: Add --enable-fix-cortex-a53-835769 option.
 * configure: Regenerate.
 * config/aarch64/aarch64.c (aarch64_override_options): Handle
 TARGET_FIX_ERR_A53_835769_DEFAULT.
 * config/aarch64/aarch64.opt (mfix-cortex-a53-835769): Set Init
 value to 2.
 * doc/install.texi (aarch64*-*-*): Document
 new --enable-fix-cortex-a53-835769 option.

OK /Marcus


Thanks Marcus, committed as r216076.
Can this go to the 4.9 branch as well? It applies cleanly there (with 
appropriately regenerated configure) and I tested it there with 
bootstraps with and without the option.


Kyrill








Re: [AArch64] Add --enable-fix-cortex-a53-835769 configure-time option

2014-10-10 Thread Marcus Shawcroft
On 10 October 2014 11:53, Kyrill Tkachov  wrote:
> Hi all,
>
> This adds a new configure-time option --enable-fix-cortex-a53-835769 that
> will enable the Cortex-A53 erratum fix by default
> so you don't have to specify -mfix-cortex-a53-835769 every time.
>
> Documentation in install.texi is added.
>
> Ok for trunk?
>
> Thanks,
> Kyrill
>
> 2014-10-10  Kyrylo Tkachov  
>
> * configure.ac: Add --enable-fix-cortex-a53-835769 option.
> * configure: Regenerate.
> * config/aarch64/aarch64.c (aarch64_override_options): Handle
> TARGET_FIX_ERR_A53_835769_DEFAULT.
> * config/aarch64/aarch64.opt (mfix-cortex-a53-835769): Set Init
> value to 2.
> * doc/install.texi (aarch64*-*-*): Document
> new --enable-fix-cortex-a53-835769 option.

OK /Marcus


[AArch64] Add --enable-fix-cortex-a53-835769 configure-time option

2014-10-10 Thread Kyrill Tkachov

Hi all,

This adds a new configure-time option --enable-fix-cortex-a53-835769 that
will enable the Cortex-A53 erratum fix by default
so you don't have to specify -mfix-cortex-a53-835769 every time.

Documentation in install.texi is added.

Ok for trunk?

Thanks,
Kyrill

2014-10-10  Kyrylo Tkachov  

* configure.ac: Add --enable-fix-cortex-a53-835769 option.
* configure: Regenerate.
* config/aarch64/aarch64.c (aarch64_override_options): Handle
TARGET_FIX_ERR_A53_835769_DEFAULT.
* config/aarch64/aarch64.opt (mfix-cortex-a53-835769): Set Init
value to 2.
* doc/install.texi (aarch64*-*-*): Document
new --enable-fix-cortex-a53-835769 option.
commit ed8a64d6a7a23919b6b6d3a76cad90b9eae8a530
Author: Kyrill Tkachov 
Date:   Wed Oct 8 16:28:25 2014 +

[AArch64] Add --enable-fix-cortex-a53-835769 configure switch.

2014-10-08  Kyrylo Tkachov  

	* configure.ac: Add --enable-fix-cortex-a53-835769 option.
	* configure: Regenerate.
	* config/aarch64/aarch64.c (aarch64_override_options): Handle
	TARGET_FIX_ERR_A53_835769_DEFAULT.
	* config/aarch64/aarch64.opt (mfix-cortex-a53-835769): Set Init
	value to 2.
	* doc/install.texi (aarch64*-*-*): Document
	new --enable-fix-cortex-a53-835769 option.

diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c
index 76a2480..db5ff59 100644
--- a/gcc/config/aarch64/aarch64.c
+++ b/gcc/config/aarch64/aarch64.c
@@ -6387,6 +6387,15 @@ aarch64_override_options (void)
   aarch64_tune = selected_tune->core;
   aarch64_tune_params = selected_tune->tune;
 
+  if (aarch64_fix_a53_err835769 == 2)
+{
+#ifdef TARGET_FIX_ERR_A53_835769_DEFAULT
+  aarch64_fix_a53_err835769 = 1;
+#else
+  aarch64_fix_a53_err835769 = 0;
+#endif
+}
+
   aarch64_override_options_after_change ();
 }
 
diff --git a/gcc/config/aarch64/aarch64.opt b/gcc/config/aarch64/aarch64.opt
index 77deb2e..fc0307e 100644
--- a/gcc/config/aarch64/aarch64.opt
+++ b/gcc/config/aarch64/aarch64.opt
@@ -68,7 +68,7 @@ Target Report RejectNegative Mask(GENERAL_REGS_ONLY)
 Generate code which uses only the general registers
 
 mfix-cortex-a53-835769
-Target Report Var(aarch64_fix_a53_err835769) Init(0)
+Target Report Var(aarch64_fix_a53_err835769) Init(2)
 Workaround for ARM Cortex-A53 Erratum number 835769
 
 mlittle-endian
diff --git a/gcc/configure b/gcc/configure
index 380a235..bd1215d 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -920,6 +920,7 @@ with_plugin_ld
 enable_gnu_indirect_function
 enable_initfini_array
 enable_comdat
+enable_fix_cortex_a53_835769
 with_glibc_version
 enable_gnu_unique_object
 enable_linker_build_id
@@ -1638,6 +1639,14 @@ Optional Features:
   glibc systems
   --enable-initfini-array	use .init_array/.fini_array sections
   --enable-comdat enable COMDAT group support
+
+  --enable-fix-cortex-a53-835769
+  enable workaround for AArch64 Cortex-A53 erratum
+  835769 by default
+  --disable-fix-cortex-a53-835769
+  disable workaround for AArch64 Cortex-A53 erratum
+  835769 by default
+
   --enable-gnu-unique-object
   enable the use of the @gnu_unique_object ELF
   extension on glibc systems
@@ -18049,7 +18058,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 18052 "configure"
+#line 18061 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -18155,7 +18164,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 18158 "configure"
+#line 18167 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -23979,6 +23988,25 @@ $as_echo "#define HAVE_AS_MABI_OPTION 1" >>confdefs.h
 done
   fi
 fi
+# Enable default workaround for AArch64 Cortex-A53 erratum 835769.
+# Check whether --enable-fix-cortex-a53-835769 was given.
+if test "${enable_fix_cortex_a53_835769+set}" = set; then :
+  enableval=$enable_fix_cortex_a53_835769;
+case $enableval in
+  yes)
+tm_defines="${tm_defines} TARGET_FIX_ERR_A53_835769_DEFAULT=1"
+;;
+  no)
+;;
+  *)
+as_fn_error "'$enableval' is an invalid value for --enable-fix-cortex-a53-835769.\
+  Valid choices are 'yes' and 'no'." "$LINENO" 5
+;;
+
+esac
+
+fi
+
 ;;
 
   # All TARGET_ABI_OSF targets.
diff --git a/gcc/configure.ac b/gcc/configure.ac
index eb480de..8f7c814 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -3526,6 +3526,29 @@ case "$target" in
 done
   fi
 fi
+# Enable default workaround for AArch64 Cortex-A53 erratum 835769.
+AC_ARG_ENABLE(fix-cortex-a53-835769,
+[
+AS_HELP_STRING([--enable-fix-cortex-a53-835769],
+[enab