From: Russell Keith-Magee <russ...@keith-magee.com>

  * Normalise the watchOS CPU architecture descriptor used by
    Apple (`arm64_32`).
  * Accept the `-simulator` suffix for descriptors for iOS, tvOS and
    watchOS.

The following is the list of compiler triples generated by Apple's
clang toolchains for iOS 12.0, tvOS 9.0, and watchOS 4.0:

  * `arm64-apple-ios12.0`
  * `x86_64-apple-ios12.0-simulator`
  * `arm64-apple-ios12.0-simulator`
  * `arm64-apple-tvos9.0`
  * `x86_64-apple-tvos9.0-simulator`
  * `arm64-apple-tvos9.0-simulator`
  * `arm64_32-apple-watchos4.0`
  * `arm64-apple-watchos4.0-simulator`

The `-simulator` suffix is significant because iOS devices and iOS
simulators have a different ABI.  It is therefore essential that these
can be differentiated in a compiler triple.
---
 config.sub | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/config.sub b/config.sub
index 4aaae46..335706d 100755
--- a/config.sub
+++ b/config.sub
@@ -4,7 +4,7 @@
 
 # shellcheck disable=SC2006,SC2268,SC2162 # see below for rationale
 
-timestamp='2024-05-27'
+timestamp='2025-01-06'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -1194,7 +1194,7 @@ case $cpu-$vendor in
        xscale-* | xscalee[bl]-*)
                cpu=`echo "$cpu" | sed 's/^xscale/arm/'`
                ;;
-       arm64-* | aarch64le-*)
+       arm64-* | aarch64le-* | arm64_32-*)
                cpu=aarch64
                ;;
 
@@ -2249,6 +2249,8 @@ case $kernel-$os-$obj in
                ;;
        *-eabi*- | *-gnueabi*-)
                ;;
+       ios*-simulator- | tvos*-simulator- | watchos*-simulator- )
+               ;;
        none--*)
                # None (no kernel, i.e. freestanding / bare metal),
                # can be paired with an machine code file format
-- 
2.47.1


Reply via email to