diff options
Diffstat (limited to 'lib/ReaderWriter/MachO')
-rw-r--r-- | lib/ReaderWriter/MachO/ArchHandler.h | 2 | ||||
-rw-r--r-- | lib/ReaderWriter/MachO/CMakeLists.txt | 2 | ||||
-rw-r--r-- | lib/ReaderWriter/MachO/CompactUnwindPass.cpp | 2 | ||||
-rw-r--r-- | lib/ReaderWriter/MachO/FlatNamespaceFile.h | 2 | ||||
-rw-r--r-- | lib/ReaderWriter/MachO/GOTPass.cpp | 2 | ||||
-rw-r--r-- | lib/ReaderWriter/MachO/MachOLinkingContext.cpp | 2 | ||||
-rw-r--r-- | lib/ReaderWriter/MachO/MachONormalizedFile.h | 11 | ||||
-rw-r--r-- | lib/ReaderWriter/MachO/MachONormalizedFileBinaryReader.cpp | 7 | ||||
-rw-r--r-- | lib/ReaderWriter/MachO/MachONormalizedFileBinaryUtils.h | 2 | ||||
-rw-r--r-- | lib/ReaderWriter/MachO/MachONormalizedFileBinaryWriter.cpp | 11 | ||||
-rw-r--r-- | lib/ReaderWriter/MachO/MachONormalizedFileFromAtoms.cpp | 2 | ||||
-rw-r--r-- | lib/ReaderWriter/MachO/MachONormalizedFileToAtoms.cpp | 2 | ||||
-rw-r--r-- | lib/ReaderWriter/MachO/MachONormalizedFileYAML.cpp | 8 | ||||
-rw-r--r-- | lib/ReaderWriter/MachO/ObjCPass.cpp | 2 | ||||
-rw-r--r-- | lib/ReaderWriter/MachO/ShimPass.cpp | 2 | ||||
-rw-r--r-- | lib/ReaderWriter/MachO/StubsPass.cpp | 2 |
16 files changed, 29 insertions, 32 deletions
diff --git a/lib/ReaderWriter/MachO/ArchHandler.h b/lib/ReaderWriter/MachO/ArchHandler.h index 6028006ca9d9c..80840b561701c 100644 --- a/lib/ReaderWriter/MachO/ArchHandler.h +++ b/lib/ReaderWriter/MachO/ArchHandler.h @@ -13,7 +13,7 @@ #include "Atoms.h" #include "File.h" #include "MachONormalizedFile.h" -#include "lld/Core/LLVM.h" +#include "lld/Common/LLVM.h" #include "lld/Core/Error.h" #include "lld/Core/Reference.h" #include "lld/Core/Simple.h" diff --git a/lib/ReaderWriter/MachO/CMakeLists.txt b/lib/ReaderWriter/MachO/CMakeLists.txt index 5a96d87f1f7a1..f2fc34772496c 100644 --- a/lib/ReaderWriter/MachO/CMakeLists.txt +++ b/lib/ReaderWriter/MachO/CMakeLists.txt @@ -21,9 +21,9 @@ add_lld_library(lldMachO LINK_COMPONENTS DebugInfoDWARF + Demangle Object Support - Demangle LINK_LIBS lldCore diff --git a/lib/ReaderWriter/MachO/CompactUnwindPass.cpp b/lib/ReaderWriter/MachO/CompactUnwindPass.cpp index 49d518456a459..1e210409237f8 100644 --- a/lib/ReaderWriter/MachO/CompactUnwindPass.cpp +++ b/lib/ReaderWriter/MachO/CompactUnwindPass.cpp @@ -17,9 +17,9 @@ #include "File.h" #include "MachONormalizedFileBinaryUtils.h" #include "MachOPasses.h" +#include "lld/Common/LLVM.h" #include "lld/Core/DefinedAtom.h" #include "lld/Core/File.h" -#include "lld/Core/LLVM.h" #include "lld/Core/Reference.h" #include "lld/Core/Simple.h" #include "llvm/ADT/DenseMap.h" diff --git a/lib/ReaderWriter/MachO/FlatNamespaceFile.h b/lib/ReaderWriter/MachO/FlatNamespaceFile.h index 76d295841c9dc..7ccd4f19f834c 100644 --- a/lib/ReaderWriter/MachO/FlatNamespaceFile.h +++ b/lib/ReaderWriter/MachO/FlatNamespaceFile.h @@ -10,7 +10,9 @@ #ifndef LLD_READER_WRITER_MACHO_FLAT_NAMESPACE_FILE_H #define LLD_READER_WRITER_MACHO_FLAT_NAMESPACE_FILE_H +#include "Atoms.h" #include "lld/Core/SharedLibraryFile.h" +#include "lld/ReaderWriter/MachOLinkingContext.h" #include "llvm/Support/Debug.h" namespace lld { diff --git a/lib/ReaderWriter/MachO/GOTPass.cpp b/lib/ReaderWriter/MachO/GOTPass.cpp index 8458a1c79282a..49e6f88d4aa43 100644 --- a/lib/ReaderWriter/MachO/GOTPass.cpp +++ b/lib/ReaderWriter/MachO/GOTPass.cpp @@ -35,9 +35,9 @@ #include "ArchHandler.h" #include "File.h" #include "MachOPasses.h" +#include "lld/Common/LLVM.h" #include "lld/Core/DefinedAtom.h" #include "lld/Core/File.h" -#include "lld/Core/LLVM.h" #include "lld/Core/Reference.h" #include "lld/Core/Simple.h" #include "llvm/ADT/DenseMap.h" diff --git a/lib/ReaderWriter/MachO/MachOLinkingContext.cpp b/lib/ReaderWriter/MachO/MachOLinkingContext.cpp index 7e7b559b150ab..4ef7a62a8297d 100644 --- a/lib/ReaderWriter/MachO/MachOLinkingContext.cpp +++ b/lib/ReaderWriter/MachO/MachOLinkingContext.cpp @@ -14,11 +14,11 @@ #include "MachONormalizedFile.h" #include "MachOPasses.h" #include "SectCreateFile.h" +#include "lld/Common/Driver.h" #include "lld/Core/ArchiveLibraryFile.h" #include "lld/Core/PassManager.h" #include "lld/Core/Reader.h" #include "lld/Core/Writer.h" -#include "lld/Driver/Driver.h" #include "llvm/ADT/STLExtras.h" #include "llvm/ADT/StringExtras.h" #include "llvm/ADT/Triple.h" diff --git a/lib/ReaderWriter/MachO/MachONormalizedFile.h b/lib/ReaderWriter/MachO/MachONormalizedFile.h index 31b24dfd10251..7eeb8adbd84f9 100644 --- a/lib/ReaderWriter/MachO/MachONormalizedFile.h +++ b/lib/ReaderWriter/MachO/MachONormalizedFile.h @@ -43,8 +43,8 @@ #define LLD_READER_WRITER_MACHO_NORMALIZE_FILE_H #include "DebugInfo.h" +#include "lld/Common/LLVM.h" #include "lld/Core/Error.h" -#include "lld/Core/LLVM.h" #include "lld/ReaderWriter/MachOLinkingContext.h" #include "llvm/ADT/SmallString.h" #include "llvm/ADT/StringRef.h" @@ -124,15 +124,6 @@ struct Section { ArrayRef<uint8_t> content; Relocations relocations; IndirectSymbols indirectSymbols; - -#ifndef NDEBUG - raw_ostream& operator<<(raw_ostream &OS) const { - dump(OS); - return OS; - } - - void dump(raw_ostream &OS = llvm::dbgs()) const; -#endif }; diff --git a/lib/ReaderWriter/MachO/MachONormalizedFileBinaryReader.cpp b/lib/ReaderWriter/MachO/MachONormalizedFileBinaryReader.cpp index b54054726dfe2..7c2e833c090f9 100644 --- a/lib/ReaderWriter/MachO/MachONormalizedFileBinaryReader.cpp +++ b/lib/ReaderWriter/MachO/MachONormalizedFileBinaryReader.cpp @@ -24,8 +24,8 @@ #include "ArchHandler.h" #include "MachONormalizedFile.h" #include "MachONormalizedFileBinaryUtils.h" +#include "lld/Common/LLVM.h" #include "lld/Core/Error.h" -#include "lld/Core/LLVM.h" #include "lld/Core/SharedLibraryFile.h" #include "llvm/ADT/STLExtras.h" #include "llvm/ADT/SmallString.h" @@ -511,7 +511,8 @@ readBinary(std::unique_ptr<MemoryBuffer> &mb, const uint8_t *trieStart = reinterpret_cast<const uint8_t *>( start + read32(&dyldInfo->export_off, isBig)); ArrayRef<uint8_t> trie(trieStart, read32(&dyldInfo->export_size, isBig)); - for (const ExportEntry &trieExport : MachOObjectFile::exports(trie)) { + Error Err = Error::success(); + for (const ExportEntry &trieExport : MachOObjectFile::exports(Err, trie)) { Export normExport; normExport.name = trieExport.name().copy(f->ownedAllocations); normExport.offset = trieExport.address(); @@ -522,6 +523,8 @@ readBinary(std::unique_ptr<MemoryBuffer> &mb, normExport.otherName = trieExport.otherName().copy(f->ownedAllocations); f->exportInfo.push_back(normExport); } + if (Err) + return std::move(Err); } } diff --git a/lib/ReaderWriter/MachO/MachONormalizedFileBinaryUtils.h b/lib/ReaderWriter/MachO/MachONormalizedFileBinaryUtils.h index b38f7059228fd..407bd9b970205 100644 --- a/lib/ReaderWriter/MachO/MachONormalizedFileBinaryUtils.h +++ b/lib/ReaderWriter/MachO/MachONormalizedFileBinaryUtils.h @@ -11,8 +11,8 @@ #define LLD_READER_WRITER_MACHO_NORMALIZED_FILE_BINARY_UTILS_H #include "MachONormalizedFile.h" +#include "lld/Common/LLVM.h" #include "lld/Core/Error.h" -#include "lld/Core/LLVM.h" #include "llvm/ADT/StringRef.h" #include "llvm/BinaryFormat/MachO.h" #include "llvm/Support/Casting.h" diff --git a/lib/ReaderWriter/MachO/MachONormalizedFileBinaryWriter.cpp b/lib/ReaderWriter/MachO/MachONormalizedFileBinaryWriter.cpp index bac41d2a52bfb..7ef0237e8c36c 100644 --- a/lib/ReaderWriter/MachO/MachONormalizedFileBinaryWriter.cpp +++ b/lib/ReaderWriter/MachO/MachONormalizedFileBinaryWriter.cpp @@ -23,8 +23,8 @@ #include "MachONormalizedFile.h" #include "MachONormalizedFileBinaryUtils.h" +#include "lld/Common/LLVM.h" #include "lld/Core/Error.h" -#include "lld/Core/LLVM.h" #include "llvm/ADT/SmallString.h" #include "llvm/ADT/SmallVector.h" #include "llvm/ADT/StringRef.h" @@ -1523,10 +1523,10 @@ llvm::Error MachOFileLayout::writeBinary(StringRef path) { unsigned flags = 0; if (_file.fileType != llvm::MachO::MH_OBJECT) flags = llvm::FileOutputBuffer::F_executable; - ErrorOr<std::unique_ptr<llvm::FileOutputBuffer>> fobOrErr = + Expected<std::unique_ptr<llvm::FileOutputBuffer>> fobOrErr = llvm::FileOutputBuffer::create(path, size(), flags); - if (std::error_code ec = fobOrErr.getError()) - return llvm::errorCodeToError(ec); + if (Error E = fobOrErr.takeError()) + return E; std::unique_ptr<llvm::FileOutputBuffer> &fob = *fobOrErr; // Write content. _buffer = fob->getBufferStart(); @@ -1535,7 +1535,8 @@ llvm::Error MachOFileLayout::writeBinary(StringRef path) { return ec; writeSectionContent(); writeLinkEditContent(); - fob->commit(); + if (Error E = fob->commit()) + return E; return llvm::Error::success(); } diff --git a/lib/ReaderWriter/MachO/MachONormalizedFileFromAtoms.cpp b/lib/ReaderWriter/MachO/MachONormalizedFileFromAtoms.cpp index f2e5ed7816788..e93ca86c3164a 100644 --- a/lib/ReaderWriter/MachO/MachONormalizedFileFromAtoms.cpp +++ b/lib/ReaderWriter/MachO/MachONormalizedFileFromAtoms.cpp @@ -24,8 +24,8 @@ #include "DebugInfo.h" #include "MachONormalizedFile.h" #include "MachONormalizedFileBinaryUtils.h" +#include "lld/Common/LLVM.h" #include "lld/Core/Error.h" -#include "lld/Core/LLVM.h" #include "llvm/ADT/StringRef.h" #include "llvm/ADT/StringSwitch.h" #include "llvm/BinaryFormat/MachO.h" diff --git a/lib/ReaderWriter/MachO/MachONormalizedFileToAtoms.cpp b/lib/ReaderWriter/MachO/MachONormalizedFileToAtoms.cpp index 226a25d3c1ed9..3b07a40f9bf2d 100644 --- a/lib/ReaderWriter/MachO/MachONormalizedFileToAtoms.cpp +++ b/lib/ReaderWriter/MachO/MachONormalizedFileToAtoms.cpp @@ -25,8 +25,8 @@ #include "File.h" #include "MachONormalizedFile.h" #include "MachONormalizedFileBinaryUtils.h" +#include "lld/Common/LLVM.h" #include "lld/Core/Error.h" -#include "lld/Core/LLVM.h" #include "llvm/BinaryFormat/Dwarf.h" #include "llvm/BinaryFormat/MachO.h" #include "llvm/DebugInfo/DWARF/DWARFFormValue.h" diff --git a/lib/ReaderWriter/MachO/MachONormalizedFileYAML.cpp b/lib/ReaderWriter/MachO/MachONormalizedFileYAML.cpp index 5233e42e5fc5d..92a646dab5e03 100644 --- a/lib/ReaderWriter/MachO/MachONormalizedFileYAML.cpp +++ b/lib/ReaderWriter/MachO/MachONormalizedFileYAML.cpp @@ -16,8 +16,8 @@ /// +------------+ +------+ #include "MachONormalizedFile.h" +#include "lld/Common/LLVM.h" #include "lld/Core/Error.h" -#include "lld/Core/LLVM.h" #include "lld/ReaderWriter/YamlContext.h" #include "llvm/ADT/SmallString.h" #include "llvm/ADT/StringRef.h" @@ -257,7 +257,7 @@ template <> struct ScalarTraits<SectionAlignment> { return StringRef(); // returning empty string means success } - static bool mustQuote(StringRef) { return false; } + static QuotingType mustQuote(StringRef) { return QuotingType::None; } }; template <> @@ -522,7 +522,7 @@ struct ScalarTraits<VMProtect> { // Return the empty string on success, return StringRef(); } - static bool mustQuote(StringRef) { return false; } + static QuotingType mustQuote(StringRef) { return QuotingType::None; } }; @@ -706,7 +706,7 @@ struct ScalarTraits<PackedVersion> { // Return the empty string on success, return StringRef(); } - static bool mustQuote(StringRef) { return false; } + static QuotingType mustQuote(StringRef) { return QuotingType::None; } }; template <> diff --git a/lib/ReaderWriter/MachO/ObjCPass.cpp b/lib/ReaderWriter/MachO/ObjCPass.cpp index ccea081f053dc..23c71e0f5ecd9 100644 --- a/lib/ReaderWriter/MachO/ObjCPass.cpp +++ b/lib/ReaderWriter/MachO/ObjCPass.cpp @@ -13,9 +13,9 @@ #include "File.h" #include "MachONormalizedFileBinaryUtils.h" #include "MachOPasses.h" +#include "lld/Common/LLVM.h" #include "lld/Core/DefinedAtom.h" #include "lld/Core/File.h" -#include "lld/Core/LLVM.h" #include "lld/Core/Reference.h" #include "lld/Core/Simple.h" #include "lld/ReaderWriter/MachOLinkingContext.h" diff --git a/lib/ReaderWriter/MachO/ShimPass.cpp b/lib/ReaderWriter/MachO/ShimPass.cpp index ff559d70eabe7..8a2d2e910cad8 100644 --- a/lib/ReaderWriter/MachO/ShimPass.cpp +++ b/lib/ReaderWriter/MachO/ShimPass.cpp @@ -26,9 +26,9 @@ #include "ArchHandler.h" #include "File.h" #include "MachOPasses.h" +#include "lld/Common/LLVM.h" #include "lld/Core/DefinedAtom.h" #include "lld/Core/File.h" -#include "lld/Core/LLVM.h" #include "lld/Core/Reference.h" #include "lld/Core/Simple.h" #include "lld/ReaderWriter/MachOLinkingContext.h" diff --git a/lib/ReaderWriter/MachO/StubsPass.cpp b/lib/ReaderWriter/MachO/StubsPass.cpp index 19e2bc592f5c1..04c586df336c7 100644 --- a/lib/ReaderWriter/MachO/StubsPass.cpp +++ b/lib/ReaderWriter/MachO/StubsPass.cpp @@ -17,9 +17,9 @@ #include "ArchHandler.h" #include "File.h" #include "MachOPasses.h" +#include "lld/Common/LLVM.h" #include "lld/Core/DefinedAtom.h" #include "lld/Core/File.h" -#include "lld/Core/LLVM.h" #include "lld/Core/Reference.h" #include "lld/Core/Simple.h" #include "lld/ReaderWriter/MachOLinkingContext.h" |