On 1 May 2015 at 10:11, Yvan Roux <yvan.r...@linaro.org> wrote: > Hi all, > > As described in the thread bellow, there is a link-time workaround for > an erratum (843419) of some early revision of Cortex-A53. Similarly > to what was done for a previous erratum, this patch adds a new > configure-time option --enable-fix-cortex-a53-843419 that pass down > the linker option --fix-cortex-a53-843419. > > I haven't implemented flags to explicitly disable/enable it during > compilation as it is only a linker workaround, but I can do it if you > think it's necessary.
Hi Yvan, In the case of the 835769 erratum, providing such GCC configury made (some) sense because the workaround included both a GCC and an LD component. GCC in effect needed the option to control GCC behaviour aswell as LD behaviour. The same is not true of 843419. The net effect of the proposed patch here is to provide a configure option in GCC to change the default behaviour of LD, with no other purpose within GCC itself. This seems rather bizarre to me. I would have thought that if the sole objective is to change the default behaviour of LD, then there should be configure time options on LD, rather than GCC. That said, I can also see that providing consistent behaviour across these various work around configure options and consistent run time options for the user will reduce confusion in the future, both for folks building toolchains and for the folks using them. From this perspective I think it would be better to go with this patch *and* include the flags explicitly such the both of the current workaround have equivalent configury behaviour and have equivalent user flags at run time. Cheers /Marcus > > https://sourceware.org/ml/binutils-cvs/2015-04/msg00012.html > > Is it ok for trunk and/or branches ? > > Thanks, > Yvan > > 2015-05-01 Yvan Roux <yvan.r...@linaro.org> > > * configure.ac: Add --enable-fix-cortex-a53-843419 option. > * configure: Regenerate. > * config/aarch64/aarch64-elf-raw.h (CA53_ERR_843419_SPEC): Define. > (LINK_SPEC): Include CA53_ERR_843419_SPEC. > * config/aarch64/aarch64-linux.h (CA53_ERR_843419_SPEC): Define. > (LINK_SPEC): Include CA53_ERR_843419_SPEC. > * doc/install.texi (aarch64*-*-*): Document > new --enable-fix-cortex-a53-843419 option.