diff --git a/lld/ELF/Driver.cpp b/lld/ELF/Driver.cpp index daf16ed3ca444ad4c336df0c0201d7d8b672584c..56b0761f477663571473695d6c32a985869c8211 100644 --- a/lld/ELF/Driver.cpp +++ b/lld/ELF/Driver.cpp @@ -1126,7 +1126,8 @@ static void readConfigs(opt::InputArgList &args) { config->filterList = args::getStrings(args, OPT_filter); config->fini = args.getLastArgValue(OPT_fini, "_fini"); config->fixCortexA53Errata843419 = args.hasArg(OPT_fix_cortex_a53_843419) && - !args.hasArg(OPT_relocatable); + !args.hasArg(OPT_relocatable) && + !args.hasArg(OPT_ignore_fix_cortex_a53_843419); config->fixCortexA8 = args.hasArg(OPT_fix_cortex_a8) && !args.hasArg(OPT_relocatable); config->fortranCommon = diff --git a/lld/ELF/Options.td b/lld/ELF/Options.td index 4e6c20f5c7f6014f4f23ed17b0962212966989c6..43530472a440186037311d6974e2fff87f110e38 100644 --- a/lld/ELF/Options.td +++ b/lld/ELF/Options.td @@ -216,6 +216,9 @@ defm fini: Eq<"fini", "Specify a finalizer function">, MetaVarName<"">; def fix_cortex_a53_843419: F<"fix-cortex-a53-843419">, HelpText<"Apply fixes for AArch64 Cortex-A53 erratum 843419">; +def ignore_fix_cortex_a53_843419: F<"ignore-fix-cortex-a53-843419">, + HelpText<"Ignore apply fixes for AArch64 Cortex-A53 erratum 843419">; + def fix_cortex_a8: F<"fix-cortex-a8">, HelpText<"Apply fixes for ARM Cortex-A8 erratum 657417">;