Index: lldb/test/API/macosx/simulator/TestSimulatorPlatform.py
===================================================================
--- lldb/test/API/macosx/simulator/TestSimulatorPlatform.py
+++ lldb/test/API/macosx/simulator/TestSimulatorPlatform.py
@@ -23,14 +23,44 @@
               found += 1
         self.assertEquals(found, 1, "wrong load command")
 
-
-    def run_with(self, arch, os, env, expected_load_command):
-        self.build(dictionary={'TRIPLE': arch+'-apple-'+os+'-'+env})
+    def check_debugserver(self, log, expected_platform, expected_version):
+        """scan the debugserver packet log"""
+        logfile = open(log, "r")
+        dylib_info = None
+        reponse = False
+        response = False
+        for line in logfile:
+            if response:
+                while line[0] != '$':
+                    line = line[1:]
+                line = line[1:]
+                # Unescape '}'.
+                dylib_info = json.loads(line.replace('}]','}')[:-4])
+                response = False
+            if 'send packet: $jGetLoadedDynamicLibrariesInfos:{' in line:
+                response = True
+        
+        self.assertTrue(dylib_info)
+        aout_info = None
+        for image in dylib_info['images']:
+            if image['pathname'].endswith('a.out'):
+                aout_info = image
+        self.assertTrue(aout_info)
+        self.assertEquals(aout_info['min_version_os_name'], expected_platform)
+        if expected_version:
+            self.assertEquals(aout_info['min_version_os_sdk'], expected_version)
+
+
+    def run_with(self, arch, os, vers, env, expected_load_command):
+        self.build(dictionary={'TRIPLE': arch+'-apple-'+os+vers+'-'+env})
+        self.check_load_commands(expected_load_command)
+        log = self.getBuildArtifact('packets.log')
+        self.expect("log enable gdb-remote packets -f "+log)
         lldbutil.run_to_source_breakpoint(self, "break here",
                                           lldb.SBFileSpec("hello.c"))
-        self.check_load_commands(expected_load_command)
         self.expect('image list -b -t',
-                    patterns=['a\.out '+arch+'-apple-'+os+'.*-'+env])
+                    patterns=['a\.out '+arch+'-apple-'+os+vers+'.*-'+env])
+        self.check_debugserver(log, os+env, vers)
 
     @skipUnlessDarwin
     @skipIfDarwinEmbedded
@@ -38,7 +68,7 @@
     def test_ios(self):
         """Test running an iOS simulator binary"""
         self.run_with(arch=self.getArchitecture(),
-                      os='ios', env='simulator',
+                      os='ios', vers='', env='simulator',
                       expected_load_command='LC_BUILD_VERSION')
 
     @skipUnlessDarwin
@@ -47,7 +77,7 @@
     def test_tvos(self):
         """Test running an tvOS simulator binary"""
         self.run_with(arch=self.getArchitecture(),
-                      os='tvos', env='simulator',
+                      os='tvos', vers='', env='simulator',
                       expected_load_command='LC_BUILD_VERSION')
 
     @skipUnlessDarwin
@@ -58,7 +88,7 @@
     def test_watchos_i386(self):
         """Test running a 32-bit watchOS simulator binary"""
         self.run_with(arch='i386',
-                      os='watchos', env='simulator',
+                      os='watchos', vers='', env='simulator',
                       expected_load_command='LC_BUILD_VERSION')
 
     @skipUnlessDarwin
@@ -69,7 +99,7 @@
     def test_watchos_armv7k(self):
         """Test running a 32-bit watchOS simulator binary"""
         self.run_with(arch='armv7k',
-                      os='watchos', env='simulator',
+                      os='watchos', vers='', env='simulator',
                       expected_load_command='LC_BUILD_VERSION')
 
 
@@ -90,9 +120,20 @@
         """Test running a back-deploying iOS simulator binary
            with a legacy iOS load command"""
         self.run_with(arch=self.getArchitecture(),
-                      os='ios11.0', env='simulator',
+                      os='ios', vers='11.0', env='simulator',
                       expected_load_command='LC_VERSION_MIN_IPHONEOS')
 
