diff --git a/llvm/tools/llvm-objcopy/ConfigManager.cpp b/llvm/tools/llvm-objcopy/ConfigManager.cpp --- a/llvm/tools/llvm-objcopy/ConfigManager.cpp +++ b/llvm/tools/llvm-objcopy/ConfigManager.cpp @@ -22,8 +22,8 @@ #include "llvm/Support/StringSaver.h" #include -namespace llvm { -namespace objcopy { +using namespace llvm; +using namespace llvm::objcopy; namespace { enum ObjcopyID { @@ -273,10 +273,12 @@ return SFU; } +namespace { struct TargetInfo { FileFormat Format; MachineInfo Machine; }; +} // namespace // FIXME: consolidate with the bfd parsing used by lld. static const StringMap TargetMap{ @@ -338,10 +340,9 @@ return {TargetInfo{Format, MI}}; } -static Error -addSymbolsFromFile(NameMatcher &Symbols, BumpPtrAllocator &Alloc, - StringRef Filename, MatchStyle MS, - llvm::function_ref ErrorCallback) { +static Error addSymbolsFromFile(NameMatcher &Symbols, BumpPtrAllocator &Alloc, + StringRef Filename, MatchStyle MS, + function_ref ErrorCallback) { StringSaver Saver(Alloc); SmallVector Lines; auto BufOrErr = MemoryBuffer::getFile(Filename); @@ -364,7 +365,7 @@ Expected NameOrPattern::create(StringRef Pattern, MatchStyle MS, - llvm::function_ref ErrorCallback) { + function_ref ErrorCallback) { switch (MS) { case MatchStyle::Literal: return NameOrPattern(Pattern); @@ -630,8 +631,8 @@ // help flag is set then ParseObjcopyOptions will print the help messege and // exit. Expected -parseObjcopyOptions(ArrayRef RawArgsArr, - llvm::function_ref ErrorCallback) { +objcopy::parseObjcopyOptions(ArrayRef RawArgsArr, + function_ref ErrorCallback) { DriverConfig DC; ObjcopyOptTable T; @@ -1051,7 +1052,7 @@ // If a help flag is set then ParseInstallNameToolOptions will print the help // messege and exit. Expected -parseInstallNameToolOptions(ArrayRef ArgsArr) { +objcopy::parseInstallNameToolOptions(ArrayRef ArgsArr) { DriverConfig DC; ConfigManager ConfigMgr; CommonConfig &Config = ConfigMgr.Common; @@ -1183,7 +1184,7 @@ } Expected -parseBitcodeStripOptions(ArrayRef ArgsArr) { +objcopy::parseBitcodeStripOptions(ArrayRef ArgsArr) { DriverConfig DC; ConfigManager ConfigMgr; CommonConfig &Config = ConfigMgr.Common; @@ -1231,8 +1232,8 @@ // help flag is set then ParseStripOptions will print the help messege and // exit. Expected -parseStripOptions(ArrayRef RawArgsArr, - llvm::function_ref ErrorCallback) { +objcopy::parseStripOptions(ArrayRef RawArgsArr, + function_ref ErrorCallback) { const char *const *DashDash = std::find_if(RawArgsArr.begin(), RawArgsArr.end(), [](StringRef Str) { return Str == "--"; }); @@ -1378,6 +1379,3 @@ return std::move(DC); } - -} // namespace objcopy -} // namespace llvm diff --git a/llvm/tools/llvm-objcopy/ELF/ELFObjcopy.cpp b/llvm/tools/llvm-objcopy/ELF/ELFObjcopy.cpp --- a/llvm/tools/llvm-objcopy/ELF/ELFObjcopy.cpp +++ b/llvm/tools/llvm-objcopy/ELF/ELFObjcopy.cpp @@ -45,12 +45,12 @@ #include #include -namespace llvm { -namespace objcopy { -namespace elf { +using namespace llvm; +using namespace llvm::ELF; +using namespace llvm::objcopy; +using namespace llvm::objcopy::elf; +using namespace llvm::object; -using namespace object; -using namespace ELF; using SectionPred = std::function; static bool isDebugSection(const SectionBase &Sec) { @@ -71,7 +71,7 @@ return !isDWOSection(Sec); } -uint64_t getNewShfFlags(SectionFlag AllFlags) { +static uint64_t getNewShfFlags(SectionFlag AllFlags) { uint64_t NewFlags = 0; if (AllFlags & SectionFlag::SecAlloc) NewFlags |= ELF::SHF_ALLOC; @@ -719,9 +719,9 @@ return Writer->write(); } -Error executeObjcopyOnIHex(const CommonConfig &Config, - const ELFConfig &ELFConfig, MemoryBuffer &In, - raw_ostream &Out) { +Error objcopy::elf::executeObjcopyOnIHex(const CommonConfig &Config, + const ELFConfig &ELFConfig, + MemoryBuffer &In, raw_ostream &Out) { IHexReader Reader(&In); Expected> Obj = Reader.create(true); if (!Obj) @@ -734,9 +734,10 @@ return writeOutput(Config, **Obj, Out, OutputElfType); } -Error executeObjcopyOnRawBinary(const CommonConfig &Config, - const ELFConfig &ELFConfig, MemoryBuffer &In, - raw_ostream &Out) { +Error objcopy::elf::executeObjcopyOnRawBinary(const CommonConfig &Config, + const ELFConfig &ELFConfig, + MemoryBuffer &In, + raw_ostream &Out) { BinaryReader Reader(&In, ELFConfig.NewSymbolVisibility); Expected> Obj = Reader.create(true); if (!Obj) @@ -751,9 +752,10 @@ return writeOutput(Config, **Obj, Out, OutputElfType); } -Error executeObjcopyOnBinary(const CommonConfig &Config, - const ELFConfig &ELFConfig, - object::ELFObjectFileBase &In, raw_ostream &Out) { +Error objcopy::elf::executeObjcopyOnBinary(const CommonConfig &Config, + const ELFConfig &ELFConfig, + object::ELFObjectFileBase &In, + raw_ostream &Out) { ELFReader Reader(&In, Config.ExtractPartition); Expected> Obj = Reader.create(!Config.SymbolsToAdd.empty()); @@ -772,7 +774,3 @@ return Error::success(); } - -} // end namespace elf -} // end namespace objcopy -} // end namespace llvm diff --git a/llvm/tools/llvm-objcopy/ELF/Object.cpp b/llvm/tools/llvm-objcopy/ELF/Object.cpp --- a/llvm/tools/llvm-objcopy/ELF/Object.cpp +++ b/llvm/tools/llvm-objcopy/ELF/Object.cpp @@ -29,12 +29,10 @@ #include #include -namespace llvm { -namespace objcopy { -namespace elf { - -using namespace object; -using namespace ELF; +using namespace llvm; +using namespace llvm::ELF; +using namespace llvm::objcopy::elf; +using namespace llvm::object; template void ELFWriter::writePhdr(const Segment &Seg) { uint8_t *B = reinterpret_cast(Buf->getBufferStart()) + @@ -192,7 +190,7 @@ // Fills exactly Len bytes of buffer with hexadecimal characters // representing value 'X' template -static Iterator utohexstr(T X, Iterator It, size_t Len) { +static Iterator toHexStr(T X, Iterator It, size_t Len) { // Fill range with '0' std::fill(It, It + Len, '0'); @@ -221,13 +219,13 @@ assert(Line.size()); auto Iter = Line.begin(); *Iter++ = ':'; - Iter = utohexstr(Data.size(), Iter, 2); - Iter = utohexstr(Addr, Iter, 4); - Iter = utohexstr(Type, Iter, 2); + Iter = toHexStr(Data.size(), Iter, 2); + Iter = toHexStr(Addr, Iter, 4); + Iter = toHexStr(Type, Iter, 2); for (uint8_t X : Data) - Iter = utohexstr(X, Iter, 2); + Iter = toHexStr(X, Iter, 2); StringRef S(Line.data() + 1, std::distance(Line.begin() + 1, Iter)); - Iter = utohexstr(getChecksum(S), Iter, 2); + Iter = toHexStr(getChecksum(S), Iter, 2); *Iter++ = '\r'; *Iter++ = '\n'; assert(Iter == Line.end()); @@ -2706,6 +2704,10 @@ return Error::success(); } +namespace llvm { +namespace objcopy { +namespace elf { + template class ELFBuilder; template class ELFBuilder; template class ELFBuilder;