diff --git a/Lib/sysconfig/__init__.py b/Lib/sysconfig/__init__.py
index 8ff9c99435bb1aa..1f780bc8f44ec00 100644
--- a/Lib/sysconfig/__init__.py
+++ b/Lib/sysconfig/__init__.py
@@ -665,12 +665,17 @@ def get_platform():
For other non-POSIX platforms, currently just returns :data:`sys.platform`."""
if os.name == 'nt':
+ # Check for architecture in sys.version first, then fall back to sys.maxsize
+ # which is reliable even when sys.version is truncated (e.g., clang builds on Windows)
if 'amd64' in sys.version.lower():
return 'win-amd64'
- if '(arm)' in sys.version.lower():
- return 'win-arm32'
+ if sys.maxsize > 2**32:
+ # 64-bit Windows where sys.version may be truncated
+ return 'win-amd64'
if '(arm64)' in sys.version.lower():
return 'win-arm64'
+ if '(arm)' in sys.version.lower():
+ return 'win-arm32'
return sys.platform
if os.name != "posix" or not hasattr(os, 'uname'):
diff --git a/Mac/PythonLauncher/Info.plist.in b/Mac/PythonLauncher/Info.plist.in
index ce8f27cd7d4de70..0d090f5a1fef1e7 100644
--- a/Mac/PythonLauncher/Info.plist.in
+++ b/Mac/PythonLauncher/Info.plist.in
@@ -57,6 +57,10 @@
%VERSION%
CFBundleSignature
PytL
+ CFBundleSupportedPlatforms
+
+ MacOSX
+
CFBundleVersion
%VERSION%
NSMainNibFile