+    @skipUnlessDarwin
+    @skipIfDarwinEmbedded
+    @apple_simulator_test('iphone')
+    @skipIf(archs=['arm64','arm64e'])
+    def test_ios_backdeploy_x86(self):
+        """Test running a back-deploying iOS simulator binary
+           with a legacy iOS load command"""
+        self.run_with(arch=self.getArchitecture(),
+                      os='ios', vers='13.0', env='simulator',
+                      expected_load_command='LC_BUILD_VERSION')
+
     @skipUnlessDarwin
     @skipIfDarwinEmbedded
     @apple_simulator_test('iphone')
@@ -100,7 +141,7 @@
     def test_ios_backdeploy_apple_silicon(self):
         """Test running a back-deploying iOS simulator binary"""
         self.run_with(arch=self.getArchitecture(),
-                      os='ios11.0', env='simulator',
+                      os='ios', vers='11.0', env='simulator',
                       expected_load_command='LC_BUILD_VERSION')
 
     @skipUnlessDarwin
@@ -111,7 +152,7 @@
         """Test running a back-deploying tvOS simulator binary
            with a legacy tvOS load command"""
         self.run_with(arch=self.getArchitecture(),
-                      os='tvos11.0', env='simulator',
+                      os='tvos', vers='11.0', env='simulator',
                       expected_load_command='LC_VERSION_MIN_TVOS')
 
     @skipUnlessDarwin
@@ -121,7 +162,7 @@
     def test_tvos_backdeploy_apple_silicon(self):
         """Test running a back-deploying tvOS simulator binary"""
         self.run_with(arch=self.getArchitecture(),
-                      os='tvos11.0', env='simulator',
+                      os='tvos', vers='11.0', env='simulator',
                       expected_load_command='LC_BUILD_VERSION')
 
     @skipUnlessDarwin
@@ -133,7 +174,7 @@
         """Test running a back-deploying watchOS simulator binary
            with a legacy watchOS load command"""
         self.run_with(arch='i386',
-                      os='watchos4.0', env='simulator',
+                      os='watchos', vers='4.0', env='simulator',
                       expected_load_command='LC_VERSION_MIN_WATCHOS')
 
     @skipUnlessDarwin
@@ -144,5 +185,5 @@
     def test_watchos_backdeploy_apple_silicon(self):
         """Test running a back-deploying watchOS simulator binary"""
         self.run_with(arch='armv7k',
-                      os='watchos4.0', env='simulator',
+                      os='watchos', vers='4.0', env='simulator',
                       expected_load_command='LC_BUILD_VERSION')
Index: lldb/tools/debugserver/source/MacOSX/MachProcess.mm
===================================================================
--- lldb/tools/debugserver/source/MacOSX/MachProcess.mm
+++ lldb/tools/debugserver/source/MacOSX/MachProcess.mm
@@ -614,9 +614,9 @@
                    &vers_cmd) != sizeof(struct version_min_command))
       return;
     info.platform = platform;
-    info.major_version = vers_cmd.sdk >> 16;
-    info.minor_version = (vers_cmd.sdk >> 8) & 0xffu;
-    info.patch_version = vers_cmd.sdk & 0xffu;
+    info.major_version = vers_cmd.version >> 16;
+    info.minor_version = (vers_cmd.version >> 8) & 0xffu;
+    info.patch_version = vers_cmd.version & 0xffu;
     info.maybe_simulator = true;
   };
   switch (cmd) {
@@ -639,9 +639,9 @@
                    &build_vers) != sizeof(struct build_version_command))
       break;
     info.platform = build_vers.platform;
-    info.major_version = build_vers.sdk >> 16;
-    info.minor_version = (build_vers.sdk >> 8) & 0xffu;
-    info.patch_version = build_vers.sdk & 0xffu;
+    info.major_version = build_vers.minos >> 16;
+    info.minor_version = (build_vers.minos >> 8) & 0xffu;
+    info.patch_version = build_vers.minos & 0xffu;
     break;
   }
 #endif