mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2025-02-09 19:03:27 +00:00
[lld][MachO] Make sure LC_RPATH command size is a multiple of the pointer size.
llvm-svn: 251637
This commit is contained in:
parent
d122fd8d06
commit
2ed3bf9527
@ -429,7 +429,7 @@ uint32_t MachOFileLayout::loadCommandsSize(uint32_t &count) {
|
||||
|
||||
// Add LC_RPATH
|
||||
for (const StringRef &path : _file.rpaths) {
|
||||
size += sizeof(rpath_command) + pointerAlign(path.size()+1);
|
||||
size += pointerAlign(sizeof(rpath_command) + path.size() + 1);
|
||||
++count;
|
||||
}
|
||||
|
||||
@ -855,7 +855,7 @@ std::error_code MachOFileLayout::writeLoadCommands() {
|
||||
// Add LC_RPATH
|
||||
for (const StringRef &path : _file.rpaths) {
|
||||
rpath_command *rpc = reinterpret_cast<rpath_command *>(lc);
|
||||
uint32_t size = sizeof(rpath_command) + pointerAlign(path.size()+1);
|
||||
uint32_t size = pointerAlign(sizeof(rpath_command) + path.size() + 1);
|
||||
rpc->cmd = LC_RPATH;
|
||||
rpc->cmdsize = size;
|
||||
rpc->path = sizeof(rpath_command); // offset
|
||||
|
@ -34,5 +34,5 @@ global-symbols:
|
||||
|
||||
|
||||
# CHECK-BINARY-WRITE: cmd LC_RPATH
|
||||
# CHECK-BINARY-WRITE-NEXT: cmdsize 44
|
||||
# CHECK-BINARY-WRITE-NEXT: cmdsize 40
|
||||
# CHECK-BINARY-WRITE-NEXT: path @loader_path/../Frameworks (offset 12)
|
||||
|
Loading…
x
Reference in New Issue
Block a user