summaryrefslogtreecommitdiffstats
path: root/lld/lib/ReaderWriter/MachO/MachONormalizedFileBinaryReader.cpp
diff options
context:
space:
mode:
authorJean-Daniel Dupas <devlists@shadowlab.org>2014-12-20 09:22:56 +0000
committerJean-Daniel Dupas <devlists@shadowlab.org>2014-12-20 09:22:56 +0000
commitedefcccd46355a27e802bdd72314d867433cbb04 (patch)
tree7938dd682099e0c455d4b4c3208c27659168ee5f /lld/lib/ReaderWriter/MachO/MachONormalizedFileBinaryReader.cpp
parent968a21de24d5deedaa2247ded2c665aa197f2927 (diff)
downloadbcm5719-llvm-edefcccd46355a27e802bdd72314d867433cbb04.tar.gz
bcm5719-llvm-edefcccd46355a27e802bdd72314d867433cbb04.zip
[macho] Minor install_name fixes
Summary: Fix the binary file reader to properly read dyld version info. Update the install_name test case to properly test the binary reader. We can't use '-print_atoms' as the output format is 'native' yaml and it does not contains the dyld current and compatibility versions. Also change the timestamp value of LD_ID_DYLD to match the one generated by ld64. The dynamic linker (dyld) used to expects different values for timestamp in LD_ID_DYLD and LD_LOAD_DYLD for prebound images. While prebinding is deprecated, we should probably keep it safe and match ld64. Reviewers: kledzik Subscribers: llvm-commits Projects: #lld Differential Revision: http://reviews.llvm.org/D6736 llvm-svn: 224681
Diffstat (limited to 'lld/lib/ReaderWriter/MachO/MachONormalizedFileBinaryReader.cpp')
-rw-r--r--lld/lib/ReaderWriter/MachO/MachONormalizedFileBinaryReader.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/lld/lib/ReaderWriter/MachO/MachONormalizedFileBinaryReader.cpp b/lld/lib/ReaderWriter/MachO/MachONormalizedFileBinaryReader.cpp
index ef8ad1d3325..84bf400558d 100644
--- a/lld/lib/ReaderWriter/MachO/MachONormalizedFileBinaryReader.cpp
+++ b/lld/lib/ReaderWriter/MachO/MachONormalizedFileBinaryReader.cpp
@@ -437,6 +437,8 @@ readBinary(std::unique_ptr<MemoryBuffer> &mb,
case LC_ID_DYLIB: {
const dylib_command *dl = reinterpret_cast<const dylib_command*>(lc);
f->installName = lc + read32(&dl->dylib.name, isBig);
+ f->currentVersion = read32(&dl->dylib.current_version, isBig);
+ f->compatVersion = read32(&dl->dylib.compatibility_version, isBig);
}
break;
case LC_DATA_IN_CODE: {
OpenPOWER on IntegriCloud