From: Martin Storsjo Date: Wed, 23 Jan 2019 11:54:55 +0000 (+0000) Subject: [llvm-objcopy] [COFF] Error out on use of unhandled options X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=abacd83232acf69d7cbacd53fc2f9aae66c1a32e;p=llvm [llvm-objcopy] [COFF] Error out on use of unhandled options Prefer erroring out than silently not doing what was requested. Differential Revision: https://reviews.llvm.org/D57045 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@351948 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/tools/llvm-objcopy/COFF/COFFObjcopy.cpp b/tools/llvm-objcopy/COFF/COFFObjcopy.cpp index 64b4e79a4e0..b7b3d3cb629 100644 --- a/tools/llvm-objcopy/COFF/COFFObjcopy.cpp +++ b/tools/llvm-objcopy/COFF/COFFObjcopy.cpp @@ -170,6 +170,21 @@ static Error handleArgs(const CopyConfig &Config, Object &Obj) { if (!Config.AddGnuDebugLink.empty()) addGnuDebugLink(Obj, Config.AddGnuDebugLink); + if (!Config.BuildIdLinkDir.empty() || Config.BuildIdLinkInput || + Config.BuildIdLinkOutput || !Config.SplitDWO.empty() || + !Config.SymbolsPrefix.empty() || !Config.AddSection.empty() || + !Config.DumpSection.empty() || !Config.KeepSection.empty() || + !Config.SymbolsToGlobalize.empty() || !Config.SymbolsToKeep.empty() || + !Config.SymbolsToLocalize.empty() || !Config.SymbolsToWeaken.empty() || + !Config.SymbolsToKeepGlobal.empty() || !Config.SectionsToRename.empty() || + !Config.SymbolsToRename.empty() || Config.ExtractDWO || + Config.KeepFileSymbols || Config.LocalizeHidden || Config.PreserveDates || + Config.StripDWO || Config.StripNonAlloc || Config.StripSections || + Config.Weaken || Config.DecompressDebugSections) { + return createStringError(llvm::errc::invalid_argument, + "Option not supported by llvm-objcopy for COFF"); + } + return Error::success(); }