summaryrefslogtreecommitdiffstats
path: root/lld/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lld/lib')
-rw-r--r--lld/lib/Driver/DarwinLdDriver.cpp2
-rw-r--r--lld/lib/ReaderWriter/MachO/MachOLinkingContext.cpp4
-rw-r--r--lld/lib/ReaderWriter/MachO/MachONormalizedFileFromAtoms.cpp9
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
-
OpenPOWER on IntegriCloud