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 {
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 {
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 {
// `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();