diff --git a/lld/MachO/Writer.cpp b/lld/MachO/Writer.cpp --- a/lld/MachO/Writer.cpp +++ b/lld/MachO/Writer.cpp @@ -133,8 +133,8 @@ LCSubFramework(StringRef umbrella) : umbrella(umbrella) {} uint32_t getSize() const override { - return alignTo(sizeof(sub_framework_command) + umbrella.size() + 1, - target->wordSize); + return alignToPowerOf2(sizeof(sub_framework_command) + umbrella.size() + 1, + target->wordSize); } void writeTo(uint8_t *buf) const override { @@ -388,7 +388,8 @@ explicit LCRPath(StringRef path) : path(path) {} uint32_t getSize() const override { - return alignTo(sizeof(rpath_command) + path.size() + 1, target->wordSize); + return alignToPowerOf2(sizeof(rpath_command) + path.size() + 1, + target->wordSize); } void writeTo(uint8_t *buf) const override { @@ -412,8 +413,8 @@ explicit LCDyldEnv(StringRef name) : name(name) {} uint32_t getSize() const override { - return alignTo(sizeof(dyld_env_command) + name.size() + 1, - target->wordSize); + return alignToPowerOf2(sizeof(dyld_env_command) + name.size() + 1, + target->wordSize); } void writeTo(uint8_t *buf) const override { @@ -1075,8 +1076,8 @@ // `fileOff + fileSize == next segment fileOff`. So we call alignTo() before // (instead of after) computing fileSize to ensure that the segments are // contiguous. We handle addr / vmSize similarly for the same reason. - fileOff = alignTo(fileOff, pageSize); - addr = alignTo(addr, pageSize); + fileOff = alignToPowerOf2(fileOff, pageSize); + addr = alignToPowerOf2(addr, pageSize); seg->vmSize = addr - seg->addr; seg->fileSize = fileOff - seg->fileOff; seg->assignAddressesToStartEndSymbols();