Index: runtime/cmake/config-ix.cmake =================================================================== --- runtime/cmake/config-ix.cmake +++ runtime/cmake/config-ix.cmake @@ -239,7 +239,7 @@ if( # hardware architecture supported? ((LIBOMP_ARCH STREQUAL x86_64) OR (LIBOMP_ARCH STREQUAL i386) OR -# (LIBOMP_ARCH STREQUAL arm) OR + (LIBOMP_ARCH STREQUAL arm) OR (LIBOMP_ARCH STREQUAL aarch64) OR (LIBOMP_ARCH STREQUAL ppc64le) OR (LIBOMP_ARCH STREQUAL ppc64)) Index: runtime/src/kmp_ftn_entry.h =================================================================== --- runtime/src/kmp_ftn_entry.h +++ runtime/src/kmp_ftn_entry.h @@ -345,7 +345,7 @@ } #if OMP_50_ENABLED -int FTN_STDCALL FTN_CONTROL_TOOL(uint64_t command, uint64_t modifier, +int FTN_STDCALL FTN_CONTROL_TOOL(int command, int modifier, void *arg) { #if defined(KMP_STUB) || !OMPT_SUPPORT return -2; Index: runtime/test/ompt/callback.h =================================================================== --- runtime/test/ompt/callback.h +++ runtime/test/ompt/callback.h @@ -118,8 +118,8 @@ #define print_possible_return_addresses(addr) \ printf("%" PRIu64 ": current_address=%p\n", ompt_get_thread_data()->value, \ ((char *)addr) - 8) -#elif KMP_ARCH_AARCH64 -// On AArch64 the NOP instruction is 4 bytes long, can be followed by inserted +#elif KMP_ARCH_ARM || KMP_ARCH_AARCH64 +// On ARM the NOP instruction is 4 bytes long, can be followed by inserted // store instruction (another 4 bytes long). #define print_possible_return_addresses(addr) \ printf("%" PRIu64 ": current_address=%p or %p\n", ompt_get_thread_data()->value, \