Index: lld/trunk/COFF/LTO.cpp =================================================================== --- lld/trunk/COFF/LTO.cpp +++ lld/trunk/COFF/LTO.cpp @@ -60,6 +60,8 @@ C.DisableVerify = true; C.DiagHandler = diagnosticHandler; C.OptLevel = Config->LTOO; + C.MAttrs = GetMAttrs(); + if (Config->SaveTemps) checkError(C.addSaveTemps(std::string(Config->OutputFile) + ".", /*UseInputModulePath*/ true)); Index: lld/trunk/Common/TargetOptionsCommandFlags.cpp =================================================================== --- lld/trunk/Common/TargetOptionsCommandFlags.cpp +++ lld/trunk/Common/TargetOptionsCommandFlags.cpp @@ -32,3 +32,4 @@ } std::string lld::GetCPUStr() { return ::getCPUStr(); } +std::vector lld::GetMAttrs() { return ::MAttrs; } Index: lld/trunk/ELF/LTO.cpp =================================================================== --- lld/trunk/ELF/LTO.cpp +++ lld/trunk/ELF/LTO.cpp @@ -88,6 +88,7 @@ C.DiagHandler = diagnosticHandler; C.OptLevel = Config->LTOO; C.CPU = GetCPUStr(); + C.MAttrs = GetMAttrs(); // Set up a custom pipeline if we've been asked to. C.OptPipeline = Config->LTONewPmPasses; Index: lld/trunk/include/lld/Common/TargetOptionsCommandFlags.h =================================================================== --- lld/trunk/include/lld/Common/TargetOptionsCommandFlags.h +++ lld/trunk/include/lld/Common/TargetOptionsCommandFlags.h @@ -19,4 +19,5 @@ llvm::TargetOptions InitTargetOptionsFromCodeGenFlags(); llvm::Optional GetCodeModelFromCMModel(); std::string GetCPUStr(); +std::vector GetMAttrs(); } Index: lld/trunk/wasm/LTO.cpp =================================================================== --- lld/trunk/wasm/LTO.cpp +++ lld/trunk/wasm/LTO.cpp @@ -55,6 +55,7 @@ C.DisableVerify = Config->DisableVerify; C.DiagHandler = diagnosticHandler; C.OptLevel = Config->LTOO; + C.MAttrs = GetMAttrs(); if (Config->SaveTemps) checkError(C.addSaveTemps(Config->OutputFile.str() + ".",