From fd2ba8b95d3df48e81fe7b35dbdc80260edaa532 Mon Sep 17 00:00:00 2001 From: Evan Wilde Date: Tue, 20 May 2025 18:46:58 -0700 Subject: [PATCH] Fix the ARM architecture on FreeBSD The 64-bit ARM architecture spelling on FreeBSD is aarch64, not arm64. This results in a build failure about a missing `freebsd/arm64/swiftrt.o` while building the runtimes. --- cmake/modules/SwiftConfigureSDK.cmake | 2 +- utils/build-script-impl | 2 +- utils/swift_build_support/swift_build_support/targets.py | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/cmake/modules/SwiftConfigureSDK.cmake b/cmake/modules/SwiftConfigureSDK.cmake index 11fbebe9659c1..43eaf2e0d49b7 100644 --- a/cmake/modules/SwiftConfigureSDK.cmake +++ b/cmake/modules/SwiftConfigureSDK.cmake @@ -417,7 +417,7 @@ macro(configure_sdk_unix name architectures) message(FATAL_ERROR "unknown arch for ${prefix}: ${arch}") endif() elseif("${prefix}" STREQUAL "FREEBSD") - if(NOT arch MATCHES "(arm64|x86_64)") + if(NOT arch MATCHES "(aarch64|x86_64)") message(FATAL_ERROR "unsupported arch for FreeBSD: ${arch}") endif() diff --git a/utils/build-script-impl b/utils/build-script-impl index f34ccfe34a8cd..ff451cfb43fe1 100755 --- a/utils/build-script-impl +++ b/utils/build-script-impl @@ -461,7 +461,7 @@ function should_execute_host_actions_for_phase() { function verify_host_is_supported() { local host="$1" case ${host} in - freebsd-arm64 \ + freebsd-aarch64 \ | freebsd-x86_64 \ | openbsd-x86_64 \ | openbsd-aarch64 \ diff --git a/utils/swift_build_support/swift_build_support/targets.py b/utils/swift_build_support/swift_build_support/targets.py index 508d6204eaf68..fba09416ddb90 100644 --- a/utils/swift_build_support/swift_build_support/targets.py +++ b/utils/swift_build_support/swift_build_support/targets.py @@ -290,7 +290,7 @@ class StdlibDeploymentTarget(object): "riscv64", "s390x"]) - FreeBSD = Platform("freebsd", archs=["x86_64", "arm64"]) + FreeBSD = Platform("freebsd", archs=["x86_64", "aarch64"]) LinuxStatic = Platform('linux-static', sdk_name='LINUX_STATIC', archs=[ 'x86_64', @@ -399,7 +399,7 @@ def host_target(): if machine == 'amd64': return StdlibDeploymentTarget.FreeBSD.x86_64 elif machine == 'arm64': - return StdlibDeploymentTarget.FreeBSD.arm64 + return StdlibDeploymentTarget.FreeBSD.aarch64 elif system == 'OpenBSD': if machine == 'amd64':