From a3fb45c089b5f97c987865adbaa8ad1cde4224bf Mon Sep 17 00:00:00 2001 From: Rostislav Khlebnikov Date: Mon, 20 May 2024 12:53:09 -0400 Subject: [PATCH] Support Linux on ARM (#4751) --- groups/bdl/CMakeLists.txt | 4 ++-- groups/bsl/bsls/bsls_platform.h | 4 ++-- groups/bsl/bsls/bsls_platform.t.cpp | 12 ++++++++++++ 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/groups/bdl/CMakeLists.txt b/groups/bdl/CMakeLists.txt index 7964959868..f414c2dd7b 100644 --- a/groups/bdl/CMakeLists.txt +++ b/groups/bdl/CMakeLists.txt @@ -15,8 +15,8 @@ bbs_setup_target_uor(${target}) # Custom tweaks for individual packages target_compile_options(bdlde-iface PRIVATE - "$<$,$>:-msse4.2>" - "$<$:-msse4.2>" + "$<$,$>:-msse4.2>" + "$<$,$>:-msse4.2>" "$<$:-xarch=sparc4>" ) diff --git a/groups/bsl/bsls/bsls_platform.h b/groups/bsl/bsls/bsls_platform.h index 2e66198ac3..6b4763ea07 100644 --- a/groups/bsl/bsls/bsls_platform.h +++ b/groups/bsl/bsls/bsls_platform.h @@ -531,9 +531,9 @@ struct bsls_Platform_Assert; #else #define BSLS_PLATFORM_CPU_SPARC_32 1 #endif - #elif defined(__arm__) || defined(__arm64__) + #elif defined(__arm__) || defined(__arm64__) || defined(__aarch64__) #define BSLS_PLATFORM_CPU_ARM 1 - #if defined(__arm64__) + #if defined(__arm64__) || defined(__aarch64__) #define BSLS_PLATFORM_CPU_64_BIT 1 #endif #if defined(__ARM_ARCH) diff --git a/groups/bsl/bsls/bsls_platform.t.cpp b/groups/bsl/bsls/bsls_platform.t.cpp index d8c0c6b204..2f9987f783 100644 --- a/groups/bsl/bsls/bsls_platform.t.cpp +++ b/groups/bsl/bsls/bsls_platform.t.cpp @@ -1762,6 +1762,18 @@ static void printFlags() D_MACRO(__arm__); #endif +#if defined(__arm64__) + P_MACRO(__arm64__); +#else + D_MACRO(__arm64__); +#endif + +#if defined(__aarch64__) + P_MACRO(__aarch64__); +#else + D_MACRO(__aarch64__); +#endif + #if defined(__clang__) P_MACRO(__clang__); #else