Fix ARMv4T (Thumb1) epilogue generation
[oota-llvm.git] / lib / MC / MCMachOStreamer.cpp
index 03868b00fb8f9f5c03c4a470cf6f0748956c46f5..21f7571eec4a51d9a02473839b9ad2b272748075 100644 (file)
@@ -60,6 +60,7 @@ public:
 
   /// state management
   void reset() override {
+    CreatedADWARFSection = false;
     HasSectionLabel.clear();
     MCObjectStreamer::reset();
   }
@@ -490,10 +491,20 @@ MCStreamer *llvm::createMachOStreamer(MCContext &Context, MCAsmBackend &MAB,
     unsigned Major, Minor, Update;
     TT.getOSVersion(Major, Minor, Update);
     // If there is a version specified, Major will be non-zero.
-    if (Major)
-      S->EmitVersionMin((TT.isMacOSX() ?
-                        MCVM_OSXVersionMin : MCVM_IOSVersionMin),
-                        Major, Minor, Update);
+    if (Major) {
+      MCVersionMinType VersionType;
+      if (TT.isWatchOS())
+        VersionType = MCVM_WatchOSVersionMin;
+      else if (TT.isTvOS())
+        VersionType = MCVM_TvOSVersionMin;
+      else if (TT.isMacOSX())
+        VersionType = MCVM_OSXVersionMin;
+      else {
+        assert(TT.isiOS() && "Must only be iOS platform left");
+        VersionType = MCVM_IOSVersionMin;
+      }
+      S->EmitVersionMin(VersionType, Major, Minor, Update);
+    }
   }
   if (RelaxAll)
     S->getAssembler().setRelaxAll(true);