[AArch64] Add --enable-fix-cortex-a53-835769 configure-time option
* 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. From-SVN: r216076
This commit is contained in:
parent
75cf149453
commit
5e396da6b4
6 changed files with 84 additions and 3 deletions
|
@ -1,3 +1,14 @@
|
|||
2014-10-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
|
||||
|
||||
* 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.
|
||||
|
||||
2014-10-10 Kyrylo Tkachov<kyrylo.tkachov@arm.com>
|
||||
Ramana Radhakrishnan<ramana.radhakrishnan@arm.com>
|
||||
|
||||
|
|
|
@ -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 ();
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
32
gcc/configure
vendored
32
gcc/configure
vendored
|
@ -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.
|
||||
|
|
|
@ -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],
|
||||
[enable workaround for AArch64 Cortex-A53 erratum 835769 by default])
|
||||
AS_HELP_STRING([--disable-fix-cortex-a53-835769],
|
||||
[disable workaround for AArch64 Cortex-A53 erratum 835769 by default])
|
||||
],
|
||||
[
|
||||
case $enableval in
|
||||
yes)
|
||||
tm_defines="${tm_defines} TARGET_FIX_ERR_A53_835769_DEFAULT=1"
|
||||
;;
|
||||
no)
|
||||
;;
|
||||
*)
|
||||
AC_MSG_ERROR(['$enableval' is an invalid value for --enable-fix-cortex-a53-835769.\
|
||||
Valid choices are 'yes' and 'no'.])
|
||||
;;
|
||||
|
||||
esac
|
||||
],
|
||||
[])
|
||||
;;
|
||||
|
||||
# All TARGET_ABI_OSF targets.
|
||||
|
|
|
@ -3762,6 +3762,16 @@ Binutils pre 2.24 does not have support for selecting @option{-mabi} and
|
|||
does not support ILP32. If it is used to build GCC 4.9 or later, GCC will
|
||||
not support option @option{-mabi=ilp32}.
|
||||
|
||||
To enable a workaround for the Cortex-A53 erratum number 835769 by default
|
||||
(for all CPUs regardless of -mcpu option given) at configure time use the
|
||||
@option{--enable-fix-cortex-a53-835769} option. This will enable the fix by
|
||||
default and can be explicitly disabled during during compilation by passing the
|
||||
@option{-mno-fix-cortex-a53-835769} option. Conversely,
|
||||
@option{--disable-fix-cortex-a53-835769} will disable the workaround by
|
||||
default. The workaround is disabled by default if neither of
|
||||
@option{--enable-fix-cortex-a53-835769} or
|
||||
@option{--disable-fix-cortex-a53-835769} is given at configure time.
|
||||
|
||||
@html
|
||||
<hr />
|
||||
<!-- rs6000-ibm-aix*, powerpc-ibm-aix* -->
|
||||
|
|
Loading…
Add table
Reference in a new issue