summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Object/MachOObjectFile.cpp
diff options
context:
space:
mode:
authorJim Grosbach <grosbach@apple.com>2014-03-18 22:09:05 +0000
committerJim Grosbach <grosbach@apple.com>2014-03-18 22:09:05 +0000
commit448334a738408b08b9472f7ec15cc331f108e7bf (patch)
tree81f42e7bd67948b0eb8b56dad265a591d0aa533c /llvm/lib/Object/MachOObjectFile.cpp
parent79f91c595dc5eba449f3313e88ea0f2761566074 (diff)
downloadbcm5719-llvm-448334a738408b08b9472f7ec15cc331f108e7bf.tar.gz
bcm5719-llvm-448334a738408b08b9472f7ec15cc331f108e7bf.zip
Darwin: Add assembler directives to create version-min load commands.
Allow object files to be tagged with a version-min load command for iOS or MacOSX. Teach macho-dump to understand the version-min load commands for testcases. rdar://11337778 llvm-svn: 204190
Diffstat (limited to 'llvm/lib/Object/MachOObjectFile.cpp')
-rw-r--r--llvm/lib/Object/MachOObjectFile.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/llvm/lib/Object/MachOObjectFile.cpp b/llvm/lib/Object/MachOObjectFile.cpp
index 450693f64e1..6b1dd875958 100644
--- a/llvm/lib/Object/MachOObjectFile.cpp
+++ b/llvm/lib/Object/MachOObjectFile.cpp
@@ -214,6 +214,14 @@ void SwapStruct(MachO::linker_options_command &C) {
}
template<>
+void SwapStruct(MachO::version_min_command&C) {
+ SwapValue(C.cmd);
+ SwapValue(C.cmdsize);
+ SwapValue(C.version);
+ SwapValue(C.reserved);
+}
+
+template<>
void SwapStruct(MachO::data_in_code_entry &C) {
SwapValue(C.offset);
SwapValue(C.length);
@@ -1467,6 +1475,11 @@ MachOObjectFile::getLinkerOptionsLoadCommand(const LoadCommandInfo &L) const {
return getStruct<MachO::linker_options_command>(this, L.Ptr);
}
+MachO::version_min_command
+MachOObjectFile::getVersionMinLoadCommand(const LoadCommandInfo &L) const {
+ return getStruct<MachO::version_min_command>(this, L.Ptr);
+}
+
MachO::any_relocation_info
MachOObjectFile::getRelocation(DataRefImpl Rel) const {
const char *P = reinterpret_cast<const char *>(Rel.p);
OpenPOWER on IntegriCloud