diff options
author | Tim Northover <tnorthover@apple.com> | 2015-10-28 22:36:05 +0000 |
---|---|---|
committer | Tim Northover <tnorthover@apple.com> | 2015-10-28 22:36:05 +0000 |
commit | 2d4d1615197efeb044f62d6a8721704839cd5337 (patch) | |
tree | 80c103f916b365a001660bd021d2130c367b34b9 /llvm/lib/MC/MachObjectWriter.cpp | |
parent | 748b3ffe3b8d83e2405e41c572cc19bc9f211053 (diff) | |
download | bcm5719-llvm-2d4d1615197efeb044f62d6a8721704839cd5337.tar.gz bcm5719-llvm-2d4d1615197efeb044f62d6a8721704839cd5337.zip |
ARM: support .watchos_version_min and .tvos_version_min.
These MachO file directives are used by linkers and other tools to provide
compatibility information, much like the existing .ios_version_min and
.macosx_version_min.
llvm-svn: 251569
Diffstat (limited to 'llvm/lib/MC/MachObjectWriter.cpp')
-rw-r--r-- | llvm/lib/MC/MachObjectWriter.cpp | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/llvm/lib/MC/MachObjectWriter.cpp b/llvm/lib/MC/MachObjectWriter.cpp index 17023d82d62..324385fa132 100644 --- a/llvm/lib/MC/MachObjectWriter.cpp +++ b/llvm/lib/MC/MachObjectWriter.cpp @@ -815,8 +815,22 @@ void MachObjectWriter::writeObject(MCAssembler &Asm, assert(VersionInfo.Major < 65536 && "unencodable major target version"); uint32_t EncodedVersion = VersionInfo.Update | (VersionInfo.Minor << 8) | (VersionInfo.Major << 16); - write32(VersionInfo.Kind == MCVM_OSXVersionMin ? MachO::LC_VERSION_MIN_MACOSX : - MachO::LC_VERSION_MIN_IPHONEOS); + MachO::LoadCommandType LCType; + switch (VersionInfo.Kind) { + case MCVM_OSXVersionMin: + LCType = MachO::LC_VERSION_MIN_MACOSX; + break; + case MCVM_IOSVersionMin: + LCType = MachO::LC_VERSION_MIN_IPHONEOS; + break; + case MCVM_TvOSVersionMin: + LCType = MachO::LC_VERSION_MIN_TVOS; + break; + case MCVM_WatchOSVersionMin: + LCType = MachO::LC_VERSION_MIN_WATCHOS; + break; + } + write32(LCType); write32(sizeof(MachO::version_min_command)); write32(EncodedVersion); write32(0); // reserved. |