diff options
Diffstat (limited to 'lld/lib')
-rw-r--r-- | lld/lib/Driver/DarwinLdDriver.cpp | 2 | ||||
-rw-r--r-- | lld/lib/ReaderWriter/MachO/MachOLinkingContext.cpp | 4 | ||||
-rw-r--r-- | lld/lib/ReaderWriter/MachO/MachONormalizedFileFromAtoms.cpp | 9 |
3 files changed, 7 insertions, 8 deletions
diff --git a/lld/lib/Driver/DarwinLdDriver.cpp b/lld/lib/Driver/DarwinLdDriver.cpp index 68dc3946d9c..fc7e675686d 100644 --- a/lld/lib/Driver/DarwinLdDriver.cpp +++ b/lld/lib/Driver/DarwinLdDriver.cpp @@ -479,7 +479,7 @@ bool DarwinLdDriver::parse(int argc, const char *argv[], << alignStr << "' not a valid number\n"; return false; } - uint8_t align2 = llvm::countTrailingZeros(alignValue); + PowerOf2 align2 = llvm::countTrailingZeros(alignValue); if (!llvm::isPowerOf2_64(alignValue)) { diagnostics << "warning: alignment for '-sectalign " << segName << " " << sectName diff --git a/lld/lib/ReaderWriter/MachO/MachOLinkingContext.cpp b/lld/lib/ReaderWriter/MachO/MachOLinkingContext.cpp index 92385cf3e82..1ae5be41fc4 100644 --- a/lld/lib/ReaderWriter/MachO/MachOLinkingContext.cpp +++ b/lld/lib/ReaderWriter/MachO/MachOLinkingContext.cpp @@ -731,7 +731,7 @@ ArchHandler &MachOLinkingContext::archHandler() const { void MachOLinkingContext::addSectionAlignment(StringRef seg, StringRef sect, - uint8_t align2) { + PowerOf2 align2) { SectionAlign entry; entry.segmentName = seg; entry.sectionName = sect; @@ -740,7 +740,7 @@ void MachOLinkingContext::addSectionAlignment(StringRef seg, StringRef sect, } bool MachOLinkingContext::sectionAligned(StringRef seg, StringRef sect, - uint8_t &align2) const { + PowerOf2 &align2) const { for (const SectionAlign &entry : _sectAligns) { if (seg.equals(entry.segmentName) && sect.equals(entry.sectionName)) { align2 = entry.align2; diff --git a/lld/lib/ReaderWriter/MachO/MachONormalizedFileFromAtoms.cpp b/lld/lib/ReaderWriter/MachO/MachONormalizedFileFromAtoms.cpp index 4d6183f71df..eda11726cc7 100644 --- a/lld/lib/ReaderWriter/MachO/MachONormalizedFileFromAtoms.cpp +++ b/lld/lib/ReaderWriter/MachO/MachONormalizedFileFromAtoms.cpp @@ -58,7 +58,7 @@ struct SectionInfo { uint32_t attributes; uint64_t address; uint64_t size; - uint32_t alignment; + PowerOf2 alignment; std::vector<AtomInfo> atomsAndOffsets; uint32_t normalizedSectionIndex; uint32_t finalSectionIndex; @@ -69,7 +69,7 @@ SectionInfo::SectionInfo(StringRef sg, StringRef sct, SectionType t, : segmentName(sg), sectionName(sct), type(t), attributes(attrs), address(0), size(0), alignment(0), normalizedSectionIndex(0), finalSectionIndex(0) { - uint8_t align; + PowerOf2 align(0); if (ctxt.sectionAligned(segmentName, sectionName, align)) { alignment = align; } @@ -142,7 +142,7 @@ private: void appendSection(SectionInfo *si, NormalizedFile &file); uint32_t sectionIndexForAtom(const Atom *atom); - static uint64_t alignTo(uint64_t value, uint8_t align2); + static uint64_t alignTo(uint64_t value, PowerOf2 align2); typedef llvm::DenseMap<const Atom*, uint32_t> AtomToIndex; struct AtomAndIndex { const Atom *atom; uint32_t index; SymbolScope scope; }; struct AtomSorter { @@ -453,7 +453,7 @@ void Util::organizeSections() { } -uint64_t Util::alignTo(uint64_t value, uint8_t align2) { +uint64_t Util::alignTo(uint64_t value, PowerOf2 align2) { return llvm::RoundUpToAlignment(value, 1 << align2); } @@ -1235,4 +1235,3 @@ normalizedFromAtoms(const lld::File &atomFile, } // namespace normalized } // namespace mach_o } // namespace lld - |